body,html{height:100%;margin:0;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;background-color:#000;overflow:hidden}body{background:radial-gradient(ellipse at center,#1b2735 0,#090a0f 100%)}#app,.loading{height:100%}.loading{position:fixed;top:0;left:0;width:100%;background:radial-gradient(ellipse at center,#1b2735 0,#090a0f 100%);display:flex;flex-direction:column;justify-content:center;align-items:center;z-index:99999}.loading-heart{font-size:60px;color:#ff4081;animation:heartbeat 1s ease infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.loading-text{color:hsla(0,0%,100%,.8);font-size:18px;margin-top:20px;letter-spacing:4px}.hearts-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:1}.heart{position:absolute;top:-30px;color:rgba(255,64,129,.8);text-shadow:0 0 10px rgba(255,64,129,.5);animation:fall linear infinite}@keyframes fall{0%{transform:translateY(0) rotate(0deg);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(100vh) rotate(1turn);opacity:0}}#menu{position:absolute;bottom:20px;width:100%;text-align:center;z-index:100}button{color:hsla(0,0%,100%,.8);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);padding:10px 20px;margin:0 5px;cursor:pointer;border-radius:20px;font-size:14px;transition:all .3s ease;backdrop-filter:blur(4px)}button.active,button:hover{background:rgba(255,64,129,.6);color:#fff;box-shadow:0 0 15px rgba(255,64,129,.5);transform:scale(1.05)}.element{width:120px;height:160px;box-shadow:0 0 12px rgba(0,255,255,.5);border:1px solid rgba(127,255,255,.25);text-align:center;cursor:default;background-color:hsla(0,0%,100%,.9);transition:box-shadow .3s;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:5px;box-sizing:border-box}.element:hover{box-shadow:0 0 20px rgba(255,64,129,.8);border:1px solid rgba(255,64,129,.5);z-index:1000}.element img{width:100px;height:100px;-o-object-fit:cover;object-fit:cover;margin-bottom:10px}.element .desc{font-size:10px;color:#333;font-weight:700}.lightbox{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.9);display:flex;justify-content:center;align-items:center;z-index:9999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;animation:zoomIn .3s ease}@keyframes zoomIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.lightbox-content img{max-width:80vw;max-height:75vh;border-radius:12px;box-shadow:0 0 40px rgba(255,64,129,.5);border:3px solid hsla(0,0%,100%,.3)}.lightbox-desc{text-align:center;color:#fff;font-size:24px;margin-top:20px;font-weight:300;letter-spacing:4px;text-shadow:0 0 20px rgba(255,64,129,.8)}.close-btn{position:absolute;top:-15px;right:-15px;width:40px;height:40px;border-radius:50%;background:rgba(255,64,129,.8);border:none;color:#fff;font-size:20px;cursor:pointer;transition:all .3s ease;display:flex;justify-content:center;align-items:center;line-height:1;padding:0}.close-btn:hover{background:#ff4081;transform:scale(1.1)}.gyro-btn{color:hsla(0,0%,100%,.8);background:rgba(100,200,255,.2);border:1px solid rgba(100,200,255,.4);padding:10px 20px;margin:0 5px;cursor:pointer;border-radius:20px;font-size:14px;transition:all .3s ease;backdrop-filter:blur(4px)}.gyro-btn:hover{background:rgba(100,200,255,.5);box-shadow:0 0 15px rgba(100,200,255,.5)}.music-btn{position:fixed;top:20px;right:20px;width:44px;height:44px;border-radius:50%;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);cursor:pointer;z-index:1000;transition:all .3s ease;backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;padding:0}.music-btn:hover{background:rgba(255,64,129,.3);border-color:rgba(255,64,129,.5)}.music-hint{position:fixed;top:22px;right:75px;z-index:1001}.hint-arrow{font-size:36px;color:#ff4081;text-shadow:0 0 15px #ff4081,0 0 30px rgba(255,64,129,.8);animation:hintBounce .5s ease infinite;display:inline-block;font-weight:700}@keyframes hintBounce{0%,to{transform:translateX(0)}50%{transform:translateX(8px)}}.music-icon{display:flex;align-items:flex-end;gap:3px;height:16px}.music-icon .bar{width:3px;background:hsla(0,0%,100%,.8);border-radius:2px;transition:height .2s ease}.music-icon .bar:first-child{height:6px}.music-icon .bar:nth-child(2){height:12px}.music-icon .bar:nth-child(3){height:8px}.music-icon.playing .bar{animation:soundBars .5s ease infinite alternate}.music-icon.playing .bar:first-child{animation-delay:0s}.music-icon.playing .bar:nth-child(2){animation-delay:.2s}.music-icon.playing .bar:nth-child(3){animation-delay:.4s}@keyframes soundBars{0%{height:4px}to{height:16px}}.love-words{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:28px;font-weight:300;letter-spacing:4px;text-align:center;text-shadow:0 0 30px rgba(255,64,129,.8),0 0 60px rgba(255,64,129,.4);z-index:10000;pointer-events:none;padding:20px 40px;background:rgba(0,0,0,.3);border-radius:20px;backdrop-filter:blur(10px)}.fade-enter-active{transition:opacity .5s ease}.fade-leave-active{transition:opacity 1.5s ease}.fade-enter-from,.fade-leave-to{opacity:0}.date-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.85);display:flex;justify-content:center;align-items:center;z-index:10001;backdrop-filter:blur(10px)}.date-modal-content{background:linear-gradient(145deg,rgba(40,20,40,.95),rgba(20,10,30,.95));border-radius:24px;padding:32px 28px;width:90%;max-width:360px;box-shadow:0 0 60px rgba(255,64,129,.3),0 0 100px rgba(255,64,129,.1);border:1px solid rgba(255,64,129,.3);animation:zoomIn .3s ease}.date-modal-header{text-align:center;margin-bottom:28px}.date-modal-header h3{color:#fff;font-size:18px;font-weight:300;margin:0;letter-spacing:2px;text-align:center}.picker-container{position:relative;display:flex;height:176px;margin-bottom:20px;background:rgba(0,0,0,.2);border-radius:16px;overflow:hidden}.picker-highlight{position:absolute;top:50%;left:10px;right:10px;height:44px;transform:translateY(-50%);background:linear-gradient(90deg,rgba(255,64,129,.2),rgba(255,107,157,.2));border-radius:12px;border:1px solid rgba(255,64,129,.3);pointer-events:none;z-index:1}.picker-column{flex:1;height:100%;overflow-y:auto;scroll-snap-type:y mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none}.picker-column::-webkit-scrollbar{display:none}.picker-padding{height:66px}.picker-item{height:44px;display:flex;align-items:center;justify-content:center;font-size:16px;color:hsla(0,0%,100%,.4);cursor:pointer;scroll-snap-align:center;transition:all .2s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.picker-item.active{color:#fff;font-size:18px;font-weight:500;text-shadow:0 0 10px rgba(255,64,129,.5)}.date-error{color:#ff6b9d;text-align:center;font-size:14px;margin-bottom:16px;animation:shake .5s ease}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.date-buttons{display:flex;gap:12px;margin-bottom:20px}.date-btn{flex:1;padding:14px 20px;border-radius:25px;font-size:16px;cursor:pointer;transition:all .3s ease;border:none}.date-btn.cancel{background:hsla(0,0%,100%,.1);color:hsla(0,0%,100%,.7);border:1px solid hsla(0,0%,100%,.2)}.date-btn.cancel:hover{background:hsla(0,0%,100%,.15)}.date-btn.confirm{background:linear-gradient(135deg,#ff4081,#ff6b9d);color:#fff;box-shadow:0 4px 20px rgba(255,64,129,.4)}.date-btn.confirm:hover{transform:translateY(-2px);box-shadow:0 6px 25px rgba(255,64,129,.5)}.date-hint{text-align:center;color:hsla(0,0%,100%,.5);font-size:13px;letter-spacing:1px}@media (max-width:480px){.date-modal-content{padding:24px 20px;margin:0 16px}.date-modal-header h3{font-size:18px}}.admin-page[data-v-5064aaa8]{min-height:100vh;height:100vh;background:linear-gradient(135deg,#1a1a2e,#16213e 50%,#0f0f23);padding:0 0 30px;overflow-y:auto;overflow-x:hidden;position:fixed;top:0;left:0;right:0;bottom:0}.admin-header[data-v-5064aaa8]{position:sticky;top:0;display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:rgba(26,26,46,.95);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,64,129,.2);z-index:100}.admin-header h2[data-v-5064aaa8]{color:#fff;font-size:18px;font-weight:400;margin:0;letter-spacing:2px}.header-spacer[data-v-5064aaa8]{width:60px}.back-btn[data-v-5064aaa8]{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff;padding:8px 16px;border-radius:20px;font-size:14px;cursor:pointer;transition:all .3s ease}.back-btn[data-v-5064aaa8]:hover{background:rgba(255,64,129,.3);border-color:rgba(255,64,129,.5)}.upload-section[data-v-5064aaa8]{padding:20px;text-align:center}.upload-btn[data-v-5064aaa8]{display:inline-block;background:linear-gradient(135deg,#ff4081,#ff6b9d);color:#fff;padding:14px 32px;border-radius:30px;font-size:16px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 20px rgba(255,64,129,.4)}.upload-btn[data-v-5064aaa8]:hover{transform:translateY(-2px);box-shadow:0 6px 30px rgba(255,64,129,.5)}.upload-btn.uploading[data-v-5064aaa8]{background:linear-gradient(135deg,#666,#888);cursor:not-allowed}.upload-btn span[data-v-5064aaa8]{display:flex;align-items:center;gap:8px}.photo-grid[data-v-5064aaa8]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 12px}.photo-item[data-v-5064aaa8]{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;background:hsla(0,0%,100%,.05);transition:all .3s ease}.photo-item img[data-v-5064aaa8]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:all .3s ease}.photo-item.hidden img[data-v-5064aaa8]{opacity:.3;filter:grayscale(100%)}.photo-overlay[data-v-5064aaa8]{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(transparent,rgba(0,0,0,.8));display:flex;flex-direction:column;gap:4px}.photo-action-btn[data-v-5064aaa8]{width:100%;padding:6px 10px;border-radius:12px;font-size:11px;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.2);color:#fff;cursor:pointer;transition:all .3s ease}.photo-action-btn[data-v-5064aaa8]:hover{background:rgba(255,64,129,.5)}.photo-action-btn.delete[data-v-5064aaa8]{background:rgba(255,82,82,.3);border-color:rgba(255,82,82,.5)}.photo-action-btn.delete[data-v-5064aaa8]:hover{background:rgba(255,82,82,.5)}.admin-tip[data-v-5064aaa8]{text-align:center;color:hsla(0,0%,100%,.5);font-size:13px;padding:20px;margin-top:10px}@media (max-width:480px){.photo-grid[data-v-5064aaa8]{grid-template-columns:repeat(2,1fr);gap:6px;padding:0 8px}.admin-header h2[data-v-5064aaa8]{font-size:16px}}