:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Noto Sans TC,Microsoft JhengHei,sans-serif}body{min-width:320px;margin:0}button{font-family:inherit}#app{width:100%;min-height:100vh}.secret-login[data-v-339fbfc2]{z-index:999;background:radial-gradient(at 50% 25%,#4b335c 0%,#251e3d 54%,#16192e 100%);justify-content:center;align-items:center;padding:24px;transition:opacity .85s,filter .85s;display:flex;position:fixed;inset:0;overflow-y:auto}.secret-login-leaving[data-v-339fbfc2]{opacity:0;filter:blur(8px);pointer-events:none}.login-sky[data-v-339fbfc2]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.login-sky span[data-v-339fbfc2]{color:#ffe9d7;opacity:.65;font-size:10px;animation:3s ease-in-out infinite twinkle-339fbfc2;position:absolute}.login-card[data-v-339fbfc2]{z-index:1;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:left;background:#342943dc;border:1px solid #f8d6e450;border-radius:28px;flex-direction:column;width:min(100%,440px);padding:clamp(25px,5vw,46px);display:flex;position:relative;box-shadow:0 25px 90px #08091670,inset 0 1px #fff2}.login-heart[data-v-339fbfc2]{text-align:center;color:#f7b6d3;text-shadow:0 0 24px #f6a8cb80;font-size:60px;line-height:1}.login-kicker[data-v-339fbfc2]{text-align:center;color:#e6bfd5;letter-spacing:.19em;margin:14px 0 8px;font-size:10px}.login-card h1[data-v-339fbfc2]{color:#fff1e9;text-align:center;margin:0;font-size:clamp(27px,6vw,36px)}.login-subtitle[data-v-339fbfc2]{color:#e9cddd;text-align:center;margin:12px 0 30px;font-size:14px;line-height:1.7}.login-card label[data-v-339fbfc2]{color:#f4dce8;margin:0 0 9px;font-size:13px}.login-card input[data-v-339fbfc2]{box-sizing:border-box;color:#fff4ed;background:#55425f;border:1px solid #eac2d35c;border-radius:12px;outline:none;width:100%;min-height:48px;margin:0 0 20px;padding:12px 15px;font-size:15px}.login-card input[data-v-339fbfc2]:focus{border-color:#f8b8d3;box-shadow:0 0 0 3px #f8b8d31e}.login-card input[readonly][data-v-339fbfc2]{opacity:.85;cursor:default}.login-card input[data-v-339fbfc2]::placeholder{color:#d2b6ca}.login-error[data-v-339fbfc2]{color:#ffd0d0;margin:-8px 0 16px;font-size:13px}.login-enter[data-v-339fbfc2]{color:#442c48;cursor:pointer;background:linear-gradient(110deg,#f3a9c8,#f7d2c7);border:0;border-radius:99px;width:100%;padding:15px 16px;font-size:15px;font-weight:800;transition:transform .2s,filter .2s}.login-enter[data-v-339fbfc2]:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px)}.login-enter[data-v-339fbfc2]:disabled{opacity:.75;cursor:wait}.login-card small[data-v-339fbfc2]{text-align:center;color:#c8acc5;letter-spacing:.04em;margin-top:22px;font-size:11px}.login-fade-leave-active[data-v-339fbfc2]{transition:opacity .85s}.login-fade-leave-to[data-v-339fbfc2]{opacity:0}[data-v-339fbfc2]{box-sizing:border-box}.universe[data-v-339fbfc2]{color:#654b55;background:linear-gradient(155deg,#fffaf4 0%,#ffeef1 55%,#f8e6ef 100%);min-height:100vh;padding:24px 20px 40px;transition:background .8s,color .8s;position:relative;overflow:hidden}.universe.night-mode[data-v-339fbfc2]{color:#fff4fb;background:linear-gradient(160deg,#171b3c 0%,#30234c 55%,#593457 100%)}.site-header[data-v-339fbfc2],.site-footer[data-v-339fbfc2]{z-index:3;color:#b57f91;letter-spacing:2px;justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;font-size:11px;font-weight:700;display:flex;position:relative}.night-mode .site-header[data-v-339fbfc2],.night-mode .site-footer[data-v-339fbfc2]{color:#f3bfd9}.site-footer[data-v-339fbfc2]{justify-content:center;margin-top:42px;font-size:10px}.progress-track[data-v-339fbfc2]{z-index:3;background:#eacfd8;border-radius:99px;max-width:960px;height:5px;margin:18px auto 0;position:relative;overflow:hidden}.progress-fill[data-v-339fbfc2]{border-radius:inherit;background:linear-gradient(90deg,#f0a9b8,#bf7897);height:100%;transition:width .5s}.scene[data-v-339fbfc2]{z-index:2;text-align:center;flex-direction:column;align-items:center;width:min(100%,860px);min-height:65vh;margin:0 auto;padding:35px 0;display:flex;position:relative}.eyebrow[data-v-339fbfc2]{letter-spacing:2.5px;color:#bb8595;margin:0 0 18px;font-size:11px;font-weight:700}.scene h1[data-v-339fbfc2]{letter-spacing:1px;max-width:680px;margin:8px 0 20px;font-size:clamp(25px,5vw,38px);line-height:1.5}.scene-description[data-v-339fbfc2]{color:#967681;max-width:600px;margin:0 auto 30px;line-height:2}.night-mode .scene-description[data-v-339fbfc2]{color:#e6cbdc}.primary-button[data-v-339fbfc2]{color:#fff;cursor:pointer;background:linear-gradient(135deg,#db9bac,#bc748e);border:0;border-radius:999px;margin-top:22px;padding:15px 32px;font-size:15px;font-weight:700;transition:transform .2s,box-shadow .2s;box-shadow:0 10px 25px #a85d7c30}.primary-button[data-v-339fbfc2]:hover{transform:translateY(-3px);box-shadow:0 14px 28px #a85d7c45}.text-button[data-v-339fbfc2]{color:#b28b98;cursor:pointer;background:0 0;border:0;margin-top:22px;padding:10px}.small-hint[data-v-339fbfc2]{color:#b18c97;margin-top:18px;font-size:12px}.big-emoji[data-v-339fbfc2]{margin:12px 0 20px;font-size:72px}.floating-decor[data-v-339fbfc2]{z-index:1;color:#e6a8bb;opacity:.55;pointer-events:none;animation:6s ease-in-out infinite float-339fbfc2;position:absolute}.decor-one[data-v-339fbfc2]{font-size:38px;top:18%;left:7%}.decor-two[data-v-339fbfc2]{font-size:32px;animation-delay:1s;top:38%;right:8%}.decor-three[data-v-339fbfc2]{font-size:46px;animation-delay:2s;bottom:15%;left:13%}.opening-scene[data-v-339fbfc2]{width:min(100%,760px)}.opening-stage[data-v-339fbfc2]{background:linear-gradient(145deg,#fff8e8,#f9dfe6);border:2px solid #fff9;border-radius:30px;width:100%;height:clamp(300px,48vh,430px);margin:4px 0 24px;position:relative;overflow:hidden;box-shadow:0 16px 45px #c78b9b20}.opening-glow[data-v-339fbfc2]{filter:blur(40px);background:#fff9;border-radius:50%;width:65%;height:85%;position:absolute;top:-25%;left:-15%}.character[data-v-339fbfc2]{justify-content:center;align-items:flex-end;display:flex;position:absolute;bottom:0}.character img[data-v-339fbfc2]{object-fit:contain;object-position:bottom;width:100%;height:100%;display:block}.snoopy-character[data-v-339fbfc2]{width:50%;height:86%;animation:1s ease-out both snoopy-appear-339fbfc2;left:4%}.shinchan-character[data-v-339fbfc2]{width:48%;height:86%;animation:1.2s ease-out .5s both shinchan-peek-339fbfc2;right:-10%}.shinchan-character.discovered[data-v-339fbfc2]{transition:transform .6s;animation:none;transform:translate(-12%)rotate(-4deg)}.love-effects[data-v-339fbfc2]{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.floating-heart[data-v-339fbfc2]{font-size:var(--size);opacity:0;animation:heart-float-339fbfc2 var(--duration) ease-out infinite;animation-delay:var(--delay);position:absolute;bottom:16%;left:51%}@keyframes heart-float-339fbfc2{0%{opacity:0;transform:translate(0)scale(.3)rotate(-12deg)}15%{opacity:1}70%{opacity:.9}to{opacity:0;transform:translate(var(--x),-260px) scale(1.4) rotate(18deg)}}.opening-dialogue[data-v-339fbfc2]{flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:135px;display:flex}.dialogue-small[data-v-339fbfc2]{color:#b78393;margin:0 0 8px;font-size:15px}.opening-dialogue h1[data-v-339fbfc2]{max-width:650px;margin:0;font-size:clamp(21px,4.5vw,30px);line-height:1.7}.romantic-line[data-v-339fbfc2]{color:#c27792}.game-scene[data-v-339fbfc2]{width:min(100%,670px)}.game-description[data-v-339fbfc2]{margin-bottom:18px}.game-dashboard[data-v-339fbfc2]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;display:grid}.score-card[data-v-339fbfc2]{background:#fffafbd9;border:1px solid #f5d8e1;border-radius:17px;flex-direction:column;align-items:center;gap:6px;padding:13px 8px;display:flex;box-shadow:0 6px 20px #b87e9210}.score-card span[data-v-339fbfc2]{color:#b88a99;letter-spacing:1px;font-size:10px;font-weight:700}.score-card strong[data-v-339fbfc2]{color:#c47792;font-variant-numeric:tabular-nums;font-size:clamp(23px,5vw,32px)}.score-card strong.combo-hot[data-v-339fbfc2]{color:#e38c46;animation:.4s combo-pulse-339fbfc2}.game-progress[data-v-339fbfc2]{width:100%;margin-top:20px}.game-progress-top[data-v-339fbfc2]{color:#a67b8a;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12px;display:flex}.game-progress-top b[data-v-339fbfc2]{color:#bf7590;font-variant-numeric:tabular-nums}.game-progress-track[data-v-339fbfc2]{background:#efd5dd;border-radius:99px;height:11px;overflow:hidden}.game-progress-fill[data-v-339fbfc2]{border-radius:inherit;background:linear-gradient(90deg,#f5a8bc,#bd6e8e);height:100%;transition:width .35s}.game-message[data-v-339fbfc2]{color:#b6748c;min-height:26px;margin:18px 0 14px;font-size:15px;font-weight:700}.mole-board[data-v-339fbfc2]{background:#f9e3e9;border:2px solid #f0cbd7;border-radius:25px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(100%,480px);padding:13px;display:grid;box-shadow:0 14px 30px #b87e9225}.mole-cell[data-v-339fbfc2]{aspect-ratio:1;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:#fffbfa;border:2px solid #f2d9df;border-radius:18px;justify-content:center;align-items:center;min-width:0;padding:4px;display:flex;position:relative;overflow:hidden}.mole-cell[data-v-339fbfc2]:disabled{cursor:default}.mole-cell.mole-active[data-v-339fbfc2]{background:#fff0ed;border-color:#dc96a9}.mole-cell.mole-hit[data-v-339fbfc2]{background:#fbe1e7}.mole-empty[data-v-339fbfc2]{color:#ecd0d9;font-size:28px}.mole-image[data-v-339fbfc2]{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;max-width:100%;height:100%;max-height:100%;animation:.22s ease-out both mole-pop-339fbfc2;display:block}.mole-image-hit[data-v-339fbfc2]{animation:.3s both mole-caught-339fbfc2}.score-popup[data-v-339fbfc2]{z-index:3;color:#c76a8d;text-shadow:0 2px 4px #fff,0 -2px 4px #fff;pointer-events:none;font-size:clamp(13px,3vw,22px);font-weight:900;animation:.7s ease-out forwards score-fly-339fbfc2;position:absolute;top:22%;left:0;right:0}.game-actions[data-v-339fbfc2]{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin-top:8px;display:flex}.game-actions .primary-button[data-v-339fbfc2]{margin-top:16px}.secondary-button[data-v-339fbfc2]{color:#b4778d;cursor:pointer;background:#fff9;border:2px solid #e9bdca;border-radius:999px;margin-top:16px;padding:14px 24px;font-weight:700}.unlock-card[data-v-339fbfc2]{background:#fff9fbe8;border:2px solid #f1c8d6;border-radius:22px;width:min(100%,480px);margin-top:20px;padding:18px;box-shadow:0 12px 30px #b87e921c}.unlock-card>span[data-v-339fbfc2]{color:#bc7890;letter-spacing:2px;font-size:11px;font-weight:800}.unlock-card h2[data-v-339fbfc2]{color:#c57591;margin:8px 0;font-size:28px}.unlock-card p[data-v-339fbfc2]{color:#97717e;line-height:1.7}.unlock-card img[data-v-339fbfc2]{object-fit:contain;border-radius:12px;width:min(100%,180px);max-height:180px;margin:10px auto 0;display:block}.game-celebration[data-v-339fbfc2]{z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:center;background:#fff3f4ed;flex-direction:column;justify-content:center;align-items:center;gap:15px;padding:25px;display:flex;position:fixed;inset:0}.game-celebration img[data-v-339fbfc2]{object-fit:contain;border-radius:18px;max-width:min(60vw,230px);max-height:30vh;box-shadow:0 15px 40px #b87e9230}.game-celebration strong[data-v-339fbfc2]{color:#c26989;font-size:clamp(64px,16vw,112px);line-height:1;animation:.5s both heart-appear-339fbfc2}.game-celebration p[data-v-339fbfc2]{color:#a86d82;margin:0;font-size:clamp(17px,4vw,24px);font-weight:800}.celebration-hearts[data-v-339fbfc2]{font-size:32px;animation:2s ease-in-out infinite float-339fbfc2}@keyframes mole-pop-339fbfc2{0%{opacity:0;transform:translateY(40%)scale(.6)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes mole-caught-339fbfc2{0%{transform:scale(1)}40%{transform:scale(.83)rotate(-8deg)}to{transform:scale(1.05)}}@keyframes score-fly-339fbfc2{0%{opacity:0;transform:translateY(15px)scale(.6)}30%{opacity:1}to{opacity:0;transform:translateY(-42px)scale(1.15)}}@keyframes combo-pulse-339fbfc2{50%{transform:scale(1.18)}}.memory-scene[data-v-339fbfc2]{width:min(100%,960px)}.memory-scroll[data-v-339fbfc2]{scroll-snap-type:x mandatory;gap:22px;width:100%;padding:15px 5px 25px;display:flex;overflow-x:auto}.memory-card[data-v-339fbfc2]{scroll-snap-align:center;text-align:left;background:#fffc;border-radius:24px;flex:0 0 min(78vw,310px);overflow:hidden;box-shadow:0 12px 28px #b87e921c}.memory-image[data-v-339fbfc2]{background:linear-gradient(135deg,#fce4e9,#fff1d9);justify-content:center;align-items:center;height:225px;font-size:82px;display:flex}.memory-image img[data-v-339fbfc2]{object-fit:cover;width:100%;height:100%}.memory-body[data-v-339fbfc2]{padding:22px}.memory-subtitle[data-v-339fbfc2]{color:#bf8799;letter-spacing:1.5px;margin:0;font-size:11px}.memory-body h2[data-v-339fbfc2]{margin:12px 0;font-size:21px}.memory-body>p[data-v-339fbfc2]:last-child{color:#907780;line-height:1.8}.story-scene[data-v-339fbfc2]{width:min(100%,760px)}.storybook[data-v-339fbfc2]{color:#76574f;background:linear-gradient(135deg,#fffdf5,#fff4e8);border:2px solid #eed0c8;border-radius:24px;width:100%;padding:clamp(18px,4vw,34px);box-shadow:0 18px 45px #9b746020}.storybook-topline[data-v-339fbfc2]{color:#b18b7b;letter-spacing:2px;border-bottom:1px solid #ecd6c9;justify-content:space-between;gap:12px;padding-bottom:14px;font-size:10px;font-weight:800;display:flex}.storybook-page[data-v-339fbfc2],.storybook-ending[data-v-339fbfc2]{flex-direction:column;align-items:center;display:flex}.storybook-kicker[data-v-339fbfc2]{color:#b77e86;letter-spacing:1.6px;margin:22px 0 4px;font-size:11px;font-weight:800}.storybook h2[data-v-339fbfc2]{color:#805953;margin:12px 0 20px;font-size:clamp(23px,4.5vw,32px);line-height:1.5}.storybook-photo[data-v-339fbfc2]{cursor:default;background:#fff;border:none;width:min(100%,390px);padding:12px 12px 30px;position:relative;transform:rotate(-1.5deg);box-shadow:0 9px 28px #6e54472b}.storybook-photo.horse-photo[data-v-339fbfc2]{cursor:pointer}.storybook-photo.horse-photo[data-v-339fbfc2]:hover{transform:rotate(0)scale(1.015)}.storybook-photo img[data-v-339fbfc2]{object-fit:contain;background:#f8f0e9;width:100%;height:clamp(230px,50vh,400px);display:block}.horse-clue[data-v-339fbfc2]{color:#bd7a82;margin-top:12px;font-size:13px;font-weight:800;display:block}.horse-secret[data-v-339fbfc2]{color:#ad647b;background:#fff0f2;border:2px dashed #e4a0aa;border-radius:15px;margin-top:18px;padding:14px 22px;font-weight:800;line-height:1.8}.storybook-text[data-v-339fbfc2]{color:#785f56;text-align:left;white-space:pre-line;max-width:560px;margin:24px auto 10px;font-size:clamp(15px,2.5vw,17px);line-height:2.15}.storybook-controls[data-v-339fbfc2]{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:22px;display:flex}.storybook-controls .primary-button[data-v-339fbfc2]{margin-top:0}.storybook-back[data-v-339fbfc2]{color:#a77d76;cursor:pointer;background:0 0;border:1px solid #e5c4be;border-radius:99px;padding:12px 18px}.kiss-pictures[data-v-339fbfc2]{justify-content:center;align-items:center;gap:22px;width:100%;margin:26px 0 8px;display:flex;position:relative}.kiss-pictures img[data-v-339fbfc2]{object-fit:cover;border:8px solid #fff;border-bottom-width:20px;width:min(39%,190px);height:clamp(180px,36vw,260px);box-shadow:0 9px 22px #795b5230}.kiss-pictures img[data-v-339fbfc2]:first-child{transform:rotate(-7deg)}.kiss-pictures img[data-v-339fbfc2]:last-child{transform:rotate(7deg)}.kiss-heart[data-v-339fbfc2]{z-index:2;filter:drop-shadow(0 4px 6px #fff);font-size:clamp(32px,8vw,58px);animation:1.3s ease-in-out infinite alternate kiss-bounce-339fbfc2;position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.storybook-promise[data-v-339fbfc2]{color:#bc7085;font-size:clamp(16px,3vw,21px);font-weight:800;line-height:1.9}.page-turn-enter-active[data-v-339fbfc2],.page-turn-leave-active[data-v-339fbfc2]{transition:opacity .3s,transform .3s}.page-turn-enter-from[data-v-339fbfc2]{opacity:0;transform:translate(22px)rotate(1deg)}.page-turn-leave-to[data-v-339fbfc2]{opacity:0;transform:translate(-22px)rotate(-1deg)}@keyframes kiss-bounce-339fbfc2{0%{transform:translate(-50%,-50%)scale(.85)rotate(-10deg)}to{transform:translate(-50%,-62%)scale(1.18)rotate(10deg)}}@media (width<=600px){.storybook[data-v-339fbfc2]{padding:15px}.storybook-photo[data-v-339fbfc2]{padding:8px 8px 22px}.storybook-photo img[data-v-339fbfc2]{height:280px}.storybook-text[data-v-339fbfc2]{text-align:left}.storybook h2[data-v-339fbfc2]{margin-bottom:15px}}.letter-paper[data-v-339fbfc2]{text-align:left;background:#fffc;border-radius:14px;width:min(100%,650px);padding:clamp(25px,6vw,50px);transform:rotate(-.5deg);box-shadow:0 16px 40px #b77d9024}.letter-paper p[data-v-339fbfc2]{color:#755d66;margin:0 0 24px;font-size:16px;line-height:2.3}.letter-paper .letter-ending[data-v-339fbfc2]{color:#c07891;text-align:right;margin-bottom:0;font-weight:700}.night-mode .eyebrow[data-v-339fbfc2]{color:#f3bbd9}.wish-list[data-v-339fbfc2]{gap:16px;width:min(100%,650px);margin-top:10px;display:grid}.wish-card[data-v-339fbfc2]{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:left;background:#ffffff15;border:1px solid #ffffff35;border-radius:20px;align-items:center;gap:20px;padding:20px 25px;display:flex}.wish-emoji[data-v-339fbfc2]{font-size:38px}.wish-card h2[data-v-339fbfc2]{margin:0 0 8px;font-size:19px}.wish-card p[data-v-339fbfc2]{color:#e7d3e2;margin:0;line-height:1.8}.memory-chapter[data-v-339fbfc2]{width:min(100%,1000px)}.memory-chapter h1[data-v-339fbfc2]{margin-bottom:5px}.memory-intro[data-v-339fbfc2]{color:#f5d8e8;margin:0 0 18px;font-size:clamp(13px,2.5vw,16px);line-height:1.9}.memory-hud[data-v-339fbfc2]{color:#e4bfd3;letter-spacing:1.2px;justify-content:space-between;align-items:center;gap:10px;width:100%;margin:0 0 10px;font-size:10px;display:flex}.memory-hud strong[data-v-339fbfc2]{color:#fff1c9;font-size:19px}.memory-viewport[data-v-339fbfc2]{isolation:isolate;perspective:850px;perspective-origin:50%;background:radial-gradient(at 50% 43%,#5c416c 0%,#302344 42%,#10152e 100%);border:1px solid #ffffff3d;border-radius:25px;width:100%;height:clamp(350px,52vw,520px);position:relative;overflow:hidden;box-shadow:inset 0 0 75px #0708188a,0 24px 55px #090b2259}.memory-3d-world[data-v-339fbfc2]{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.memory-node[data-v-339fbfc2]{width:min(76%,650px);height:77%;transform-style:preserve-3d;backface-visibility:hidden;flex-direction:column;justify-content:center;align-items:center;transition:transform 1.1s cubic-bezier(.18,.75,.2,1),opacity .8s;display:flex;position:absolute;top:48%;left:50%}.memory-node-active[data-v-339fbfc2]{pointer-events:auto}.memory-tunnel[data-v-339fbfc2]{transform-style:preserve-3d;pointer-events:none;position:absolute;inset:0}.memory-tunnel i[data-v-339fbfc2]{border:2px solid #f9c9e455;border-radius:12px;width:75%;height:76%;position:absolute;top:50%;left:50%;box-shadow:0 0 30px #f7b2d020}.memory-floor[data-v-339fbfc2]{transform-origin:top;pointer-events:none;background:repeating-linear-gradient(90deg,#0000 0 17%,#f1bfd01a 17.2% 17.5%),linear-gradient(#d8a5cc30,#0000);border-top:1px solid #ffe3ed66;width:80%;height:52%;position:absolute;bottom:-27%;left:10%;transform:perspective(450px)rotateX(67deg)}.memory-vignette[data-v-339fbfc2]{pointer-events:none;background:radial-gradient(at 50% 45%,#0000 32%,#090b2799 100%);position:absolute;inset:0}.memory-origin[data-v-339fbfc2],.memory-future-door[data-v-339fbfc2]{text-shadow:0 4px 22px #09071b;flex-direction:column;justify-content:center;align-items:center;gap:12px;width:100%;height:100%;display:flex}.memory-origin>span[data-v-339fbfc2]{color:#ffb9d5;font-size:75px;animation:2.8s ease-in-out infinite star-pulse-339fbfc2}.memory-origin small[data-v-339fbfc2]{letter-spacing:4px;color:#f6d9e6;font-size:12px}.memory-origin strong[data-v-339fbfc2]{color:#fff2d7;font-size:clamp(32px,7vw,62px)}.memory-origin p[data-v-339fbfc2],.memory-future-door p[data-v-339fbfc2]{color:#ffe0ed;line-height:1.9}.memory-year-heading[data-v-339fbfc2]{color:#fff3db;text-shadow:0 0 22px #f7b7cb90;margin-bottom:14px;font-size:clamp(30px,6vw,53px);font-weight:900}.memory-year-heading small[data-v-339fbfc2]{letter-spacing:4px;color:#f3c8dc;font-size:10px;font-weight:500;display:block}.memory-photo-stage[data-v-339fbfc2]{width:100%;height:76%;transform-style:preserve-3d;justify-content:center;align-items:center;display:flex}.memory-main-photo[data-v-339fbfc2]{z-index:3;background:#fff9f3;width:min(58%,315px);height:100%;padding:9px 9px 27px;position:relative;transform:translateZ(70px);box-shadow:0 0 26px #ffdfcb8c,0 17px 35px #0008}.memory-main-photo img[data-v-339fbfc2]{object-fit:contain;background:#eee3e3;width:100%;height:100%}.memory-main-photo span[data-v-339fbfc2]{color:#986b81;width:100%;font-size:11px;font-weight:800;position:absolute;bottom:5px;left:0}.memory-side-photo[data-v-339fbfc2]{opacity:.8;background:#fff8f1;width:38%;height:68%;padding:6px;position:absolute;box-shadow:0 0 25px #ffdfcb5a}.memory-side-photo img[data-v-339fbfc2]{object-fit:cover;width:100%;height:100%}.memory-side-left[data-v-339fbfc2]{left:0;transform:translate3d(-12%,8%,-40px)rotateY(18deg)rotate(-6deg)}.memory-side-right[data-v-339fbfc2]{right:0;transform:translate3d(12%,-5%,-40px)rotateY(-18deg)rotate(6deg)}.memory-future-door[data-v-339fbfc2]{background:radial-gradient(#ffdbd04d,#0000 72%);border:2px solid #ffe6d17a;border-radius:50% 50% 16px 16px;box-shadow:0 0 70px #ffb7d34f,inset 0 0 50px #ffe2cd1b}.memory-future-door span[data-v-339fbfc2]{color:#ffddba;font-size:50px}.memory-future-door h2[data-v-339fbfc2]{color:#fff3e7;margin:0;font-size:clamp(21px,4vw,34px)}.memory-gallery[data-v-339fbfc2]{width:100%;margin:16px 0 0}.memory-gallery p[data-v-339fbfc2],.memory-caption[data-v-339fbfc2]{color:#f4d1e1;margin:0 0 10px;font-size:13px}.memory-gallery-strip[data-v-339fbfc2]{scroll-snap-type:x proximity;gap:9px;padding:5px 5px 12px;display:flex;overflow-x:auto}.memory-gallery-strip button[data-v-339fbfc2]{opacity:.65;cursor:pointer;scroll-snap-align:center;background:#ffffff17;border:2px solid #fff5;border-radius:10px;flex:0 0 67px;width:67px;height:67px;padding:3px;transition:transform .2s,opacity .2s,border-color .2s}.memory-gallery-strip button.selected[data-v-339fbfc2]{opacity:1;border-color:#ffe5b8;transform:translateY(-3px);box-shadow:0 0 15px #ffd7b566}.memory-gallery-strip img[data-v-339fbfc2]{object-fit:cover;border-radius:6px;width:100%;height:100%}.memory-caption[data-v-339fbfc2]{margin-top:18px}.memory-timeline[data-v-339fbfc2]{justify-content:center;gap:8px;width:100%;margin-top:15px;display:flex}.memory-timeline span[data-v-339fbfc2]{background:#ffffff3c;border-radius:50%;width:9px;height:9px;transition:background .4s,transform .4s}.memory-timeline span.passed[data-v-339fbfc2]{background:#f1b4d1}.memory-timeline span.current[data-v-339fbfc2]{background:#ffe7b4;transform:scale(1.45);box-shadow:0 0 10px #ffe7b4}.memory-controls[data-v-339fbfc2]{flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:13px;display:flex}.memory-controls .primary-button[data-v-339fbfc2]{margin-top:0}.memory-prev[data-v-339fbfc2]{color:#ffe6f2;cursor:pointer;background:#ffffff15;border:1px solid #f5cfe66b;border-radius:99px;padding:13px 22px}.memory-prev[data-v-339fbfc2]:disabled,.memory-controls .primary-button[data-v-339fbfc2]:disabled{opacity:.35;cursor:not-allowed}@media (width<=600px){.memory-viewport[data-v-339fbfc2]{border-radius:17px;height:390px}.memory-node[data-v-339fbfc2]{width:90%;height:75%}.memory-main-photo[data-v-339fbfc2]{width:65%}.memory-side-photo[data-v-339fbfc2]{width:34%;height:60%}.memory-year-heading[data-v-339fbfc2]{margin-bottom:10px}.memory-hud[data-v-339fbfc2]{font-size:9px}.memory-hud strong[data-v-339fbfc2]{font-size:16px}.memory-origin strong[data-v-339fbfc2]{font-size:33px}.memory-origin>span[data-v-339fbfc2]{font-size:62px}.memory-future-door[data-v-339fbfc2]{padding:15px}.memory-future-door span[data-v-339fbfc2]{font-size:34px}}.final-star-button[data-v-339fbfc2]{cursor:pointer;background:0 0;border:0;margin:35px 0 10px;padding:20px;font-size:100px;animation:2s ease-in-out infinite star-pulse-339fbfc2}.final-heart[data-v-339fbfc2]{margin:25px 0;font-size:100px;animation:1s both heart-appear-339fbfc2}.final-message[data-v-339fbfc2]{color:#f3d9e8;max-width:570px;margin:12px 0;font-size:17px;line-height:2.2}.final-signature[data-v-339fbfc2]{color:#ffbfdc;margin:30px 0;font-size:23px;font-style:italic}.star-field[data-v-339fbfc2]{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tiny-star[data-v-339fbfc2]{color:#fff5cc;opacity:.6;font-size:10px;animation:3s ease-in-out infinite twinkle-339fbfc2;position:absolute}.cinematic-final[data-v-339fbfc2]{width:100%}.final-cinema[data-v-339fbfc2]{isolation:isolate;background:radial-gradient(at 50% 78%,#503c67 0%,#292443 46%,#151b36 100%);border-radius:24px;width:min(100%,980px);height:clamp(390px,58vw,580px);margin:18px auto 0;position:relative;overflow:hidden;box-shadow:0 24px 70px #130d324d,inset 0 0 90px #c7a1e012}.final-cinema-stars[data-v-339fbfc2]{pointer-events:none;position:absolute;inset:0}.final-cinema-stars i[data-v-339fbfc2]{background:#fff4df;border-radius:50%;width:2px;height:2px;animation:3.5s ease-in-out infinite twinkle-339fbfc2;position:absolute;box-shadow:0 0 8px #fff0c9}.final-meeting[data-v-339fbfc2]{transition:opacity 1.25s;position:absolute;inset:0}.final-waiting-star[data-v-339fbfc2]{background:#ffedc8;border-radius:50%;width:10px;height:10px;animation:2.6s ease-in-out infinite star-pulse-339fbfc2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 15px 6px #fce2ac9c,0 0 60px 18px #f3d0bd3a}.final-shooting-star[data-v-339fbfc2]{background:#ffe3c9;border-radius:50%;width:9px;height:9px;animation:3.8s cubic-bezier(.27,.12,.5,1) forwards final-fly-339fbfc2;position:absolute;top:17%;left:6%;box-shadow:0 0 15px 5px #ffdfc0a8}.final-shooting-star span[data-v-339fbfc2]{transform-origin:100%;filter:blur(1px);background:linear-gradient(90deg,#0000,#ffd5d36e,#fff1cc);border-radius:50%;width:145px;height:3px;position:absolute;top:3px;right:4px;transform:rotate(19deg)}.final-union-glow[data-v-339fbfc2]{opacity:0;background:#ffe7ca;border-radius:50%;width:20px;height:20px;transition:transform 1.1s,opacity 1s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(0);box-shadow:0 0 30px 20px #ffd8ca,0 0 100px 60px #f8c9db91}.final-phase-1 .final-union-glow[data-v-339fbfc2]{opacity:.95;transform:translate(-50%,-50%)scale(2.6)}.final-phase-2 .final-meeting[data-v-339fbfc2],.final-phase-3 .final-meeting[data-v-339fbfc2],.final-phase-4 .final-meeting[data-v-339fbfc2]{opacity:0}.final-landscape[data-v-339fbfc2]{opacity:0;transition:opacity 1.7s;position:absolute;inset:0}.final-phase-2 .final-landscape[data-v-339fbfc2],.final-phase-3 .final-landscape[data-v-339fbfc2],.final-phase-4 .final-landscape[data-v-339fbfc2]{opacity:1}.final-phase-2 .final-landscape[data-v-339fbfc2]{transition-delay:.35s}.final-landscape-world[data-v-339fbfc2]{position:absolute;inset:0;overflow:hidden}.final-moon[data-v-339fbfc2]{display:none}.final-hill[data-v-339fbfc2]{pointer-events:none;border-radius:50% 50% 0 0/32% 34% 0 0;transition:height 6.2s,bottom 6.2s;position:absolute;transform:none}.final-hill-back[data-v-339fbfc2]{background:#35324f;width:150%;height:61%;bottom:-31%;left:-22%}.final-hill-front[data-v-339fbfc2]{background:#25283e;border-radius:48% 52% 0 0/36% 30% 0 0;width:156%;height:64%;bottom:-39%;left:-28%}.final-phase-3 .final-hill-back[data-v-339fbfc2],.final-phase-4 .final-hill-back[data-v-339fbfc2]{height:58%;bottom:-35%}.final-phase-3 .final-hill-front[data-v-339fbfc2],.final-phase-4 .final-hill-front[data-v-339fbfc2]{height:61%;bottom:-43%}.final-little-house[data-v-339fbfc2]{transform-origin:bottom;will-change:transform;filter:drop-shadow(0 0 15px #f6c68b46);width:66px;height:67px;transition:transform 6.2s cubic-bezier(.22,.61,.36,1);position:absolute;bottom:20.5%;left:67%;transform:scale(.37)}.final-roof[data-v-339fbfc2]{clip-path:polygon(50% 0,100% 100%,0 100%);background:#4c3c54;width:80px;height:34px;position:absolute;top:0;left:-7px}.final-house-body[data-v-339fbfc2]{background:#635064;width:60px;height:39px;position:absolute;top:28px;left:3px}.final-window[data-v-339fbfc2]{background:#ffd79b;border:2px solid #b99586;width:18px;height:18px;position:absolute;top:8px;left:10px;box-shadow:0 0 15px #ffce8b}.final-window[data-v-339fbfc2]:before,.final-window[data-v-339fbfc2]:after{content:"";background:#b99586;position:absolute}.final-window[data-v-339fbfc2]:before{width:2px;height:100%;left:6px}.final-window[data-v-339fbfc2]:after{width:100%;height:2px;top:6px}.final-door[data-v-339fbfc2]{background:#3c344d;border-radius:5px 5px 0 0;width:14px;height:25px;position:absolute;bottom:0;right:8px}.final-couple[data-v-339fbfc2]{transform-origin:bottom;will-change:transform;width:65px;height:65px;transition:transform 6.2s cubic-bezier(.22,.61,.36,1);position:absolute;bottom:20.5%;left:37%;transform:scale(.34)}.final-person[data-v-339fbfc2]{width:21px;height:60px;position:absolute;bottom:0}.final-person-left[data-v-339fbfc2]{left:3px}.final-person-right[data-v-339fbfc2]{height:56px;right:3px}.final-head[data-v-339fbfc2]{background:#171c30;border-radius:50%;width:13px;height:14px;position:absolute;top:2px;left:5px}.final-body[data-v-339fbfc2]{background:#171c30;border-radius:9px 9px 2px 2px;width:19px;height:43px;position:absolute;top:15px;left:2px}.final-person-right .final-body[data-v-339fbfc2]{clip-path:polygon(20% 0,80% 0,100% 100%,0 100%)}.final-holding-hands[data-v-339fbfc2]{background:#171c30;border-radius:4px;width:23px;height:4px;position:absolute;top:30px;left:22px;transform:rotate(-8deg)}.final-phase-3 .final-little-house[data-v-339fbfc2],.final-phase-4 .final-little-house[data-v-339fbfc2]{transform:scale(.18)}.final-phase-3 .final-couple[data-v-339fbfc2],.final-phase-4 .final-couple[data-v-339fbfc2]{transform:scale(.17)}.final-ending-copy[data-v-339fbfc2]{z-index:2;text-align:center;color:#fff2e6;opacity:0;text-shadow:0 2px 16px #181329bb;transition:opacity 1.8s,transform 1.8s;position:absolute;top:12%;left:10px;right:10px;transform:translateY(14px)}.final-phase-4 .final-ending-copy[data-v-339fbfc2]{opacity:1;transform:translateY(0)}.final-ending-copy p[data-v-339fbfc2]{letter-spacing:.12em;margin:0 0 12px;font-size:clamp(13px,2vw,18px)}.final-ending-copy h1[data-v-339fbfc2]{color:#fff2e6;margin:0 0 10px;font-size:clamp(23px,4vw,40px)}.final-ending-copy span[data-v-339fbfc2]{letter-spacing:.14em;color:#eac6dc;font-size:13px;font-style:italic}.final-replay[data-v-339fbfc2]{color:#f9e3ef;cursor:pointer;background:0 0;border:1px solid #f7d6e288;border-radius:99px;margin:22px auto 0;padding:10px 20px;font-size:13px;display:block}.final-replay[data-v-339fbfc2]:hover{background:#ffffff1c}@keyframes final-fly-339fbfc2{0%{opacity:0;top:17%;left:6%;transform:scale(.7)}8%{opacity:1}82%{opacity:1;top:50%;left:50%;transform:translate(-50%,-50%)scale(1)}to{opacity:0;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}}@media (width<=600px){.final-cinema[data-v-339fbfc2]{border-radius:17px;height:440px}.final-little-house[data-v-339fbfc2]{bottom:20.5%;left:67%;transform:scale(.37)}.final-couple[data-v-339fbfc2]{bottom:20.5%;left:37%;transform:scale(.34)}.final-ending-copy[data-v-339fbfc2]{top:15%}.final-shooting-star span[data-v-339fbfc2]{width:80px}}@media (prefers-reduced-motion:reduce){.final-hill[data-v-339fbfc2],.final-little-house[data-v-339fbfc2],.final-couple[data-v-339fbfc2]{transition:none!important}}.scene-fade-enter-active[data-v-339fbfc2],.scene-fade-leave-active[data-v-339fbfc2]{transition:opacity .45s,transform .45s}.scene-fade-enter-from[data-v-339fbfc2]{opacity:0;transform:translateY(20px)}.scene-fade-leave-to[data-v-339fbfc2]{opacity:0;transform:translateY(-20px)}.dialogue-enter-active[data-v-339fbfc2],.dialogue-leave-active[data-v-339fbfc2]{transition:opacity .35s,transform .35s}.dialogue-enter-from[data-v-339fbfc2]{opacity:0;transform:translateY(12px)}.dialogue-leave-to[data-v-339fbfc2]{opacity:0;transform:translateY(-12px)}@keyframes float-339fbfc2{0%,to{transform:translateY(0)}50%{transform:translateY(-14px)}}@keyframes snoopy-appear-339fbfc2{0%{opacity:0;transform:translateY(35px)}to{opacity:1;transform:translateY(0)}}@keyframes shinchan-peek-339fbfc2{0%{opacity:0;transform:translate(90%)}to{opacity:1;transform:translate(15%)}}@keyframes twinkle-339fbfc2{0%,to{opacity:.25}50%{opacity:.9}}@keyframes star-pulse-339fbfc2{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes heart-appear-339fbfc2{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (width<=600px){.universe[data-v-339fbfc2]{padding:18px 16px 30px}.scene[data-v-339fbfc2]{padding:30px 0}.opening-stage[data-v-339fbfc2]{height:320px}.snoopy-character[data-v-339fbfc2]{width:54%;left:0}.shinchan-character[data-v-339fbfc2]{width:54%}.opening-dialogue[data-v-339fbfc2]{min-height:150px}.wish-card[data-v-339fbfc2]{padding:18px}.letter-paper[data-v-339fbfc2]{padding:25px}.letter-paper p[data-v-339fbfc2]{font-size:15px}.floating-heart[data-v-339fbfc2]{bottom:20%}.mole-board[data-v-339fbfc2]{border-radius:19px;gap:7px;padding:9px}.mole-cell[data-v-339fbfc2]{border-radius:12px}.game-dashboard[data-v-339fbfc2]{gap:6px}.score-card[data-v-339fbfc2]{padding:11px 4px}.score-card span[data-v-339fbfc2]{font-size:9px}}@media (prefers-reduced-motion:reduce){[data-v-339fbfc2],[data-v-339fbfc2]:before,[data-v-339fbfc2]:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
