html,body,#root{height:100%}body{color:#fff;background:#9370db;margin:0;font-family:system-ui,sans-serif;overflow:hidden auto}.appLoading{text-align:center;background:radial-gradient(circle at 50% 35%,#ffdf9038,#0000 48%),radial-gradient(circle at 25% 20%,#ffffff14,#0000 44%),#9370db;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;display:flex}.appLoadingSpinner{border:6px solid #ffd166;border-color:#ffd166 #ef476f #ffffff40 #ffffff40;border-radius:999px;width:84px;height:84px;animation:1s linear infinite loadingSpin;box-shadow:0 8px 28px #0000003d}.appLoadingTitle{letter-spacing:.03em;margin:0;font-size:clamp(1.2rem,3.2vw,1.8rem);font-weight:800}.appLoadingSubtitle{opacity:.9;margin:0}.appSceneTransition{min-height:100dvh;overflow:hidden auto}.appSceneTransition.is-entering{animation:.42s cubic-bezier(.2,.85,.3,1) both sceneFadeIn}.appSceneTransition.is-leaving{pointer-events:none;animation:.3s both sceneFadeOut}.appModalBackdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#110a1a9e;place-items:center;padding:20px;animation:.22s both modalBackdropIn;display:grid;position:fixed;inset:0}.appModalCard{color:#31154a;background:linear-gradient(165deg,#fff4d2f0,#f1d4fff0),#fff;border:1px solid #fff9;border-radius:22px;width:min(92%,460px);padding:20px;animation:.3s cubic-bezier(.2,.9,.3,1.15) both modalCardIn;box-shadow:0 24px 52px #00000052,inset 0 1px #ffffffa6}.appModalChip{letter-spacing:.08em;text-transform:uppercase;color:#6f2a81;margin:0;font-size:.75rem;font-weight:800}.appModalTitle{margin:6px 0 8px;font-size:clamp(1.2rem,3.8vw,1.5rem);line-height:1.25}.appModalText{opacity:.9;margin:0}.appModalCodeRow{margin-top:14px;margin-bottom:10px}.appModalCode{letter-spacing:.12em;color:#3d1e6b;background:#ffffff85;border:1px dashed #58298c73;border-radius:12px;justify-content:center;align-items:center;padding:10px 14px;font-size:1.3rem;font-weight:800;display:inline-flex}.appModalError{color:#8a2130;margin:0;font-size:.93rem;font-weight:600}.appModalActions{justify-content:center;gap:8px;margin-top:14px;display:grid}.appModalPrimaryButton,.appModalSecondaryButton{width:100%;margin-top:0}.appModalCancelButton{color:#603486;cursor:pointer;background:0 0;border:none;padding:8px;font-weight:700}.appModalCancelButton:hover{text-decoration:underline}.stagePhotoBadge{z-index:35;pointer-events:none;position:fixed;top:14px;right:14px}.stagePhotoBadgeImage{aspect-ratio:4/5;object-fit:cover;border:2px solid #ffffff8c;border-radius:16px;width:clamp(74px,12vw,110px);box-shadow:0 10px 20px #0000004d,inset 0 1px #ffffff59}.floatingPotatoBuddy{z-index:45;justify-items:end;gap:8px;display:grid;position:fixed;bottom:14px;right:14px}.floatingPotatoMessage{color:#2d1647;background:#fff7def5;border:1px solid #ffffffb3;border-radius:14px;max-width:min(78vw,250px);margin:0;padding:10px 12px;font-size:.92rem;line-height:1.35;animation:.22s ease-out both potatoMessageIn;box-shadow:0 10px 18px #0000003d}.floatingPotatoButton{cursor:pointer;background:linear-gradient(#ffd89e,#f3b85f);border:1px solid #ffffff73;border-radius:999px;width:56px;height:56px;font-size:1.7rem;animation:2.8s ease-in-out infinite potatoBuddyFloat;box-shadow:0 10px 18px #00000047,inset 0 1px #ffffff59}.floatingPotatoButton:hover{transform:translateY(-2px)scale(1.03)}.floatingPotatoButton:focus-visible{outline-offset:3px;outline:2px solid #ffd57a}.sceneLayout{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100dvh;padding:24px;display:flex;position:relative;overflow-x:hidden}.sceneLayout:before{content:"";pointer-events:none;background:radial-gradient(circle at 50% 35%,#ffd3782e,#0000 48%),radial-gradient(circle at 18% 18%,#ffffff0d,#0000 42%);position:absolute;inset:0}.sceneTitle,.sceneIllustration,.sceneBody,.sceneActions{z-index:1;position:relative}.sceneBody{gap:8px;max-width:560px;display:grid}.sceneActions{margin-top:10px}.sceneHeading{letter-spacing:.02em;margin:0;font-size:clamp(1.7rem,4vw,2.4rem)}.sceneCopy{opacity:.92;margin:0;font-size:clamp(1rem,2.4vw,1.1rem);line-height:1.5}.sceneReveal{opacity:0;filter:blur(6px);transition:opacity .52s,transform .64s cubic-bezier(.22,1,.36,1),filter .52s;transform:translateY(12px)}.sceneReveal.is-visible,.sceneHeading.is-visible,.sceneCopy.is-visible{opacity:1;filter:blur();transform:translateY(0)}.scenePrimaryButton{color:#2f1d0d;cursor:pointer;background:linear-gradient(#ffdd8d,#f5b74b);border:1px solid #ffffff1a;border-radius:14px;margin-top:18px;padding:12px 20px;font-weight:700;transition:transform .18s,box-shadow .18s,opacity .22s,background .18s;box-shadow:0 10px 20px #0000003d}.scenePrimaryButton:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 14px 24px #00000047}.scenePrimaryButton:active:not(:disabled){transform:translateY(0);box-shadow:0 8px 14px #0003}.scenePrimaryButton:focus-visible{outline-offset:3px;outline:2px solid #ffd57a}.scenePrimaryButton:disabled{pointer-events:none;opacity:.5}.birthdayArcWrap{flex-direction:column;align-items:center;margin-bottom:-8px;display:flex}.birthdayArc{opacity:0;filter:blur(6px);width:min(92vw,700px);margin-bottom:-6px;transition:opacity .54s,transform .78s cubic-bezier(.22,1,.36,1),filter .54s;transform:translateY(8px)scale(.92)}.birthdayArc.is-visible{opacity:1;filter:blur();transform:translateY(0)scale(1)}.birthdayArc svg{width:100%;display:block}.birthdayArc text{letter-spacing:7px;fill:#fff4cf;stroke:#5b1e80cc;stroke-width:8px;paint-order:stroke fill;text-transform:uppercase;filter:drop-shadow(0 8px 12px #0000003d);font-size:56px;font-weight:900}.birthdayArcSub{width:min(70vw,450px);margin-top:-72px;transition-delay:.14s}.birthdayArcSub text{letter-spacing:5px;fill:#fff8d9;stroke:#5b1e80b8;stroke-width:6px;font-size:38px}.introPotatoWrap{opacity:0;animation:.9s cubic-bezier(.18,.89,.32,1.28) .12s forwards introPotatoIn;transform:translateY(20px)scale(.9)rotate(-6deg)}.introButton{opacity:0;transition:opacity .46s,transform .56s cubic-bezier(.22,1,.36,1);transform:translateY(10px)scale(.95)}.introButton.is-visible{opacity:1;animation:.76s cubic-bezier(.2,.85,.2,1.25) 40ms both introButtonPop;transform:translateY(0)scale(1)}.cameraHeadingWrap{justify-items:center;gap:10px;display:grid}.cameraTitleChip{letter-spacing:.08em;color:#fff8d9;background:#5b1e8066;border:1px solid #ffe6a773;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:800;display:inline-flex;box-shadow:0 8px 16px #0003}.cameraTitleMain{letter-spacing:.01em;color:#fff4cf;text-shadow:0 5px 14px #00000047,0 0 18px #ffdb7e4d;margin:0;font-size:clamp(2rem,4.6vw,3rem)}.cameraScene .sceneBody{margin-top:2px}.locationScene .sceneBody{margin-top:4px}.cameraMissionCardFrame{width:min(92vw,560px)}.cameraMissionCard{transform-origin:top;background:linear-gradient(160deg,#fff4cf38,#ffbc6229),#5428785c;border:1px solid #fff0cf73;border-radius:20px;padding:16px 20px;animation:5.2s ease-in-out infinite polaroidWobble;position:relative;box-shadow:0 14px 28px #0003,inset 0 1px #ffffff40}.cameraMissionCard:after{content:"";background:#ffffff80;border-radius:4px;width:58px;height:18px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-2deg);box-shadow:0 3px 8px #00000026}.cameraMissionLead{color:#fff8de;margin:0 0 8px;font-size:clamp(1.08rem,2.6vw,1.2rem);font-weight:700}.cameraMissionHint{opacity:.92;margin:0}.cameraIllustrationWrap{margin-top:6px}.locationHeadingWrap{justify-items:center;gap:10px;display:grid}.locationStepLabel{letter-spacing:.08em;text-transform:uppercase;opacity:.84;margin:0;font-size:.8rem;font-weight:700}.locationTitleChip{letter-spacing:.08em;color:#fff8d9;border-radius:999px;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:800;display:inline-flex;box-shadow:0 8px 16px #0003}.locationTitleMain{letter-spacing:.01em;margin:0;font-size:clamp(2rem,4.4vw,2.9rem)}.locationScene--escape .locationTitleChip{background:#28625775;border:1px solid #bfffe77a}.locationScene--escape .locationTitleMain{color:#f3ffdc;text-shadow:0 5px 14px #00000047,0 0 18px #beffe647}.locationScene--park .locationTitleChip{background:#44784c80;border:1px solid #d8ffb080}.locationScene--park .locationTitleMain{color:#eaffde;text-shadow:0 5px 14px #00000047,0 0 18px #d7ffa74d}.locationIllustrationWrap{margin-top:6px}.treasureNav{place-items:center;width:320px;height:230px;display:grid;position:relative}.treasureMapSheet{background:linear-gradient(155deg,#fff6dc 0%,#f9ddb4 42%,#efbc88 100%);border-radius:16px;width:280px;height:170px;animation:3.2s ease-in-out infinite mapFloat;position:relative;overflow:hidden;transform:rotate(-2deg);box-shadow:0 16px 30px #00000040,inset 0 1px #ffffffa8}.treasureMapSheet:before{content:"";border:2px dashed #7e4e2573;border-radius:10px;position:absolute;inset:10px}.treasureRouteSvg{width:100%;height:100%;position:absolute;inset:0}.treasureRoute{fill:none;stroke:#924f1e;stroke-width:5px;stroke-linecap:round;stroke-dasharray:7 10;animation:9s linear infinite routeDash}.treasureMarkerStart,.treasureMarkerGoal,.treasureX{filter:drop-shadow(0 4px 6px #0003);font-size:1.35rem;position:absolute}.treasureMarkerStart{bottom:22px;left:16px}.treasureMarkerGoal{animation:1.8s ease-in-out infinite goalTwinkle;top:38px;right:18px}.treasureX{color:#7b1a1a;font-size:1.5rem;font-weight:900;top:78px;left:118px}.treasureCompass{background:radial-gradient(circle at 35% 30%,#fff 0%,#f7e6bf 48%,#e5b57b 100%);border-radius:50%;width:92px;height:92px;animation:2.8s ease-in-out infinite compassBob;position:absolute;bottom:4px;right:-4px;box-shadow:0 10px 18px #0000003d,inset 0 0 0 6px #72432280}.treasureCompassNeedle{transform-origin:50% 85%;background:linear-gradient(#e53d3d 0%,#2e4aa8 100%);border-radius:5px;width:6px;height:34px;animation:2.2s ease-in-out infinite compassNeedle;position:absolute;top:50%;left:50%;transform:translate(-50%,-86%)rotate(16deg)}.locationScene--park .treasureMapSheet{background:linear-gradient(155deg,#f2ffdc 0%,#d9efb1 42%,#a6cf83 100%)}.locationScene--park .treasureRoute{stroke:#367a3d}.locationScene--park .treasureCompass{background:radial-gradient(circle at 35% 30%,#fff 0%,#ebffd2 48%,#b5dc8e 100%)}.locationScene--park .locationMissionCard{background:linear-gradient(160deg,#dcffd233,#98d8a729),#3c6c5057;border-color:#c9ffbe6b}.locationMissionCard{background:linear-gradient(160deg,#d2fff533,#a0dfff29),#2d4b7457;border:1px solid #d2ffeb6b;border-radius:20px;width:min(92vw,560px);padding:16px 20px;box-shadow:0 14px 28px #0003,inset 0 1px #ffffff40}.locationMissionLead{color:#f0fff6;margin:0 0 8px;font-size:clamp(1.08rem,2.6vw,1.2rem);font-weight:700}.locationMissionHint{opacity:.92;margin:0}.locationActions{justify-items:center;gap:10px;display:grid}.locationDirectionsButton{justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.locationLoadingInline{justify-content:center;align-items:center;gap:10px;display:inline-flex}.locationCheckSpinner{flex:none;place-items:center;width:22px;height:22px;display:inline-grid;position:relative}.locationCheckSpinnerRing{border:2px dashed #39155799;border-radius:50%;animation:1s linear infinite locationSpinnerSpin;position:absolute;inset:0}.locationCheckSpinnerNeedle{transform-origin:50% 86%;background:linear-gradient(#e53d3d 0%,#2e4aa8 100%);border-radius:2px;width:2px;height:10px;animation:1s ease-in-out infinite locationSpinnerNeedle;position:absolute;transform:translateY(-2px)rotate(14deg)}.locationCheckSpinnerDot{background:#2b1344;border-radius:50%;width:5px;height:5px}.sceneSecondaryButton{color:#2b1344;background:linear-gradient(#ebd7ff,#c5a2ff)}.dinnerScene .sceneBody{margin-top:4px}.dinnerHeadingWrap{justify-items:center;gap:10px;display:grid}.dinnerTitleChip{letter-spacing:.08em;color:#fff8e1;background:#893e526b;border:1px solid #ffd6e27a;border-radius:999px;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:800;display:inline-flex;box-shadow:0 8px 16px #0003}.dinnerTitleMain{letter-spacing:.01em;color:#fff3db;text-shadow:0 5px 14px #00000047,0 0 20px #ffc28154;margin:0;font-size:clamp(2rem,4.5vw,2.9rem)}.dinnerIllustrationWrap{margin-top:8px}.dinnerIllustration{place-items:end center;width:320px;height:235px;display:grid;position:relative}.dinnerGlow{background:radial-gradient(circle,#ffc57f61,#ffc57f00);border-radius:999px;animation:2.8s ease-in-out infinite dinnerGlowPulse;position:absolute;inset:16px 18px 32px}.dinnerTable{background:linear-gradient(#81441f 0%,#5d2f15 100%);border-radius:22px;width:290px;height:120px;position:relative;box-shadow:0 16px 26px #0000004d,inset 0 3px 6px #ffdab42e}.dinnerPlate{background:radial-gradient(circle,#fff 0%,#f0f0f0 52%,#cfcfcf 100%);border-radius:50%;width:118px;height:118px;position:absolute;top:50%;left:50%;transform:translate(-50%,-38%);box-shadow:0 8px 14px #00000038}.dinnerPasta{background:repeating-radial-gradient(circle,#f5b74b 0 6px,#e8952a 6px 12px);border-radius:50%;width:62px;height:62px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:inset 0 1px 4px #71360c47}.dinnerGlass{background:linear-gradient(#ffffff38,#bfdbff24);border:2px solid #ffffff59;border-radius:0 0 10px 10px;width:30px;height:56px;position:absolute;top:22px}.dinnerGlass:after{content:"";background:#ecf5ff61;border-radius:0 0 8px 8px;height:14px;position:absolute;bottom:-16px;left:8px;right:8px}.dinnerGlassLeft{left:30px}.dinnerGlassRight{right:30px}.dinnerCandle{background:linear-gradient(#ffe9ba 0%,#f1cd91 100%);border-radius:9px;width:22px;height:54px;position:absolute;top:-52px;left:50%;transform:translate(-50%);box-shadow:0 8px 12px #0003}.dinnerCandle:before{content:"";background:#ffffff47;border-radius:10px;position:absolute;inset:8px 7px 14px}.dinnerFlame{background:radial-gradient(circle at 50% 35%,#fffad2 0%,#ffca6f 50%,#ff8f1f 100%);border-radius:50% 50% 55% 55%;width:14px;height:22px;animation:1.3s ease-in-out infinite candleFlicker;position:absolute;top:-18px;left:50%;transform:translate(-50%);box-shadow:0 0 16px #ffc26dcc}.dinnerHeart{color:#ffebf5f2;opacity:0;animation:3.2s ease-in-out infinite dinnerHeartFloat;position:absolute}.dinnerHeart1{animation-delay:0s;bottom:88px;left:42px}.dinnerHeart2{animation-delay:.82s;bottom:96px;right:56px}.dinnerHeart3{animation-delay:1.44s;bottom:112px;left:50%;transform:translate(-50%)}.dinnerMissionCard{background:linear-gradient(160deg,#ffe6c233,#ffb0b029),#74344e57;border:1px solid #ffe3be70;border-radius:20px;width:min(92vw,560px);padding:16px 20px;box-shadow:0 14px 28px #0003,inset 0 1px #ffffff40}.dinnerMissionLead{color:#fff7e8;margin:0 0 8px;font-size:clamp(1.08rem,2.6vw,1.2rem);font-weight:700}.dinnerMissionHint{opacity:.92;margin:0}.completeScene .sceneBody{margin-top:4px}.completeHeadingWrap{justify-items:center;gap:10px;display:grid}.completeTitleChip{letter-spacing:.08em;color:#fff4dc;background:#91346770;border:1px solid #ffd8ed85;border-radius:999px;align-items:center;padding:6px 12px;font-size:.8rem;font-weight:800;display:inline-flex;box-shadow:0 8px 16px #0003}.completeTitleMain{letter-spacing:.01em;color:#ffe6f1;text-shadow:0 5px 14px #00000047,0 0 20px #ffadd957;margin:0;font-size:clamp(2rem,4.4vw,2.9rem)}.completeIllustrationWrap{margin-top:8px}.completeIllustration{place-items:center;width:280px;height:180px;display:grid;position:relative}.completeEnvelope{background:linear-gradient(#fff1dc 0%,#f6d3b0 100%);border-radius:14px;width:210px;height:130px;position:relative;box-shadow:0 14px 26px #00000040,inset 0 1px #ffffffb8}.completeEnvelopeFlap{border-top:68px solid #f2c39b;border-left:105px solid #0000;border-right:105px solid #0000;width:0;height:0;margin:0 auto;position:absolute;top:0;left:0;right:0}.completeEnvelopeSeal{color:#ffe9f1;background:linear-gradient(#d44b7f 0%,#9f2355 100%);border-radius:50%;place-items:center;width:38px;height:38px;font-size:1.1rem;animation:2.4s ease-in-out infinite completeSealPulse;display:grid;position:absolute;top:44px;left:50%;transform:translate(-50%);box-shadow:0 6px 12px #0000003d}.completeHeart{color:#ffedf5f2;opacity:0;animation:3.4s ease-in-out infinite completeHeartFloat;position:absolute}.completeHeart1{animation-delay:0s;bottom:42px;left:28px}.completeHeart2{animation-delay:.92s;bottom:50px;right:30px}.completeHeart3{animation-delay:1.62s;bottom:24px;left:50%;transform:translate(-50%)}.completeLetterCard{text-align:left;background:linear-gradient(160deg,#ffe9f433,#ffbad024),#71305761;border:1px solid #ffdceb73;border-radius:20px;width:min(92vw,620px);padding:20px 20px 18px;box-shadow:0 16px 32px #00000038,inset 0 1px #ffffff42}.completeLetterTitle{color:#fff3f8;margin:0 0 12px;font-size:clamp(1.3rem,3.6vw,1.7rem)}.completeLetterText{margin:0 0 10px;line-height:1.6}.completeLetterSignoff{margin-top:14px;margin-bottom:0}.completeSignature{color:#ffe8f3;margin-top:4px;font-size:1.1rem;font-weight:800}.disposableCamera{width:280px;height:180px;animation:2.8s ease-in-out infinite cameraBob;position:relative}.cameraStrap{transform-origin:bottom;border:6px solid #ffdd8dd9;border-bottom:none;border-radius:110px 110px 0 0;width:220px;height:74px;animation:3s ease-in-out infinite cameraStrapSway;position:absolute;top:-20px;left:28px}.cameraBodyShell{background:linear-gradient(#ffe7b0 0%,#f5bd67 42%,#d79142 100%);border-radius:18px;position:absolute;inset:22px 0 0;box-shadow:0 14px 28px #00000047,inset 0 5px 12px #ffffff59,inset 0 -10px 14px #78431740}.cameraTopBar{background:#592c126b;border-radius:10px;height:16px;position:absolute;top:14px;left:18px;right:18px}.cameraFlash{background:#fff7d7;border-radius:7px;width:42px;height:26px;position:absolute;top:54px;left:26px;box-shadow:inset 0 -4px 8px #0000002e}.cameraFlash:after{content:"";opacity:0;background:radial-gradient(circle,#ffffd6cc,#ffffd600);border-radius:10px;animation:2.6s ease-in-out infinite cameraFlashPulse;position:absolute;inset:-16px;transform:scale(.2)}.cameraViewfinder{background:#53321bb3;border-radius:6px;width:32px;height:20px;position:absolute;top:57px;right:30px}.cameraLens{background:radial-gradient(circle,#f7f7f7 0%,#d8d8d8 42%,#595959 100%);border-radius:50%;width:96px;height:96px;position:absolute;top:60px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000047,inset 0 0 0 8px #2f2f2f,inset 0 0 0 16px #848484}.cameraLensInner{background:radial-gradient(circle at 35% 30%,#8bd7ff 0%,#0f3559 60%,#051423 100%);border-radius:50%;animation:3.4s ease-in-out infinite cameraLensShimmer;position:absolute;inset:25px}.cameraCounter{color:#ffedb2;background:#2f1d0d;border-radius:8px;place-items:center;width:48px;height:28px;font-weight:800;display:grid;position:absolute;bottom:24px;right:20px}.cameraShutterButton{background:#6e3f1c;border-radius:8px;width:34px;height:12px;animation:2.8s ease-in-out infinite cameraShutterNudge;position:absolute;top:8px;right:24px}.scenePlaceholder{font-size:4rem;line-height:1}@keyframes loadingSpin{to{transform:rotate(360deg)}}@keyframes sceneFadeIn{0%{opacity:0;filter:blur(6px);transform:translateY(10px)scale(.985)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}@keyframes sceneFadeOut{0%{opacity:1;filter:blur();transform:translateY(0)scale(1)}to{opacity:0;filter:blur(5px);transform:translateY(-8px)scale(.988)}}@keyframes modalBackdropIn{0%{opacity:0}to{opacity:1}}@keyframes modalCardIn{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes potatoBuddyFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes potatoMessageIn{0%{opacity:0;transform:translateY(6px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes polaroidWobble{0%,to{transform:rotate(-1.2deg)translateY(0)}25%{transform:rotate(1.4deg)translateY(-1px)}50%{transform:rotate(-.6deg)translateY(1px)}75%{transform:rotate(1deg)translateY(-1px)}}@keyframes introPotatoIn{0%{opacity:0;transform:translateY(20px)scale(.9)rotate(-6deg)}55%{opacity:1;transform:translateY(-8px)scale(1.04)rotate(2deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes introButtonPop{0%{transform:translateY(12px)scale(.92)}55%{transform:translateY(-2px)scale(1.06)}to{transform:translateY(0)scale(1)}}@keyframes mapFloat{0%,to{transform:rotate(-2deg)translateY(0)}50%{transform:rotate(1.4deg)translateY(-6px)}}@keyframes routeDash{to{stroke-dashoffset:-136px}}@keyframes goalTwinkle{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.16)rotate(8deg)}}@keyframes compassBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes compassNeedle{0%,to{transform:translate(-50%,-86%)rotate(16deg)}50%{transform:translate(-50%,-86%)rotate(-18deg)}}@keyframes locationSpinnerSpin{to{transform:rotate(360deg)}}@keyframes locationSpinnerNeedle{0%,to{transform:translateY(-2px)rotate(14deg)}50%{transform:translateY(-2px)rotate(-18deg)}}@keyframes dinnerGlowPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}@keyframes candleFlicker{0%,to{transform:translate(-50%)scale(1)rotate(-3deg)}30%{transform:translate(-50%)scale(.94,1.06)rotate(3deg)}60%{transform:translate(-50%)scale(1.06,.94)rotate(-2deg)}}@keyframes dinnerHeartFloat{0%{opacity:0;transform:translateY(0)scale(.6)}30%{opacity:1;transform:translateY(-18px)scale(1)}to{opacity:0;transform:translateY(-62px)scale(1.15)}}@keyframes completeSealPulse{0%,to{transform:translate(-50%)scale(1)}50%{transform:translate(-50%)scale(1.08)}}@keyframes completeHeartFloat{0%{opacity:0;transform:translateY(0)scale(.65)}30%{opacity:1;transform:translateY(-14px)scale(1)}to{opacity:0;transform:translateY(-56px)scale(1.15)}}@keyframes cameraBob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-8px)rotate(1.2deg)}}@keyframes cameraStrapSway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(5deg)}}@keyframes cameraFlashPulse{0%,76%,to{opacity:0;transform:scale(.2)}82%{opacity:.95;transform:scale(1.15)}}@keyframes cameraLensShimmer{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.06)rotate(15deg)}}@keyframes cameraShutterNudge{0%,to{transform:translateY(0)}40%{transform:translateY(1px)}45%{transform:translateY(3px)}52%{transform:translateY(0)}}@media (width<=640px){.appModalCard{padding:18px 16px}.appModalCode{letter-spacing:.1em;font-size:1.1rem}.stagePhotoBadge{top:10px;right:10px}.stagePhotoBadgeImage{border-radius:12px;width:72px}.floatingPotatoBuddy{bottom:10px;right:10px}.floatingPotatoButton{width:50px;height:50px;font-size:1.55rem}.floatingPotatoMessage{max-width:min(82vw,220px);font-size:.86rem}.sceneLayout{gap:10px;padding-inline:18px}.birthdayArc{width:min(96vw,560px);margin-bottom:-12px}.birthdayArc text{letter-spacing:5px;stroke-width:6px;font-size:42px}.birthdayArcSub{width:min(82vw,360px);margin-top:-50px}.birthdayArcSub text{letter-spacing:4px;stroke-width:5px}.cameraMissionCard,.locationMissionCard,.dinnerMissionCard,.completeLetterCard{border-radius:16px;padding:14px 16px}.treasureNav{width:280px;height:210px}.treasureMapSheet{width:240px;height:150px}.treasureCompass{width:80px;height:80px}.sceneSecondaryButton{width:100%;max-width:260px}.dinnerIllustration{width:286px;height:218px}.completeIllustration{width:250px;height:170px}.completeEnvelope{width:190px;height:116px}.completeEnvelopeFlap{border-top-width:58px;border-left-width:95px;border-right-width:95px}.dinnerTable{width:254px}.dinnerCandle{top:-48px}.disposableCamera{transform:scale(.9)}.scenePrimaryButton{width:100%;max-width:260px}}.potatoCharacter{place-items:center;width:220px;height:210px;display:grid;position:relative}.potatoBody{transform-origin:bottom;background:radial-gradient(circle at 30% 25%,#ffe0aa 0%,#f5bf71 38%,#cf8b42 100%);border-radius:46% 52% 44% 50%/52% 48% 56% 44%;width:150px;height:182px;animation:2.8s ease-in-out infinite potatoFloat;position:relative;box-shadow:inset -9px -10px 18px #7a472059,inset 9px 12px 18px #fff0d240,0 10px 22px #00000047}.potatoShadow{filter:blur(2px);background:#0000003d;border-radius:50%;width:128px;height:20px;animation:2.8s ease-in-out infinite potatoShadow;position:absolute;bottom:18px}.potatoEye{transform-origin:50% 70%;background:#2f1c10;border-radius:50%;width:14px;height:17px;animation:4s infinite potatoBlink;position:absolute;top:68px}.potatoEye:after{content:"";background:#ffffffe6;border-radius:50%;width:4px;height:4px;position:absolute;top:2px;right:2px}.potatoEyeLeft{left:44px}.potatoEyeRight{right:44px}.potatoMouth{border-bottom:4px solid #5b2f1a;border-radius:0 0 16px 16px;width:30px;height:18px;position:absolute;top:106px;left:50%;transform:translate(-50%)}.potatoCheek{background:#ff78786b;border-radius:50%;width:20px;height:12px;position:absolute;top:96px}.potatoCheekLeft{left:28px}.potatoCheekRight{right:28px}.potatoArm{background:linear-gradient(#d19a53 0%,#b47635 100%);border-radius:10px;width:16px;height:54px;position:absolute;top:92px;box-shadow:inset -3px -3px 6px #0003}.potatoArmLeft{transform-origin:top;left:-12px;transform:rotate(26deg)}.potatoArmRight{transform-origin:top;animation:2.2s ease-in-out infinite potatoWave;right:-12px;transform:rotate(-12deg)}.potatoSpot{background:#71411d47;border-radius:50%;position:absolute}.potatoSpot1{width:11px;height:11px;top:48px;left:26px}.potatoSpot2{width:9px;height:9px;top:42px;right:34px}.potatoSpot3{width:13px;height:13px;bottom:36px;left:58px}@keyframes potatoFloat{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-12px)rotate(2deg)}}@keyframes potatoShadow{0%,to{opacity:.24;transform:scale(1)}50%{opacity:.14;transform:scale(.86)}}@keyframes potatoWave{0%,to{transform:rotate(-12deg)}50%{transform:rotate(22deg)}}@keyframes potatoBlink{0%,7%,9%,60%,62%,to{transform:scaleY(1)}8%,61%{transform:scaleY(.08)}}@media (width<=640px){.potatoCharacter{transform:scale(.88)}}
