:root{font-family:Inter,Segoe UI,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#2d2d2d;background:linear-gradient(135deg,#667eea,#764ba2);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;align-items:center;justify-content:center;min-width:320px;height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);background-attachment:fixed}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.panda-birthday-container{width:80vw;margin:2vh auto;background:linear-gradient(135deg,#ffecd2,#fcb69f);border-radius:32px;box-shadow:0 20px 60px #0000002e;padding:2.5rem 1.5rem;text-align:center;position:relative;overflow:hidden}.panda-birthday-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);animation:rotate-bg 20s linear infinite}@keyframes rotate-bg{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.gift-btn,.candle-btn,.unlock-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:16px;padding:1em 2.5em;font-size:1.2em;font-weight:600;margin:1.5em 0;cursor:pointer;box-shadow:0 8px 24px #667eea66;transition:all .3s ease;position:relative;z-index:1;text-transform:uppercase;letter-spacing:1px}.gift-btn:hover,.candle-btn:hover,.unlock-btn:hover{transform:translateY(-4px);box-shadow:0 12px 32px #667eea99}.gift-btn:active,.candle-btn:active,.unlock-btn:active{transform:translateY(-2px)}.confetti{font-size:3em;margin:1em 0;animation:confetti-pop 1.5s ease-in-out;position:relative;z-index:10}@keyframes confetti-pop{0%{opacity:0;transform:scale(.3) rotate(-180deg)}50%{opacity:1;transform:scale(1.3) rotate(10deg)}to{opacity:1;transform:scale(1) rotate(0)}}.welcome-screen{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center}.welcome-screen h1{color:#4a148c;font-size:2.5em;margin-bottom:.5em;font-weight:800;text-shadow:2px 2px 8px rgba(0,0,0,.1);background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-align:center}.gift-screen,.final-gift,.final-gift-locked{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center}:is(.gift-screen,.final-gift,.final-gift-locked) .final-gift-card{width:100%;max-width:520px;background:linear-gradient(180deg,#fff,#fff8f2);border-radius:14px;padding:18px;box-shadow:0 8px 30px #1814281f;text-align:center}:is(.gift-screen,.final-gift,.final-gift-locked) .voucher-card{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 0 18px;padding:10px;border-radius:10px;background:linear-gradient(90deg,#fff5f8,#f0fffb);border:1px dashed rgba(0,0,0,.06)}:is(.gift-screen,.final-gift,.final-gift-locked) .voucher-left{display:flex;flex-direction:column;align-items:flex-start}:is(.gift-screen,.final-gift,.final-gift-locked) .voucher-amount{font-size:28px;font-weight:800;color:#2a6f6b}:is(.gift-screen,.final-gift,.final-gift-locked) .voucher-desc{font-size:12px;color:#6b6b6b}:is(.gift-screen,.final-gift,.final-gift-locked) .voucher-right{display:flex;align-items:center;gap:8px}:is(.gift-screen,.final-gift,.final-gift-locked) .coupon-code{font-weight:700;background:#fff;padding:8px 10px;border-radius:8px;box-shadow:0 2px 8px #0c0c0c0f}:is(.gift-screen,.final-gift,.final-gift-locked) .assistant-card{margin-top:6px;padding:12px;border-radius:10px;background:linear-gradient(180deg,#fff,#f7fbff);border:1px solid rgba(20,80,120,.04);text-align:left}:is(.gift-screen,.final-gift,.final-gift-locked) .copied-badge{font-size:12px;background:#2a6f6b;color:#fff;padding:6px 8px;border-radius:8px}.gift-screen h2,.final-gift h2,.final-gift-locked h2{color:#4a148c;font-size:1.5em;margin:1.5em 0;font-weight:700;line-height:1.6;padding:1em;background:#fffc;border-radius:20px;box-shadow:0 4px 16px #0000001a;text-align:center;max-width:90%}.final-gift-locked input{padding:1em 1.5em;border-radius:16px;border:3px solid #667eea;font-size:1.1em;margin-bottom:1em;outline:none;transition:all .3s ease;background:#ffffffe6;box-shadow:0 4px 16px #667eea33}.final-gift-locked input:focus{border-color:#764ba2;box-shadow:0 6px 24px #667eea66;transform:scale(1.02)}.final-gift-locked p{color:#4a148c;font-size:1.1em;font-weight:600;margin:1em 0}.waiting-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:1.5rem}.waiting-message{color:#5a2a7a;font-weight:600;max-width:78%}.countdown{display:flex;gap:10px;margin:8px 0 14px;align-items:center}.countdown-item{background:linear-gradient(180deg,#fff,#fff7fb);padding:10px 14px;border-radius:10px;min-width:64px;box-shadow:0 6px 18px #1414280f}.countdown-item .count{font-weight:800;color:#2c6f6b;font-size:1.3em}.countdown-item .label{font-size:12px;color:#6b6b6b}.waiting-pandas{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap;justify-content:center}.panda-small .panda-frame{width:72px;height:72px;border-radius:50%;overflow:hidden;display:inline-flex;align-items:center;justify-content:center}.panda-small .panda-img{width:64px;height:64px;object-fit:cover}.waiting-note{margin-top:6px;font-weight:700;color:#4a148c}.candles-container{display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:1.2em auto;max-width:360px;width:100%}.heart-game{margin:2em 0;padding:1.5em;background:#ffffffe6;border-radius:20px;box-shadow:0 4px 16px #0000001a}.game-instruction{color:#4a148c;font-size:1.2em;font-weight:700;margin-bottom:1em}.heart-field{position:relative;width:100%;max-width:360px;height:clamp(220px,40vh,340px);background:linear-gradient(135deg,#ffeef8,#ffe0f0);border-radius:16px;overflow:hidden;box-shadow:inset 0 2px 8px #0000000f;margin:0 auto}.heart-item{position:absolute;font-size:2em;cursor:pointer;transition:all .3s ease;animation:heart-float 3s ease-in-out infinite;-webkit-user-select:none;user-select:none}.heart-item:hover{transform:scale(1.3) rotate(15deg)}.heart-found{animation:heart-collect .5s ease-out forwards;pointer-events:none}@keyframes heart-float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes heart-collect{0%{transform:scale(1);opacity:1}to{transform:scale(2) translateY(-50px);opacity:0}}.heart-item{z-index:5;touch-action:manipulation}.candles-section{margin:.5em 0;position:relative;z-index:1}.candle-title{color:#4a148c;font-size:1.4em;font-weight:700;margin-bottom:1.5em;text-shadow:1px 1px 4px rgba(0,0,0,.1)}.candles-container{display:flex;justify-content:center;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:2em auto;max-width:400px}.candle-container{cursor:pointer;transition:transform .3s ease;display:flex;flex-direction:column;align-items:center}.candle-container:hover{transform:scale(1.1)}.flame{font-size:1.5em;margin-bottom:4px;transition:all .3s ease}.flame-lit{animation:flicker 1.5s infinite}.flame-out{opacity:0;transform:scale(0)}@keyframes flicker{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1) translateY(-2px)}}.candle-stick{width:20px;height:60px;background:linear-gradient(180deg,gold,#ffed4e,gold);border-radius:4px 4px 0 0;position:relative;box-shadow:0 2px 8px #ffd70066}.candle-wax{position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:8px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0003}@media(max-width:600px){.panda-birthday-container{padding:1.5rem 1rem;border-radius:20px}.welcome-screen h1{font-size:1.8rem}.gift-screen h2,.final-gift h2,.final-gift-locked h2{font-size:1.1rem;padding:.8rem}.heart-field{height:260px;max-width:320px}.candles-container{gap:8px;max-width:320px}.gift-btn,.unlock-btn{width:100%;padding:.9em 1em;font-size:1rem}}@media(min-width:900px){.panda-birthday-container{width:80vw;margin:4vh auto;padding:3rem 2.25rem}.panda-frame .panda-img{width:220px;height:220px}}.panda-anim-container{display:flex;justify-content:center;align-items:center;margin:1.5rem 0}.panda-frame{border-radius:50%;padding:8px;background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 8px 32px #667eea66;transition:all .4s ease}.panda-img{width:clamp(140px,28vw,220px);height:clamp(140px,28vw,220px);object-fit:cover;border-radius:50%;transition:transform .3s;display:block}.panda-bounce .panda-frame{animation:panda-bounce 1.2s ease-in-out}@keyframes panda-bounce{0%,to{transform:translateY(0) rotate(0)}25%{transform:translateY(-15px) rotate(-5deg)}75%{transform:translateY(-10px) rotate(5deg)}}.bamboo{width:60px;height:120px;background:linear-gradient(180deg,#a3d977,#7bb661,#5a9448);border-radius:16px;margin:0 10px;position:relative;box-shadow:0 4px 16px #6bb6614d;transition:all .3s ease;cursor:pointer}.bamboo:hover{transform:scale(1.1) rotate(3deg);box-shadow:0 6px 24px #6bb66180}.bamboo-leaf{position:absolute;top:-18px;left:10px;width:32px;height:18px;background:linear-gradient(135deg,#a3d977,#7bb661);border-radius:0 0 32px 32px;transform:rotate(-20deg);box-shadow:0 2px 8px #0000001a}
