:root{--primary-color:#ff2a5f;--secondary-color:#ff758c;--bg-gradient-1:#050505;--bg-gradient-2:#12101a;--text-color:#e0e0e0;--glass-bg:#141419b3;--glass-border:#ffffff14;--glass-shadow:#000c;--font-heading:"Silkscreen", monospace;--font-body:"VT323", monospace}*{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior:none!important}body{font-family:var(--font-body);background:linear-gradient(135deg, var(--bg-gradient-1), var(--bg-gradient-2));min-height:100vh;color:var(--text-color);letter-spacing:1px;background-size:400% 400%;margin:0;animation:15s infinite gradientBG}@keyframes gradientBG{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}#root{width:100%;height:100vh}#app{width:100%;height:100vh;position:relative}.locked-app{justify-content:center;align-items:center;display:flex;overflow:hidden}.scrollable-app{overflow:hidden auto}.screen-active{justify-content:center;align-items:center;width:100%;min-height:100vh;padding:2rem;display:flex;position:absolute;top:0;left:0}.scrollable-app .screen-active{position:relative}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);text-align:center;box-shadow:0 8px 32px 0 var(--glass-shadow);border-radius:4px;width:550px;max-width:90%;padding:3rem}h1{font-family:var(--font-heading);color:#fff;text-shadow:0 0 10px #ff2a5f66;margin-bottom:1.5rem;font-size:1.5rem;line-height:1.4}p{color:silver;margin-bottom:2rem;font-size:1.5rem;line-height:1.6}.glow-btn{color:var(--primary-color);border:2px solid var(--primary-color);font-size:1rem;font-family:var(--font-heading);cursor:pointer;text-transform:uppercase;background:0 0;border-radius:0;margin-top:1rem;padding:1rem 2.5rem;transition:all .3s;box-shadow:0 0 10px #ff2a5f33,inset 0 0 10px #ff2a5f1a}.glow-btn:hover{background:var(--primary-color);color:#000;transform:translateY(-2px);box-shadow:0 0 20px #ff2a5f99,inset 0 0 10px #fff3}.glow-btn:active{transform:translateY(2px)}.pin-card{width:450px}.pin-display{justify-content:center;gap:1rem;margin:2rem 0;display:flex}.pin-dot{background:#ffffff0d;border:1px solid #fff3;border-radius:0;width:20px;height:20px;transition:all .2s}.pin-dot.filled{background:var(--primary-color);border-color:var(--primary-color);box-shadow:0 0 10px var(--primary-color)}.keypad{grid-template-columns:repeat(3,1fr);gap:.8rem;margin-bottom:1rem;display:grid}.key{border:1px solid var(--glass-border);color:#fff;cursor:pointer;font-size:2rem;font-family:var(--font-body);background:#0009;border-radius:0;padding:1rem;transition:all .2s}.key:hover{border-color:var(--primary-color);background:#ffffff1a}.key:active{background:var(--primary-color);color:#000;transform:scale(.95)}.action-key{color:var(--primary-color)}.error-text{color:var(--primary-color);text-shadow:0 0 5px #ff2a5f80;font-size:1.4rem;font-family:var(--font-heading);margin-top:1rem;margin-bottom:0;transition:opacity .3s}.content-wrapper{flex-direction:column;align-items:center;width:100%;max-width:1000px;margin-top:5rem;margin-bottom:5rem;display:flex}.title{color:var(--primary-color);text-shadow:0 0 15px #ff2a5f99;margin-bottom:1.5rem;font-size:2.2rem}.message-text{color:#e0e0e0;font-size:1.2rem}.gallery{flex-wrap:wrap;justify-content:center;gap:3rem;width:100%;margin-top:5rem;display:flex}.polaroid{will-change:transform, opacity;background:#111;border:1px solid #333;width:280px;padding:15px 15px 30px;transition:transform .4s,box-shadow .4s,border-color .4s;box-shadow:0 15px 30px #000c}.polaroid:hover{border-color:var(--primary-color);z-index:10;box-shadow:0 20px 40px #ff2a5f33;transform:scale(1.1)rotate(0)!important}.clickable-polaroid{cursor:pointer}.polaroid img{object-fit:cover;filter:grayscale(15%)contrast(110%);background:#000;border:1px solid #222;width:100%;height:250px}.polaroid .caption{font-family:var(--font-body);color:#aaa;text-align:center;margin-top:15px;font-size:1.5rem}.music-player-container{justify-content:center;width:100%;margin:3rem 0 0;display:flex}.boombox{border:2px solid var(--glass-border);background:#141419cc;border-radius:4px;align-items:center;gap:2.5rem;padding:1.5rem 2.5rem;display:flex;box-shadow:0 10px 30px #000c,inset 0 0 15px #ff2a5f0d}.speaker{background:#111;border:4px solid #333;border-radius:50%;width:70px;height:70px;position:relative;box-shadow:inset 0 0 15px #000}.speaker:after{content:"";background:#222;border:2px solid #111;border-radius:50%;width:25px;height:25px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.speaker.pump{animation:.35s ease-in-out infinite alternate pump}@keyframes pump{0%{box-shadow:0 0 5px var(--primary-color);border-color:#333;transform:scale(1)}to{box-shadow:0 0 25px var(--primary-color);border-color:var(--primary-color);transform:scale(1.08)}}.controls{flex-direction:column;align-items:center;gap:1.2rem;display:flex}.song-title{font-family:var(--font-heading);color:var(--primary-color);text-shadow:0 0 8px #ff2a5f80;letter-spacing:2px;margin:0;font-size:1.2rem}.play-btn{margin-top:0;padding:.6rem 2rem;font-size:1.2rem}.equalizer{align-items:flex-end;gap:5px;height:24px;display:flex}.bar{background:var(--primary-color);width:8px;height:4px;box-shadow:0 0 8px var(--primary-color);transition:height .2s}.bar.animated{animation:.4s ease-in-out infinite alternate eq}@keyframes eq{0%{height:4px}to{height:24px}}#hearts-container{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.floating-heart{color:#ff2a5f66;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 0 5px #ff2a5fcc)sepia(.2)saturate(2);animation:linear forwards floatUp;position:absolute}@keyframes floatUp{0%{opacity:0;transform:translateY(100vh)rotate(0)scale(.8)}10%{opacity:1}90%{opacity:.8}to{opacity:0;transform:translateY(-20vh)rotate(360deg)scale(1.2)}}.photo-modal-overlay{-webkit-backdrop-filter:blur(10px);z-index:10000;background:#000000d9;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.polaroid-large{border:1px solid var(--primary-color);background:#111;flex-direction:column;align-items:center;max-width:90vw;max-height:90vh;padding:20px 20px 60px;display:flex;position:relative;box-shadow:0 20px 60px #000000e6,0 0 50px #ff2a5f33}.polaroid-large img{object-fit:contain;filter:grayscale(5%)contrast(110%);border:2px solid #222;max-width:100%;max-height:70vh}.modal-caption{font-family:var(--font-body);color:#fff;text-align:center;text-shadow:0 0 10px #ff2a5f80;margin-top:25px;margin-bottom:0;font-size:2.5rem}.close-btn{color:var(--primary-color);font-family:var(--font-heading);cursor:pointer;letter-spacing:2px;background:0 0;border:none;font-size:1.5rem;transition:all .2s;position:absolute;top:-50px;right:0}.close-btn:hover{color:#fff;text-shadow:0 0 15px var(--primary-color);transform:scale(1.1)}body:after{content:"";transform-origin:bottom;opacity:0;pointer-events:none;z-index:0;background-image:linear-gradient(#ff2a5f66 1px,#0000 1px),linear-gradient(90deg,#ff2a5f66 1px,#0000 1px);background-size:40px 40px;width:200%;height:60vh;transition:opacity 1.5s;position:fixed;bottom:0;left:-50%;transform:perspective(600px)rotateX(75deg)}body:before{content:"";opacity:0;pointer-events:none;z-index:0;background:radial-gradient(circle,#ff2a5f1a,#0000 60%);width:100%;height:100%;transition:opacity 1.5s;position:fixed;top:0;left:0}body.music-active:after{opacity:1;animation:1.5s linear infinite gridMove}body.music-active:before{opacity:1;animation:2.5s ease-in-out infinite alternate bgPulse}@keyframes gridMove{0%{background-position:0 0}to{background-position:0 40px}}@keyframes bgPulse{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.5)}}@media screen and (width<=768px){.screen-active{padding:1rem}.glass-card{width:95%;padding:2rem 1.5rem}h1{font-size:1.2rem}p{margin-bottom:1.5rem;font-size:1.2rem}.glow-btn{padding:.8rem 1.5rem;font-size:.9rem}.pin-card{width:100%}.keypad{gap:.5rem}.key{padding:.8rem;font-size:1.5rem}.pin-dot{width:15px;height:15px}.content-wrapper{margin-top:2rem;margin-bottom:3rem}.title{font-size:1.5rem}.message-text{font-size:1.1rem}.boombox{flex-direction:column;gap:1.5rem;padding:1.5rem}.speaker{width:50px;height:50px}.speaker:after{width:15px;height:15px}.gallery{gap:2rem;margin-top:3rem}.polaroid{width:100%;max-width:320px}.polaroid-large{max-width:95vw;padding:10px 10px 40px}.modal-caption{margin-top:15px;font-size:1.5rem}.close-btn{font-size:1.2rem;top:-40px}}
