*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}:root{--neon-pink:#ff2d95;--neon-blue:#00d4ff;--neon-green:#39ff14;--neon-purple:#b026ff;--neon-yellow:#ffe600;--bg:#0a0a0f;--bg-dark:#0a0a0f;--bg-card:#111118;--bg-overlay:#000000d9;--text:#e0e0e0;--text-muted:#888;--border:#222;--bubble-other:#1a1a2e;--bubble-other-text:#e0e0e0;--bubble-po:#0d2818;--bubble-po-text:#a0f0c0;--bubble-me:var(--neon-pink);--bubble-me-text:#fff;--reply-bg:#ffffff0d;--chip-bg:#ffffff0d;--chip-active-bg:#ffffff26;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--pixel-font:"Press Start 2P", monospace;--app-font:var(--pixel-font);--app-img-rendering:pixelated;--fs-xxs:clamp(10px, 2vw, 15px);--fs-xs:clamp(13px, 2.8vw, 20px);--fs-sm:clamp(16px, 3.5vw, 24px);--fs-md:clamp(20px, 4.5vw, 32px);--fs-lg:clamp(26px, 6vw, 42px);--fs-xl:clamp(34px, 8vw, 54px);--fs-2xl:clamp(42px, 10vw, 72px);--fs-3xl:clamp(52px, 13vw, 92px)}[data-theme=tamagotchi][data-mode=light]{--bg:#f4f4f8;--bg-dark:#f4f4f8;--bg-card:#fff;--bg-overlay:#ffffffe6;--text:#1a1a2e;--text-muted:#777;--border:#e0e0e8;--bubble-other:#fff;--bubble-other-text:#1a1a2e;--bubble-po:#0d2818;--bubble-po-text:#a0f0c0;--reply-bg:#0000000d;--chip-bg:#0000000f;--chip-active-bg:#0000001f}[data-theme=tg]{--neon-pink:#ff5050;--neon-blue:#3390ec;--neon-green:#30d158;--neon-purple:#8e7cff;--neon-yellow:#ffc53d;--bg:#0e1621;--bg-dark:#0e1621;--bg-card:#17212b;--bg-overlay:#0e1621d9;--text:#f5f5f5;--text-muted:#8696a8;--border:#232e3c;--bubble-other:#182533;--bubble-other-text:#f5f5f5;--bubble-po:#232f3d;--bubble-po-text:#9bb8d8;--bubble-me:#2b5278;--bubble-me-text:#fff;--reply-bg:#ffffff12;--chip-bg:#ffffff0f;--chip-active-bg:#ffffff24;--app-font:-apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--app-img-rendering:auto}[data-theme=tg][data-mode=light]{--neon-pink:#e53935;--neon-blue:#2ea6ff;--neon-green:#2eaa47;--bg:#fff;--bg-dark:#e6ebee;--bg-card:#fff;--bg-overlay:#ffffffe6;--text:#000;--text-muted:#7d7f8c;--border:#dfe4e8;--bubble-other:#fff;--bubble-other-text:#000;--bubble-po:#f0f4f7;--bubble-po-text:#3d4a58;--bubble-me:#eeffde;--bubble-me-text:#0f0f0f;--reply-bg:#0000000d;--chip-bg:#0000000d;--chip-active-bg:#0000001a}[data-theme=wa]{--neon-pink:#ff5050;--neon-blue:#53bdeb;--neon-green:#25d366;--neon-purple:#8e7cff;--neon-yellow:#ffc53d;--bg:#0b141a;--bg-dark:#0b141a;--bg-card:#202c33;--bg-overlay:#0b141ad9;--text:#e9edef;--text-muted:#8696a0;--border:#2a3942;--bubble-other:#202c33;--bubble-other-text:#e9edef;--bubble-po:#1f2c33;--bubble-po-text:#a8bfca;--bubble-me:#005c4b;--bubble-me-text:#e9edef;--reply-bg:#ffffff12;--chip-bg:#ffffff0f;--chip-active-bg:#ffffff24;--app-font:-apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--app-img-rendering:auto}[data-theme=wa][data-mode=light]{--neon-pink:#f5455c;--neon-blue:#027eb5;--neon-green:#25d366;--bg:#efeae2;--bg-dark:#efeae2;--bg-card:#fff;--bg-overlay:#ffffffeb;--text:#111b21;--text-muted:#667781;--border:#dfe3e8;--bubble-other:#fff;--bubble-other-text:#111b21;--bubble-po:#d1f7dc;--bubble-po-text:#054d33;--bubble-me:#d9fdd3;--bubble-me-text:#111b21;--reply-bg:#0000000d;--chip-bg:#0000000a;--chip-active-bg:#00000017}html,body,#root{touch-action:manipulation;-webkit-user-select:none;user-select:none;width:100%;height:100dvh;overflow:hidden}body{font-family:var(--app-font);background-color:var(--bg-dark);color:var(--text);line-height:1.4;font-size:var(--fs-sm);image-rendering:var(--app-img-rendering)}#root{background:radial-gradient(ellipse at 20% 50%, #00d4ff0d 0%, transparent 50%), radial-gradient(ellipse at 80% 50%, #ff2d950d 0%, transparent 50%), var(--bg-dark);flex-direction:column;display:flex}[data-theme=tg] #root,[data-theme=wa] #root{background:var(--bg-dark)}.page{-webkit-overflow-scrolling:touch;padding:1rem;padding-top:max(3rem, env(safe-area-inset-top));padding-bottom:max(1rem, env(safe-area-inset-bottom));flex-direction:column;flex:1;gap:1rem;display:flex;position:relative;overflow:hidden auto}.pixel-border{border:2px solid var(--neon-blue);box-shadow:0 0 5px var(--neon-blue), 0 0 10px var(--neon-blue), inset 0 0 5px #00d4ff1a;image-rendering:pixelated}.neon-text{text-shadow:0 0 5px,0 0 10px,0 0 20px}.neon-pink{color:var(--neon-pink);text-shadow:0 0 5px var(--neon-pink), 0 0 10px var(--neon-pink)}.neon-blue{color:var(--neon-blue);text-shadow:0 0 5px var(--neon-blue), 0 0 10px var(--neon-blue)}.neon-green{color:var(--neon-green);text-shadow:0 0 5px var(--neon-green), 0 0 10px var(--neon-green)}.neon-purple{color:var(--neon-purple);text-shadow:0 0 5px var(--neon-purple), 0 0 10px var(--neon-purple)}.neon-yellow{color:var(--neon-yellow);text-shadow:0 0 5px var(--neon-yellow), 0 0 10px var(--neon-yellow)}[data-theme=tg] .neon-pink,[data-theme=tg] .neon-blue,[data-theme=tg] .neon-green,[data-theme=tg] .neon-purple,[data-theme=tg] .neon-yellow,[data-theme=wa] .neon-pink,[data-theme=wa] .neon-blue,[data-theme=wa] .neon-green,[data-theme=wa] .neon-purple,[data-theme=wa] .neon-yellow{text-shadow:none}[data-theme=tg] .pixel-border,[data-theme=wa] .pixel-border{border-radius:10px}@keyframes glitch{0%{text-shadow:2px 0 var(--neon-pink), -2px 0 var(--neon-blue)}25%{text-shadow:-2px 0 var(--neon-pink), 2px 0 var(--neon-blue)}50%{text-shadow:2px 0 var(--neon-blue), -2px 0 var(--neon-pink)}75%{text-shadow:-2px 0 var(--neon-blue), 2px 0 var(--neon-pink)}to{text-shadow:2px 0 var(--neon-pink), -2px 0 var(--neon-blue)}}.glitch{animation:.3s infinite glitch}.scanlines{pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,#0000,#0000 2px,#00000008 2px 4px);width:100%;height:100%;position:fixed;top:0;left:0}.btn{font-family:var(--app-font);font-size:var(--fs-sm);color:var(--neon-blue);border:1px solid var(--neon-blue);cursor:pointer;text-transform:uppercase;letter-spacing:1px;image-rendering:pixelated;touch-action:manipulation;background:0 0;padding:clamp(.4rem,1.5vw,1rem) clamp(.6rem,2vw,1.5rem);transition:all .2s}.btn:hover,.btn:active{background:var(--neon-blue);color:var(--bg-dark);box-shadow:0 0 10px var(--neon-blue)}.btn-primary{border-color:var(--neon-pink);color:var(--neon-pink)}.btn-primary:hover,.btn-primary:active{background:var(--neon-pink);color:var(--bg-dark);box-shadow:0 0 10px var(--neon-pink)}.btn-success{border-color:var(--neon-green);color:var(--neon-green)}.btn-success:hover,.btn-success:active{background:var(--neon-green);color:var(--bg-dark);box-shadow:0 0 10px var(--neon-green)}.btn:disabled{opacity:.4;pointer-events:none}.neon-card{background:var(--bg-card);border:1px solid var(--border);padding:1.5rem;position:relative;overflow:hidden}.neon-card:before{content:"";pointer-events:none;border:1px solid #0000;position:absolute;inset:-1px}.neon-card.highlight{border-color:var(--neon-purple);box-shadow:0 0 10px #b026ff33,inset 0 0 10px #b026ff0d}.progress-bar{background:var(--border);width:100%;height:8px;position:relative;overflow:hidden}.progress-fill{height:100%;transition:width .5s;position:relative}.progress-fill:after{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);animation:1.5s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pageOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-8px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes heartFloat{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-120px)scale(.5)}}@keyframes heartFx{0%{opacity:0;transform:translate(-50%)scale(.4)}20%{opacity:1;transform:translate(-50%,-12px)scale(1.4)}55%{opacity:1;transform:translate(-50%,-30px)scale(1.1)}to{opacity:0;transform:translate(-50%,-72px)scale(1.7)}}.heart-fx{pointer-events:none;z-index:5;font-size:30px;animation:.9s ease-out forwards heartFx;position:absolute;top:15%;left:50%}@keyframes eatFood{0%{opacity:1;transform:translate(-50%,-130%)scale(.8)}60%{opacity:.9;transform:translate(-50%,-60%)scale(.6)}to{opacity:0;transform:translate(-50%,-50%)scale(0)}}@keyframes dropFall{0%{opacity:.8;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(280px)scale(.5)}}@keyframes starFloat{0%{transform:translateY(-100vh)}to{transform:translateY(100vh)}}@keyframes rocketShake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-2px,1px)rotate(-1deg)}50%{transform:translate(2px,-1px)rotate(1deg)}75%{transform:translate(-1px,-1px)rotate(0)}}@keyframes rocketFloat{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes crabAppear{0%{opacity:0;transform:scale(0)rotate(-180deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}75%{transform:translate(4px)}}@keyframes starFall{0%{opacity:0;transform:translateY(-20px)}10%{opacity:.6}90%{opacity:.6}to{opacity:0;transform:translateY(400px)}}@keyframes bubbleFloat{0%{opacity:0;transform:translateY(0)scale(.3)}20%{opacity:.9}to{opacity:0;transform:translateY(-320px)scale(1)}}.gem-matched{animation:.25s forwards gemPop!important}.gem-new{opacity:0;animation:.3s forwards gemDrop!important}.gem-hint{animation:.6s ease-in-out infinite gemHint!important}.gem-swap{animation:.15s gemSwap!important}@keyframes gemPop{0%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}to{opacity:0;transform:scale(0)}}@keyframes gemDrop{0%{opacity:0;transform:translateY(-100%)}60%{opacity:1}to{opacity:1;transform:translateY(0)}}@keyframes gemHint{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes gemSwap{0%{transform:scale(1)}50%{transform:scale(.85)}to{transform:scale(1)}}@keyframes scoreFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.fade-in{animation:.5s forwards fadeIn}.pulse{animation:2s infinite pulse}.float{animation:3s ease-in-out infinite float}.blink{animation:1s step-end infinite blink}.status-bar{border-bottom:1px solid var(--border);font-size:var(--fs-xxs);color:var(--text-muted);justify-content:space-between;align-items:center;margin-bottom:.5rem;padding:.5rem 0;display:flex}.pixel-avatar{image-rendering:pixelated;image-rendering:crisp-edges}::-webkit-scrollbar{display:none}@keyframes typingDot{0%,20%{opacity:0}50%{opacity:1}to{opacity:0}}.typing-dots span{animation:1.4s infinite typingDot}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.drag-handle{touch-action:none;-webkit-user-select:none;user-select:none}.sortable-ghost{opacity:.4}.sortable-chosen{box-shadow:0 0 0 1px var(--neon-blue), 0 0 12px #00d4ff66}.sortable-drag{opacity:.9;cursor:grabbing}.safe-bottom{padding-bottom:var(--safe-bottom)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.close-overlay-btn{z-index:10;cursor:pointer;color:var(--text-muted);font-family:var(--app-font);background:0 0;border:none;position:absolute;top:.5rem;right:.5rem}.story-text{font-size:var(--fs-xs);color:var(--text);line-height:2}.noir-dialogue{background:var(--bg-card);border:1px solid #333;border-radius:12px;padding:1.5rem}.game-overlay{z-index:100;background:var(--bg-overlay);padding:2rem;padding-top:calc(2rem + var(--safe-top));padding-bottom:calc(2rem + var(--safe-bottom));flex-direction:column;justify-content:center;align-items:center;gap:.8rem;display:flex;position:fixed;inset:0}.header-bar{cursor:pointer;width:100%;font-size:var(--fs-xxs)}.flex{display:flex}.flex-col{flex-direction:column;display:flex}.flex-1{flex:1}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-4{gap:.4rem}.gap-5{gap:.5rem}.gap-6{gap:.6rem}.gap-8{gap:.8rem}.p-4{padding:.4rem}.p-5{padding:.5rem}.p-6{padding:.6rem}.p-7{padding:.7rem}.p-8{padding:.8rem}.rounded-4{border-radius:4px}.rounded-6{border-radius:6px}.rounded-8{border-radius:8px}.rounded-10{border-radius:10px}.rounded-12{border-radius:12px}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.text-left{text-align:left}.w-full{width:100%}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.cursor-pointer{cursor:pointer}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.font-inherit{font-family:inherit}.outline-none{outline:none}.box-border{box-sizing:border-box}.fs-xxs{font-size:var(--fs-xxs)}.fs-xs{font-size:var(--fs-xs)}.fs-sm{font-size:var(--fs-sm)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes floatUp{0%{opacity:1;transform:translateY(0)scale(.5)}to{opacity:0;transform:translateY(-60px)scale(1.2)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.1)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes effectTill{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-20px)scale(.3)}}@keyframes effectWater{0%{opacity:1;transform:translateY(-10px)}to{opacity:0;transform:translateY(10px)}}@keyframes effectPlant{0%{opacity:0;transform:translateY(-10px)scale(.5)}40%{opacity:1}to{opacity:0;transform:translateY(0)scale(1)}}@keyframes effectParticle{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(0);opacity:0}}
