:root{--pink:#ffb7b2;--lavender:#e2bbfd;--blue:#b5eaea;--cream:#fff3e3;--text-dark:#6d597a;--glass:#fff9;--glass-border:#fffc}body,html{background-color:var(--pink);width:100vw;height:100vh;color:var(--text-dark);margin:0;padding:0;font-family:Quicksand,sans-serif;overflow:hidden}#canvas-container{z-index:1;background-color:var(--cream);width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.sketchfab-embed-wrapper{pointer-events:auto;width:auto;height:auto;position:absolute;inset:-100px -80px}.sketchfab-embed-wrapper iframe{border:none;width:100%;height:100%}#ui-layer{z-index:10;pointer-events:none;place-items:center;width:100%;height:100%;display:grid;position:absolute;top:0;left:0}#ui-layer>*,#ui-layer button,.glass-panel{z-index:50;position:relative;pointer-events:all!important}.glass-panel{text-align:center;background:#ffffffeb;border:2px solid #fff;border-radius:30px;grid-area:1/1;width:400px;max-width:90%;padding:40px;transition:opacity .5s;box-shadow:0 8px 32px #ffb7b266}.glass-panel.hidden{opacity:0;visibility:hidden;transform:scale(.9)translateY(20px);pointer-events:none!important}.glass-panel.active{opacity:1;visibility:visible;transform:scale(1)translateY(0);pointer-events:all!important}button{background:linear-gradient(135deg, var(--pink), var(--lavender));color:#fff;cursor:pointer;z-index:100;border:none;border-radius:25px;padding:12px 24px;font-family:Quicksand,sans-serif;font-size:1.1rem;font-weight:700;transition:transform .2s,box-shadow .2s;position:relative;box-shadow:0 4px 15px #e2bbfd99;pointer-events:all!important}button:hover{transform:scale(1.05)translateY(-2px);box-shadow:0 6px 20px #e2bbfdcc}button:active{transform:scale(.95)}.mt-4{margin-top:20px}h1{color:var(--text-dark);background:0 0;margin-bottom:10px;font-size:2.5rem}h2{color:var(--text-dark);background:0 0;margin-bottom:15px;font-size:1.8rem}p{color:var(--text-dark);background:0 0;margin-bottom:15px;font-size:1.2rem;font-weight:700;line-height:1.5}.envelope{background:var(--cream);border:2px solid #fff;border-radius:10px;margin-bottom:20px;padding:20px;position:relative;box-shadow:0 4px 15px #0000001a}.envelope-paper{border:1px dashed var(--pink);background:#fff;border-radius:8px;padding:20px}.wishes-grid{justify-content:center;gap:20px;margin-bottom:10px;display:flex}.wish-star{cursor:pointer;-webkit-user-select:none;user-select:none;font-size:3rem;transition:transform .3s}.wish-star:hover{filter:drop-shadow(0 0 10px var(--cream));transform:scale(1.3)rotate(15deg)}#wish-text-display{min-height:30px;color:var(--pink);font-size:1.3rem;font-weight:700}.polaroid-container{justify-content:center;gap:15px;margin-top:10px;display:flex}.polaroid{background:#fff;border-radius:5px;padding:10px 10px 30px;box-shadow:0 4px 10px #0000001a}.polaroid .photo{border-radius:5px;justify-content:center;align-items:center;width:60px;height:60px;font-size:2rem;display:flex}.pink-bg{background-color:var(--pink)}.lavender-bg{background-color:var(--lavender)}.blue-bg{background-color:var(--blue)}.polaroid p{color:var(--text-dark);margin:10px 0 0;font-size:.9rem;font-weight:700}.tilt-left{transform:rotate(-5deg)}.tilt-right{transform:rotate(5deg)}.floating{animation:3s ease-in-out infinite float}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.hint-bounce{animation:2s ease-in-out infinite hintBounce}@keyframes hintBounce{0%,to{transform:translateY(0) rotate(var(--rot,0deg))}50%{transform:translateY(-5px) rotate(var(--rot,0deg))}}.tilt-left{--rot:-5deg}.tilt-right{--rot:5deg}#sec-final #magic-btn{padding:15px 30px;font-size:1.5rem;animation:1.5s infinite pulse}@keyframes pulse{0%{transform:scale(1);box-shadow:0 0 #e2bbfdb3}50%{transform:scale(1.05);box-shadow:0 0 0 15px #e2bbfd00}to{transform:scale(1);box-shadow:0 0 #e2bbfd00}}#magic-overlay{pointer-events:none;z-index:100;justify-content:center;align-items:center;transition:opacity 1s;display:flex;position:absolute;inset:0}#magic-overlay.hidden{opacity:0}#magic-overlay:not(.hidden){opacity:1}.glowing-text{color:#fff;text-align:center;text-shadow:0 0 20px var(--pink), 0 0 40px var(--lavender), 0 0 60px white;font-size:3rem;animation:2s ease-out forwards zoomText}@keyframes zoomText{0%{opacity:0;transform:scale(.5)}50%{opacity:1}to{opacity:1;transform:scale(1)}}.particle{pointer-events:none;z-index:99;font-size:2rem;position:absolute}@media (width<=600px){.glass-panel{border-radius:20px;width:92%;padding:25px}h1{font-size:2rem}h2{font-size:1.5rem}p{font-size:1rem}.wish-star{font-size:2.5rem}#wish-text-display{font-size:1.1rem}.glowing-text{font-size:2rem}button{padding:10px 20px;font-size:1rem}}
