:root{--bg:#ffe9f2;--bg-grad:linear-gradient(180deg, #ffdfec 0%, #fff0f7 55%, #ffeaf3 100%);--bg-soft:#ffd6e7;--card:#fff;--ink:#4b2440;--muted:#b0839b;--accent:#f0509a;--accent-deep:#d63384;--accent-soft:#ffddeb;--pink:#f27baa;--pink-soft:#fdeef5;--violet:#b78fd6;--gold:#ffcf67;--radius-lg:24px;--radius-md:18px;--radius-sm:12px;--shadow-card:0 10px 30px #d633841a;--shadow-float:0 12px 34px #d6338433;--nav-height:56px;--vp-extend:0px;--nav-inset:max(calc(env(safe-area-inset-bottom) - 16px), 0px);--font:-apple-system, "SF Pro Rounded", "Segoe UI", Roboto, "Helvetica Neue", sans-serif}html,body{overscroll-behavior:none;touch-action:manipulation;width:100%;height:100%;color:var(--ink);font-family:var(--font);background:#fff;margin:0;padding:0;overflow:hidden}#app{background:var(--bg-grad);background-color:var(--bg);width:100vw;height:100vh;height:calc(100dvh + var(--vp-extend));padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box;flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex;transform:translateZ(0)}.screen{-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;padding:0;overflow-y:auto}.home-screen,.greeting,.question,.date,.footer,.tiles,.tile-img{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}img{-webkit-user-drag:none;pointer-events:auto}input,textarea{-webkit-user-select:text!important;user-select:text!important;-webkit-touch-callout:text!important}.bottom-nav[data-v-23e72f5d]{height:calc(var(--nav-height) + var(--nav-inset));box-sizing:border-box;background:var(--card);box-shadow:0 -8px 24px color-mix(in srgb, var(--accent-deep) 12%, transparent);padding:0 10px var(--nav-inset);z-index:500;-webkit-user-select:none;user-select:none;border-radius:20px 20px 0 0;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav[data-v-23e72f5d]:after{content:"";background:var(--card);height:120px;position:absolute;top:100%;left:0;right:0}.nav-item[data-v-23e72f5d]{color:var(--muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:5px 0;transition:color .2s,transform .15s;display:flex}.nav-item[data-v-23e72f5d]:active{transform:scale(.92)}.nav-item.active[data-v-23e72f5d]{color:var(--accent)}.nav-item.locked[data-v-23e72f5d]{opacity:.35}.icon[data-v-23e72f5d]{width:22px;height:22px;display:block}.icon[data-v-23e72f5d] svg{width:100%;height:100%;display:block}.label[data-v-23e72f5d]{font-size:11px;font-weight:600;font-family:var(--font)}.nav-item.active .label[data-v-23e72f5d]{color:var(--accent)}.install-veil[data-v-61b889ee]{z-index:1200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:0 14px calc(14px + env(safe-area-inset-bottom));background:#4b244052;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.install-card[data-v-61b889ee]{background:var(--card);width:100%;max-width:400px;box-shadow:var(--shadow-float);text-align:center;border-radius:26px;padding:26px 22px 18px;position:relative}.close[data-v-61b889ee]{background:var(--bg-soft);width:34px;height:34px;color:var(--muted);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;right:12px}.install-mascot[data-v-61b889ee]{object-fit:contain;width:84px;height:84px;margin-bottom:6px;animation:3s ease-in-out infinite floaty-61b889ee}@keyframes floaty-61b889ee{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@media (prefers-reduced-motion:reduce){.install-mascot[data-v-61b889ee]{animation:none}.install-enter-active .install-card[data-v-61b889ee],.install-leave-active .install-card[data-v-61b889ee]{transition:none}.install-enter-from .install-card[data-v-61b889ee],.install-leave-to .install-card[data-v-61b889ee]{transform:none}}.install-title[data-v-61b889ee]{color:var(--ink);margin:0;font-size:20px;font-weight:800}.install-sub[data-v-61b889ee]{color:var(--muted);margin:6px 0 16px;font-size:13.5px;line-height:1.5}.steps[data-v-61b889ee]{text-align:left;flex-direction:column;gap:10px;margin:0 0 14px;padding:0;list-style:none;display:flex}.steps li[data-v-61b889ee]{color:var(--ink);align-items:center;gap:12px;font-size:14px;display:flex}.step-ic[data-v-61b889ee]{background:var(--accent-soft);width:38px;height:38px;color:var(--accent-deep);border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.install-btn[data-v-61b889ee]{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;width:100%;font-size:16px;font-weight:700;font-family:var(--font);box-shadow:0 8px 20px color-mix(in srgb, var(--accent-deep) 35%, transparent);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-bottom:12px;padding:15px 24px;display:inline-flex}.never[data-v-61b889ee]{color:var(--muted);font-size:13px;font-weight:600;font-family:var(--font);cursor:pointer;background:0 0;border:none;padding:6px}.install-enter-active[data-v-61b889ee],.install-leave-active[data-v-61b889ee]{transition:opacity .3s}.install-enter-active .install-card[data-v-61b889ee],.install-leave-active .install-card[data-v-61b889ee]{transition:transform .35s cubic-bezier(.22,1,.36,1)}.install-enter-from[data-v-61b889ee],.install-leave-to[data-v-61b889ee]{opacity:0}.install-enter-from .install-card[data-v-61b889ee],.install-leave-to .install-card[data-v-61b889ee]{transform:translateY(70%)}.loading-overlay[data-v-53077366]{background:var(--bg-grad);z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-character[data-v-53077366]{width:min(200px,54vw);margin-bottom:26px;animation:3s ease-in-out infinite float-53077366}.loading-glyph[data-v-53077366]{width:108px;height:108px;color:var(--accent-deep);background:var(--accent-soft);border-radius:50%;place-items:center;margin-bottom:26px;animation:3s ease-in-out infinite float-53077366;display:grid}.loading-text[data-v-53077366]{color:var(--ink);text-align:center;margin-bottom:26px;padding:0 24px;font-size:18px;font-weight:600}.dot-loader[data-v-53077366]{gap:12px;display:flex}.dot-loader span[data-v-53077366]{background:var(--accent);opacity:0;border-radius:50%;width:16px;height:16px;animation:1.6s ease-in-out infinite dotFlow-53077366;transform:scale(.5)}.dot-loader span[data-v-53077366]:first-child{animation-delay:0s}.dot-loader span[data-v-53077366]:nth-child(2){animation-delay:.2s}.dot-loader span[data-v-53077366]:nth-child(3){animation-delay:.4s}.dot-loader span[data-v-53077366]:nth-child(4){animation-delay:.6s}@keyframes float-53077366{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes dotFlow-53077366{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.2)}60%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@media (prefers-reduced-motion:reduce){.loading-character[data-v-53077366],.loading-glyph[data-v-53077366]{animation:none}}.home-screen[data-v-2c49ad5e]{background:var(--bg-grad);padding:calc(env(safe-area-inset-top) + 18px) 20px 0;box-sizing:border-box;padding-bottom:calc(var(--nav-height) + var(--nav-inset) + 16px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.header[data-v-2c49ad5e]{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.greeting[data-v-2c49ad5e]{color:var(--muted);margin:0;font-size:15px;font-weight:500}.name[data-v-2c49ad5e]{color:var(--ink);margin:2px 0 0;font-size:26px;font-weight:700}.logout-btn[data-v-2c49ad5e]{background:linear-gradient(135deg, var(--accent), var(--accent-deep));width:42px;height:42px;box-shadow:var(--shadow-card);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.logout-btn[data-v-2c49ad5e] .icon{color:#fff}.hero-card[data-v-2c49ad5e]{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:22px 20px;display:flex}.hero-time[data-v-2c49ad5e]{letter-spacing:1px;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:44px;font-weight:800}.hero-date[data-v-2c49ad5e]{color:var(--muted);margin:4px 0 0;font-size:14px;font-weight:500}.countdown-pill[data-v-2c49ad5e]{background:var(--accent-soft);color:var(--accent-deep);border-radius:999px;margin-top:14px;padding:7px 12px;font-size:12px;font-weight:600;display:inline-block}.hero-mascot[data-v-2c49ad5e]{aspect-ratio:1;flex-shrink:0;justify-content:center;align-items:center;width:clamp(104px,34vw,136px);display:flex;position:relative}.mascot-blob[data-v-2c49ad5e]{background:radial-gradient(circle at 35% 30%, var(--bg-soft), var(--accent-soft));border-radius:46% 54% 55% 45%/50% 46% 54% 50%;position:absolute;inset:4px}.hero-mascot img[data-v-2c49ad5e]{width:92%;animation:3.5s ease-in-out infinite float-2c49ad5e;position:relative}.replay-pill[data-v-2c49ad5e]{font-size:13px;font-weight:700;font-family:var(--font);color:var(--accent-deep);background:var(--accent-soft);cursor:pointer;border:none;border-radius:999px;align-self:flex-start;align-items:center;gap:8px;margin-top:14px;padding:10px 18px;transition:transform .2s;display:inline-flex}.replay-pill[data-v-2c49ad5e]:active{transform:scale(.96)}.replay-pill[data-v-2c49ad5e] .icon{color:var(--accent-deep)}.section-title[data-v-2c49ad5e]{color:var(--ink);margin:26px 4px 12px;font-size:16px;font-weight:700}.feature-grid[data-v-2c49ad5e]{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.feature-card[data-v-2c49ad5e]{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:center;cursor:pointer;font-family:var(--font);border:none;padding:18px 14px 16px;transition:transform .2s,box-shadow .2s}.feature-card[data-v-2c49ad5e]:active,.feature-card.active[data-v-2c49ad5e]{transform:scale(.96)}.feature-img[data-v-2c49ad5e]{background:var(--bg-soft);border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;margin:0 auto;display:flex;position:relative}.feature-img img[data-v-2c49ad5e]{object-fit:contain;width:76px;height:76px}.feature-card.locked .feature-img img[data-v-2c49ad5e]{filter:grayscale(.5)opacity(.55)}.feature-card.locked .feature-title[data-v-2c49ad5e]{color:var(--muted)}.lock-badge[data-v-2c49ad5e]{width:22px;height:22px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 6px #0000002e}.feature-card.shake[data-v-2c49ad5e]{animation:.4s cardShake-2c49ad5e}@keyframes cardShake-2c49ad5e{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}}.code-modal[data-v-2c49ad5e]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#4b244059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.code-card[data-v-2c49ad5e]{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);text-align:center;width:100%;max-width:320px;padding:24px 20px}.code-title[data-v-2c49ad5e]{color:var(--ink);margin:0;font-size:17px;font-weight:700}.code-hint[data-v-2c49ad5e]{color:var(--muted);margin:6px 0 0;font-size:13px}.code-input[data-v-2c49ad5e]{box-sizing:border-box;border-radius:var(--radius-sm);border:2px solid var(--bg-soft);background:var(--bg);text-align:center;width:100%;color:var(--ink);font-size:16px;font-family:var(--font);outline:none;margin-top:16px;padding:12px 14px}.code-input[data-v-2c49ad5e]:focus{border-color:var(--accent)}.code-input.error[data-v-2c49ad5e]{border-color:var(--accent-deep);animation:.4s cardShake-2c49ad5e}.code-error[data-v-2c49ad5e]{color:var(--accent-deep);margin:8px 0 0;font-size:13px;font-weight:600}.code-actions[data-v-2c49ad5e]{gap:10px;margin-top:18px;display:flex}.code-btn[data-v-2c49ad5e]{font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;border:none;border-radius:999px;flex:1;padding:12px 0}.code-btn.ghost[data-v-2c49ad5e]{background:var(--bg-soft);color:var(--ink)}.feature-title[data-v-2c49ad5e]{color:var(--ink);margin:12px 0 0;font-size:16px;font-weight:700}.feature-subtitle[data-v-2c49ad5e]{color:var(--muted);margin:3px 0 0;font-size:12px;font-weight:500}@keyframes float-2c49ad5e{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.loading-overlay[data-v-2c49ad5e]{background:var(--bg-grad);z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-character[data-v-2c49ad5e]{width:min(200px,54vw);margin-bottom:26px;animation:3s ease-in-out infinite float-2c49ad5e}.loading-text[data-v-2c49ad5e]{color:var(--ink);text-align:center;margin-bottom:26px;font-size:18px;font-weight:600}.dot-loader[data-v-2c49ad5e]{gap:12px;display:flex}.dot-loader span[data-v-2c49ad5e]{background:var(--accent);opacity:0;border-radius:50%;width:16px;height:16px;animation:1.6s ease-in-out infinite dotFlow-2c49ad5e;transform:scale(.5)}.dot-loader span[data-v-2c49ad5e]:first-child{animation-delay:0s}.dot-loader span[data-v-2c49ad5e]:nth-child(2){animation-delay:.2s}.dot-loader span[data-v-2c49ad5e]:nth-child(3){animation-delay:.4s}.dot-loader span[data-v-2c49ad5e]:nth-child(4){animation-delay:.6s}@keyframes dotFlow-2c49ad5e{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.2)}60%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.keepsake-screen[data-v-f9fede2d]{background:var(--bg-grad);padding:calc(env(safe-area-inset-top) + 18px) 20px 0;box-sizing:border-box;overscroll-behavior:contain;touch-action:pan-y;padding-bottom:calc(var(--nav-height) + var(--nav-inset) + 16px);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden auto}.header[data-v-f9fede2d]{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.greeting[data-v-f9fede2d]{color:var(--muted);margin:0;font-size:15px;font-weight:500}.name[data-v-f9fede2d]{color:var(--ink);margin:2px 0 0;font-size:26px;font-weight:700}.logout-btn[data-v-f9fede2d]{background:linear-gradient(135deg, var(--accent), var(--accent-deep));width:42px;height:42px;box-shadow:var(--shadow-card);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.logout-btn[data-v-f9fede2d] .icon{color:#fff}.hero-card[data-v-f9fede2d]{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:22px 20px;display:flex}.hero-time[data-v-f9fede2d]{letter-spacing:1px;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:44px;font-weight:800}.hero-date[data-v-f9fede2d]{color:var(--muted);margin:4px 0 0;font-size:14px;font-weight:500}.hero-line[data-v-f9fede2d]{color:var(--accent-deep);margin:14px 0 0;font-size:13px;font-style:italic;font-weight:600}.hero-mascot[data-v-f9fede2d]{aspect-ratio:1;flex-shrink:0;justify-content:center;align-items:center;width:clamp(112px,36vw,148px);display:flex;position:relative}.mascot-blob[data-v-f9fede2d]{background:radial-gradient(circle at 35% 30%, var(--bg-soft), var(--accent-soft));border-radius:46% 54% 55% 45%/50% 46% 54% 50%;position:absolute;inset:4px}.hero-mascot img[data-v-f9fede2d]{width:92%;animation:7s ease-in-out infinite heroLife-f9fede2d;position:relative}.hero-mascot .hero-glyph[data-v-f9fede2d]{color:var(--accent-deep);animation:7s ease-in-out infinite heroLife-f9fede2d;position:relative}@keyframes heroLife-f9fede2d{0%{transform:translateY(0)rotate(0)}14%{transform:translateY(-8px)rotate(0)}28%{transform:translateY(0)rotate(0)}42%{transform:translateY(-8px)rotate(0)}56%{transform:translateY(0)rotate(0)}63%{transform:translateY(-2px)rotate(-2.5deg)}70%{transform:translateY(-2px)rotate(2.5deg)}77%{transform:translateY(0)rotate(0)}to{transform:translateY(0)rotate(0)}}.hero-mascot.night img[data-v-f9fede2d]{animation:5.5s ease-in-out infinite heroSleep-f9fede2d}.hero-mascot.stretching img[data-v-f9fede2d]{animation:1.6s ease-in-out infinite heroStretch-f9fede2d}.zzz[data-v-f9fede2d]{width:34px;height:34px;animation:3.2s ease-in-out infinite zzzFloat-f9fede2d;position:absolute;top:-6px;right:-8px}@keyframes heroSleep-f9fede2d{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-2px)scale(1.015)}}@keyframes heroStretch-f9fede2d{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-11px)scale(1.05)}}@keyframes zzzFloat-f9fede2d{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}.relive-card[data-v-f9fede2d]{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--accent), var(--accent-deep));width:100%;box-shadow:var(--shadow-card);cursor:pointer;font-family:var(--font);text-align:left;border:none;align-items:center;gap:14px;margin-top:16px;padding:16px 18px;transition:transform .2s;display:flex}.relive-card[data-v-f9fede2d]:active{transform:scale(.97)}.relive-play[data-v-f9fede2d]{background:#ffffff38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.relive-play[data-v-f9fede2d] .icon{color:#fff}.relive-text[data-v-f9fede2d]{flex-direction:column;gap:2px;display:flex}.relive-title[data-v-f9fede2d]{color:#fff;font-size:16px;font-weight:700}.relive-sub[data-v-f9fede2d]{color:#ffffffd9;font-size:12.5px;font-weight:500}.keepsake-screen[data-skin=elegant] .relive-card[data-v-f9fede2d]{background:var(--card)}.keepsake-screen[data-skin=elegant] .relive-title[data-v-f9fede2d]{color:var(--ink)}.keepsake-screen[data-skin=elegant] .relive-sub[data-v-f9fede2d]{color:var(--muted)}.keepsake-screen[data-skin=elegant] .relive-play[data-v-f9fede2d]{background:var(--accent-soft)}.keepsake-screen[data-skin=elegant] .relive-play[data-v-f9fede2d] .icon{color:var(--accent-deep)}.keepsake-screen[data-skin=elegant] .hero-line[data-v-f9fede2d]{letter-spacing:.3px;font-style:normal}.section-title[data-v-f9fede2d]{color:var(--ink);margin:26px 4px 12px;font-size:16px;font-weight:700}.feature-grid[data-v-f9fede2d]{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.feature-card[data-v-f9fede2d]{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:center;cursor:pointer;font-family:var(--font);border:none;padding:18px 14px 16px;transition:transform .2s,box-shadow .2s;animation:.5s backwards cardRise-f9fede2d;position:relative;overflow:hidden}.feature-grid .feature-card[data-v-f9fede2d]:nth-child(2){animation-delay:70ms}.feature-grid .feature-card[data-v-f9fede2d]:nth-child(3){animation-delay:.14s}.feature-grid .feature-card[data-v-f9fede2d]:nth-child(4){animation-delay:.21s}.feature-grid .feature-card[data-v-f9fede2d]:nth-child(5){animation-delay:.28s}.feature-grid .feature-card[data-v-f9fede2d]:nth-child(6){animation-delay:.35s}.feature-grid .feature-card[data-v-f9fede2d]:nth-child(n+7){animation-delay:.42s}.feature-card[data-v-f9fede2d]:after{content:"";pointer-events:none;background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--accent) 10%, transparent) 50%, transparent 70%);animation:1.1s .5s both cardShimmer-f9fede2d;position:absolute;inset:0;transform:translate(-130%)}@keyframes cardRise-f9fede2d{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes cardShimmer-f9fede2d{to{transform:translate(130%)}}.feature-card[data-v-f9fede2d]:active,.feature-card.active[data-v-f9fede2d]{transform:scale(.96)}.feature-img[data-v-f9fede2d]{background:var(--bg-soft);border-radius:50%;justify-content:center;align-items:center;width:92px;height:92px;margin:0 auto;display:flex;position:relative}.feature-img img[data-v-f9fede2d]{object-fit:contain;width:76px;height:76px}.feature-img.typed[data-v-f9fede2d]{color:var(--accent-deep);background:var(--accent-soft)}.feature-title[data-v-f9fede2d]{color:var(--ink);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:12px 0 0;font-size:16px;font-weight:700;line-height:1.25;display:-webkit-box;overflow:hidden}.feature-subtitle[data-v-f9fede2d]{color:var(--muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;min-height:2.6em;margin:3px 0 0;font-size:12px;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.perk-card[data-v-f9fede2d]{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-card);text-align:center;margin-top:26px;padding:18px;position:relative}.perk-title[data-v-f9fede2d]{color:var(--ink);margin:0;font-size:16px;font-weight:700}.perk-sub[data-v-f9fede2d]{color:var(--muted);margin:4px 0 14px;font-size:12.5px}.perk-row[data-v-f9fede2d]{justify-content:center;gap:14px;display:flex;position:relative}.perk-btn[data-v-f9fede2d]{background:var(--bg-soft);width:52px;height:52px;color:var(--accent-deep);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:flex}.perk-btn[data-v-f9fede2d]:active{transform:scale(.9)}.perk-btn.sent[data-v-f9fede2d]{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;transform:scale(1.15)}.perk-burst[data-v-f9fede2d]{color:var(--accent);pointer-events:none;animation:1.1s ease-out both burstUp-f9fede2d;position:absolute;top:0;left:50%}.perk-ack[data-v-f9fede2d]{justify-content:center;align-items:center;gap:8px;margin-top:12px;display:flex}.perk-ack-img[data-v-f9fede2d]{object-fit:contain;width:38px;height:38px;animation:.6s ackNod-f9fede2d}.perk-thanks[data-v-f9fede2d]{color:var(--accent-deep);margin:0;font-size:13px;font-weight:600}@keyframes ackNod-f9fede2d{0%{transform:translateY(6px)scale(.7)}60%{transform:translateY(-3px)scale(1.06)}to{transform:translateY(0)scale(1)}}@keyframes burstUp-f9fede2d{0%{opacity:1;transform:translate(-50%)scale(.7)}to{opacity:0;transform:translate(-50%,-70px)scale(1.4)rotate(14deg)}}.fadeup-enter-active[data-v-f9fede2d],.fadeup-leave-active[data-v-f9fede2d]{transition:opacity .3s,transform .3s}.fadeup-enter-from[data-v-f9fede2d],.fadeup-leave-to[data-v-f9fede2d]{opacity:0;transform:translateY(6px)}@media (prefers-reduced-motion:reduce){.perk-burst[data-v-f9fede2d]{opacity:0;animation:none}}.plaque[data-v-f9fede2d]{border:1.5px solid color-mix(in srgb, var(--accent-deep) 28%, transparent);outline:1px solid color-mix(in srgb, var(--accent-deep) 12%, transparent);outline-offset:3px;background:color-mix(in srgb, var(--card) 65%, transparent);text-align:center;border-radius:6px;width:fit-content;max-width:88%;margin:28px auto 0;padding:9px 20px}.plaque-line[data-v-f9fede2d]{letter-spacing:.09em;text-transform:uppercase;color:var(--accent-deep);opacity:.85;font-size:11.5px;font-weight:700}.made-by[data-v-f9fede2d]{text-align:center;color:var(--accent-deep);opacity:.85;margin:30px 0 0;font-size:13px;font-style:italic;font-weight:600}.made-by+.made-with[data-v-f9fede2d]{margin-top:6px}.made-with[data-v-f9fede2d]{text-align:center;letter-spacing:.08em;color:var(--muted);opacity:.6;margin:30px 0 6px;font-size:11.5px;font-weight:600}.feature-card.locked .feature-img img[data-v-f9fede2d]{filter:grayscale(.5)opacity(.55)}.feature-card.locked .feature-title[data-v-f9fede2d]{color:var(--muted)}.lock-badge[data-v-f9fede2d]{width:22px;height:22px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;bottom:-2px;right:-2px;box-shadow:0 2px 6px #0000002e}.feature-card.shake[data-v-f9fede2d]{animation:.4s cardShake-f9fede2d}@keyframes cardShake-f9fede2d{0%,to{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}}@keyframes float-f9fede2d{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}.code-modal[data-v-f9fede2d]{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#4b244059;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.code-card[data-v-f9fede2d]{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);text-align:center;width:100%;max-width:320px;padding:24px 20px}.code-title[data-v-f9fede2d]{color:var(--ink);margin:0;font-size:17px;font-weight:700}.code-hint[data-v-f9fede2d]{color:var(--muted);margin:6px 0 0;font-size:13px}.code-input[data-v-f9fede2d]{box-sizing:border-box;border-radius:var(--radius-sm);border:2px solid var(--bg-soft);background:var(--bg);text-align:center;width:100%;color:var(--ink);font-size:16px;font-family:var(--font);outline:none;margin-top:16px;padding:12px 14px}.code-input[data-v-f9fede2d]:focus{border-color:var(--accent)}.code-input.error[data-v-f9fede2d]{border-color:var(--accent-deep);animation:.4s cardShake-f9fede2d}.code-error[data-v-f9fede2d]{color:var(--accent-deep);margin:8px 0 0;font-size:13px;font-weight:600}.code-actions[data-v-f9fede2d]{gap:10px;margin-top:18px;display:flex}.code-btn[data-v-f9fede2d]{font-size:15px;font-weight:600;font-family:var(--font);cursor:pointer;background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;border:none;border-radius:999px;flex:1;padding:12px 0}.code-btn.ghost[data-v-f9fede2d]{background:var(--bg-soft);color:var(--ink)}.loading-overlay[data-v-f9fede2d]{background:var(--bg-grad);z-index:9999;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.loading-character[data-v-f9fede2d]{width:min(200px,54vw);margin-bottom:26px;animation:3s ease-in-out infinite float-f9fede2d}.loading-glyph[data-v-f9fede2d]{width:108px;height:108px;color:var(--accent-deep);background:var(--accent-soft);border-radius:50%;place-items:center;margin-bottom:26px;animation:3s ease-in-out infinite float-f9fede2d;display:grid}.loading-text[data-v-f9fede2d]{color:var(--ink);text-align:center;margin-bottom:26px;font-size:18px;font-weight:600}.dot-loader[data-v-f9fede2d]{gap:12px;display:flex}.dot-loader span[data-v-f9fede2d]{background:var(--accent);opacity:0;border-radius:50%;width:16px;height:16px;animation:1.6s ease-in-out infinite dotFlow-f9fede2d;transform:scale(.5)}.dot-loader span[data-v-f9fede2d]:first-child{animation-delay:0s}.dot-loader span[data-v-f9fede2d]:nth-child(2){animation-delay:.2s}.dot-loader span[data-v-f9fede2d]:nth-child(3){animation-delay:.4s}.dot-loader span[data-v-f9fede2d]:nth-child(4){animation-delay:.6s}@keyframes dotFlow-f9fede2d{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.2)}60%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@media (prefers-reduced-motion:reduce){.hero-mascot img[data-v-f9fede2d],.hero-mascot.night img[data-v-f9fede2d],.hero-mascot.stretching img[data-v-f9fede2d],.hero-mascot .hero-glyph[data-v-f9fede2d],.zzz[data-v-f9fede2d],.loading-character[data-v-f9fede2d]{animation:none}.feature-card[data-v-f9fede2d]{animation:.3s backwards cardFadeOnly-f9fede2d}.feature-card[data-v-f9fede2d]:after{animation:none}}@keyframes cardFadeOnly-f9fede2d{0%{opacity:0}to{opacity:1}}.screen[data-v-4875b378]{background:var(--bg-grad);padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.screen.keyboard-open[data-v-4875b378]{transition:transform .3s;transform:translateY(-80px)}@keyframes float-4875b378{0%{transform:translateY(0)}50%{transform:translateY(-12px)}to{transform:translateY(0)}}.character[data-v-4875b378]{width:140px;margin-bottom:20px;animation:3s ease-in-out infinite float-4875b378}.message[data-v-4875b378]{color:var(--ink);text-align:center;margin-bottom:20px;font-size:20px;font-weight:600}.pin-box[data-v-4875b378]{background:var(--card);box-shadow:var(--shadow-card);border-radius:999px;gap:14px;margin-bottom:24px;padding:16px 28px;transition:all .2s;display:flex}.dot[data-v-4875b378]{background:var(--bg-soft);border-radius:50%;width:12px;height:12px;transition:background .15s,transform .15s}.dot.filled[data-v-4875b378]{background:var(--accent);transform:scale(1.1)}.hidden-input[data-v-4875b378]{opacity:0;pointer-events:auto;-webkit-user-select:text;user-select:text;position:absolute}.enter-btn[data-v-4875b378]{background:linear-gradient(135deg, var(--accent), var(--accent-deep));color:#fff;font-size:16px;font-weight:600;font-family:var(--font);box-shadow:0 8px 20px color-mix(in srgb, var(--accent-deep) 35%, transparent);cursor:pointer;border:none;border-radius:999px;padding:13px 52px;transition:all .2s}.enter-btn[data-v-4875b378]:active{transform:scale(.95)}.star[data-v-4875b378]{color:var(--gold);text-shadow:0 0 10px #ffcf67e6;opacity:.9;font-size:20px;transition:all .3s;animation:2s infinite twinkle-4875b378;position:absolute}@keyframes twinkle-4875b378{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.3)}}#star1[data-v-4875b378]{animation-delay:0s;top:50px;left:20px}#star2[data-v-4875b378]{animation-delay:.5s;top:90px;left:70px}#star3[data-v-4875b378]{animation-delay:1s;top:40px;right:40px}#star4[data-v-4875b378]{animation-delay:1.5s;bottom:100px;left:30px}#star5[data-v-4875b378]{animation-delay:2s;bottom:60px;right:50px}#star6[data-v-4875b378]{animation-delay:2.5s;bottom:40px;right:20px}#star7[data-v-4875b378]{animation-delay:3s;top:150px;left:120px}#star8[data-v-4875b378]{animation-delay:3.5s;bottom:180px;right:100px}@keyframes shake-4875b378{0%{transform:translate(0)}25%{transform:translate(-5px)}50%{transform:translate(5px)}75%{transform:translate(-5px)}to{transform:translate(0)}}.shake[data-v-4875b378]{animation:.3s shake-4875b378}.fade-enter-active[data-v-4875b378],.fade-leave-active[data-v-4875b378]{transition:opacity .3s}.fade-enter-from[data-v-4875b378],.fade-leave-to[data-v-4875b378]{opacity:0}.welcome-text[data-v-4875b378]{color:var(--ink);text-align:center;margin-top:15px;font-size:22px;font-weight:700}.dot-loader[data-v-4875b378]{justify-content:center;align-items:center;gap:10px;margin-top:30px;display:flex}.dot-loader span[data-v-4875b378]{background:var(--accent);opacity:0;border-radius:50%;width:18px;height:18px;animation:1.6s ease-in-out infinite dotFlow-4875b378;transform:scale(.5)}.dot-loader span[data-v-4875b378]:first-child{animation-delay:0s}.dot-loader span[data-v-4875b378]:nth-child(2){animation-delay:.2s}.dot-loader span[data-v-4875b378]:nth-child(3){animation-delay:.4s}.dot-loader span[data-v-4875b378]:nth-child(4){animation-delay:.6s}@keyframes dotFlow-4875b378{0%{opacity:0;transform:scale(.5)}30%{opacity:1;transform:scale(1.2)}60%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(.5)}}
