body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.hamburger-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fffffff2,#ffeef8f2);border:none;border-radius:12px;box-shadow:0 8px 25px #ff6b9d66,0 0 20px #ffffff4d;cursor:pointer;display:flex;flex-direction:column;gap:6px;height:50px;justify-content:center;padding:0;position:fixed;right:25px;top:25px;transition:all .3s ease;width:50px;z-index:1000}.hamburger-button:hover{box-shadow:0 12px 35px #ff6b9d99,0 0 30px #ffffff80;transform:scale(1.1)}.hamburger-button:active{transform:scale(.95)}.hamburger-line{background:linear-gradient(90deg,#ff6b9d,#c06c84);border-radius:3px;height:3px;transition:all .3s ease;width:28px}.hamburger-button.open .hamburger-line:first-child{transform:rotate(45deg) translateY(9px)}.hamburger-button.open .hamburger-line:nth-child(2){opacity:0}.hamburger-button.open .hamburger-line:nth-child(3){transform:rotate(-45deg) translateY(-9px)}.dropdown-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(135deg,#fffffffa,#ffeef8fa);box-shadow:-5px 0 30px #ff6b9d4d;display:flex;flex-direction:column;height:100vh;position:fixed;right:-400px;top:0;transition:right .4s cubic-bezier(.68,-.55,.265,1.55);width:350px;z-index:999}.dropdown-menu.open{right:0}.menu-header{align-items:center;background:linear-gradient(135deg,#ff6b9d1a,#c06c841a);border-bottom:2px solid #ff6b9d33;display:flex;justify-content:space-between;padding:25px 20px}.menu-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b9d,#c06c84);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin:0}.close-button{align-items:center;background:linear-gradient(135deg,#ff6b9d,#c06c84);border:none;border-radius:50%;box-shadow:0 4px 15px #ff6b9d4d;color:#fff;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;transition:all .3s ease;width:40px}.close-button:hover{box-shadow:0 6px 20px #ff6b9d80;transform:rotate(90deg) scale(1.1)}.menu-nav{flex:1 1;gap:20px;overflow-y:auto;padding:30px 20px}.menu-item,.menu-nav{display:flex;flex-direction:column}.menu-item{background:#fff;border-radius:15px;box-shadow:0 5px 15px #ff6b9d26;color:#333;overflow:hidden;padding:20px;position:relative;text-decoration:none;transition:all .3s ease}.menu-item:before{background:linear-gradient(90deg,#0000,#ff6b9d1a,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.menu-item:hover:before{left:100%}.menu-item:hover{background:linear-gradient(135deg,#fff,#ffeef8);box-shadow:0 8px 25px #ff6b9d4d;transform:translateX(-10px)}.menu-item.active{background:linear-gradient(135deg,#ff6b9d,#c06c84);box-shadow:0 8px 25px #ff6b9d80;color:#fff}.menu-item.active .menu-desc{color:#ffffffe6}.menu-icon{animation:iconFloat 2s ease-in-out infinite;font-size:36px;margin-bottom:10px}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.menu-text{font-size:22px;font-weight:700;margin-bottom:5px}.menu-desc{color:#666;font-size:14px;font-style:italic}.menu-footer{background:linear-gradient(135deg,#ff6b9d1a,#c06c841a);border-top:2px solid #ff6b9d33;padding:20px;text-align:center}.menu-footer-text{-webkit-text-fill-color:#0000;animation:fadeInOut 3s ease-in-out infinite;background:linear-gradient(135deg,#ff6b9d,#c06c84);-webkit-background-clip:text;background-clip:text;font-size:16px;font-weight:700;margin:0}.logout-button-container{padding:15px 20px;text-align:center}.logout-button{align-items:center;background:linear-gradient(135deg,#ff6b6b,#ff5252);border:none;border-radius:20px;box-shadow:0 4px 15px #ff6b6b4d;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 25px;transition:all .3s ease}.logout-button:hover{box-shadow:0 6px 20px #ff6b6b80;transform:translateY(-2px)}.logout-button:active{transform:translateY(0)}.menu-overlay{animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#00000080;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:998}@media (max-width:768px){.dropdown-menu{right:-100%;width:100%}.hamburger-button{height:45px;right:20px;top:20px;width:45px}.hamburger-line{width:24px}.menu-title{font-size:24px}.menu-item{padding:15px}.menu-icon{font-size:30px}.menu-text{font-size:18px}}.firebase-test-page{background:linear-gradient(135deg,#667eea,#764ba2);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;min-height:100vh;padding:20px}.test-container{background:#fffffff2;border-radius:20px;box-shadow:0 20px 60px #0000004d;margin:80px auto 40px;max-width:800px;padding:40px}.test-container h1{color:#667eea;font-size:2.5rem;margin-bottom:10px;text-align:center}.subtitle{color:#666;font-size:1.1rem;margin-bottom:30px;text-align:center}.test-form{background:#f8f9fa;border:2px dashed #667eea;border-radius:12px;margin-bottom:30px;padding:25px}.input-group label{color:#333;display:block;font-weight:600;margin-bottom:8px}.input-group input{border:2px solid #ddd;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:all .3s;width:100%}.input-group input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.input-group input:disabled{background:#e9ecef;cursor:not-allowed}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:14px 24px;transition:all .3s;width:100%}.submit-btn:hover:not(:disabled){box-shadow:0 8px 20px #667eea66;transform:translateY(-2px)}.submit-btn:active:not(:disabled){transform:translateY(0)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.message{animation:slideIn .3s ease;border-radius:8px;font-weight:500;margin:20px 0;padding:16px 20px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.message.info{background:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.images-section{border-top:2px solid #e9ecef;margin-top:40px;padding-top:30px}.images-section h2{color:#333;margin-bottom:20px;text-align:center}.no-data{color:#999;font-style:italic;padding:40px;text-align:center}.images-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:20px}.image-card{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:all .3s}.image-card:hover{box-shadow:0 8px 24px #00000026;transform:translateY(-5px)}.image-card img{height:200px;object-fit:cover;width:100%}.image-id,.image-time{color:#666;font-size:.85rem;margin:0;padding:8px 12px;text-align:center}.image-id{border-bottom:1px solid #f0f0f0;font-family:monospace}.instructions{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;margin-top:40px;padding:25px}.instructions h3{color:#333;margin-bottom:15px}.instructions ol{color:#555;line-height:1.8;margin-left:20px}.instructions li{margin-bottom:8px}.note{background:#ffffffb3;border-left:4px solid #667eea;margin-top:20px;padding:15px}.note,.note code{border-radius:4px}.note code{background:#667eea1a;color:#667eea;font-family:monospace;font-weight:600;padding:2px 8px}@media (max-width:768px){.test-container{margin:60px 10px 20px;padding:25px}.test-container h1{font-size:2rem}.images-grid{gap:15px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.instructions ol{margin-left:15px}}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;overflow:hidden;position:relative}.login-gradient-bg{animation:gradientShift 15s ease infinite;background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab,#ff6b9d,#c471ed);background-size:400% 400%;left:0;top:0;z-index:1}.login-gradient-bg,.login-particles{height:100%;position:absolute;width:100%}.login-particles{z-index:2}.login-particle{animation:twinkle linear infinite;background:#fff9;border-radius:50%;height:4px;position:absolute;width:4px}.login-hearts{height:100%;position:absolute;width:100%;z-index:2}.login-heart{animation:floatUp linear infinite;bottom:-50px;font-size:24px;opacity:.7;position:absolute}.login-container{animation:fadeIn .6s ease-out;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:30px;box-shadow:0 20px 60px #0000004d;max-width:450px;padding:50px 40px;position:relative;width:90%;z-index:10}@keyframes fadeIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.shake{animation:shake .5s}@keyframes shake{0%,to{transform:translateX(0)}10%,30%,50%,70%,90%{transform:translateX(-10px)}20%,40%,60%,80%{transform:translateX(10px)}}.login-header{margin-bottom:40px;text-align:center}.login-lock-icon{animation:pulse 2s ease-in-out infinite;font-size:60px;margin-bottom:20px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.login-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#333;font-size:28px;font-weight:700;margin-bottom:10px}.login-header p{color:#666;font-size:16px}.login-form{align-items:stretch;display:flex;flex-direction:column;margin-bottom:30px}.input-group{margin-bottom:20px;position:relative}.password-input{background:#fff;border:2px solid #e0e0e0;border-radius:15px;box-sizing:border-box;font-size:16px;outline:none;padding:18px 50px 18px 20px;transition:all .3s ease;width:100%}.password-input:focus{border-color:#667eea;box-shadow:0 0 0 4px #667eea1a}.input-icon{font-size:20px;position:absolute;right:20px;top:50%;transform:translateY(-50%)}.error-message{animation:slideDown .3s ease;background:linear-gradient(135deg,#ff6b6b,#ff5252);border-radius:12px;color:#fff;font-size:14px;font-weight:500;margin-bottom:20px;padding:12px 20px;text-align:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.login-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:8px;justify-content:center;margin:0 auto;min-width:150px;overflow:hidden;padding:12px 30px;position:relative;transition:all .3s ease;width:auto}.login-button:hover{box-shadow:0 10px 25px #667eea66;transform:translateY(-2px)}.login-button:active{transform:translateY(0)}.button-heart{animation:heartBeat 1.5s ease-in-out infinite;font-size:20px}.login-footer{text-align:center}.hint-text{color:#999;font-size:13px;font-style:italic;margin:0}@media (max-width:768px){.login-container{padding:40px 30px}.login-header h1{font-size:24px}.login-header p{font-size:14px}.password-input{font-size:15px;padding:16px 50px 16px 18px}.login-button{font-size:15px;min-width:140px;padding:12px 25px}}@media (max-width:480px){.login-container{padding:30px 20px}.login-lock-icon{font-size:50px}.login-header h1{font-size:22px}}.falling-images-container{height:100%;left:0;overflow:hidden;pointer-events:none;position:fixed;top:0;width:100%;z-index:5}.falling-image{animation:fall linear forwards;position:absolute;top:-120px;will-change:transform}.falling-image img{animation:rotate-and-fade linear forwards;animation-duration:inherit;border-radius:12px;box-shadow:0 4px 15px #ff69b44d;filter:blur(.1px) brightness(1) contrast(1.1);height:80px;object-fit:cover;opacity:1;width:80px;will-change:transform,opacity}@keyframes fall{0%{opacity:0;transform:translate3d(0,-120px,0)}10%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translate3d(0,calc(100vh + 20px),0)}}@keyframes rotate-and-fade{0%{opacity:0;transform:rotate(0deg) scaleX(1)}10%{opacity:.85}50%{opacity:.8;transform:rotate(calc(var(--rotation-angle)/2)) scale3d(1.05,1.05,1)}90%{opacity:.75}to{opacity:0;transform:rotate(var(--rotation-angle)) scale3d(.95,.95,1)}}.falling-image img:before{background:linear-gradient(135deg,#ffffff1a,#fff0);border-radius:12px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}@media (max-width:768px){.falling-image img{height:60px;width:60px}}@media (max-width:480px){.falling-image img{height:50px;width:50px}}.App{font-family:Georgia,Times New Roman,serif;height:100vh;overflow:hidden;position:relative;width:100vw}.birthday-banner-new{animation:birthdayZoomIn .8s ease-out;background:linear-gradient(135deg,#ffc8dd,#ffccd5 30%,#cddafd 70%,#e7c6ff);border:3px solid #fffc;border-radius:40px;box-shadow:0 25px 70px #ff69b44d,0 10px 30px #8a69ff33,inset 0 -3px 10px #fff9;left:50%;max-width:920px;padding:50px 60px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1000}@keyframes birthdayZoomIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.5)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.birthday-close-new{align-items:center;background:#fffffff2;border:2px solid #d0c4e0;border-radius:50%;box-shadow:0 4px 15px #8b7d9e4d;color:#8b7d9e;cursor:pointer;display:flex;font-size:26px;font-weight:700;height:45px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .3s ease;width:45px;z-index:10}.birthday-close-new:hover{background:#fff;border-color:#b8a8d0;box-shadow:0 6px 20px #8b7d9e66;transform:scale(1.15) rotate(90deg)}.birthday-decorations{border-radius:30px;height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%}.birthday-deco{animation:floatDeco 3s ease-in-out infinite;filter:drop-shadow(0 3px 8px rgba(0,0,0,.15));font-size:45px;position:absolute}.balloon-left{animation-delay:0s;left:20px;top:20px}.balloon-right{animation-delay:1s;right:20px;top:20px}.confetti-1{animation:rotateDeco 4s linear infinite;left:10%;top:50%}.confetti-2{animation:rotateDeco 5s linear infinite reverse;right:10%;top:60%}.star-1{animation:twinkleStar 2s ease-in-out infinite;left:15%;top:30%}.star-2{animation:twinkleStar 2.5s ease-in-out infinite;animation-delay:1s;right:15%;top:70%}.wave-left{color:#9b7dff;font-size:30px;left:50px;top:10px}.wave-right{bottom:10px;color:#7d9bff;font-size:30px;right:50px}@keyframes floatDeco{0%,to{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-15px) rotate(10deg)}}@keyframes rotateDeco{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes twinkleStar{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.5)}}.birthday-layout{align-items:center;display:flex;gap:50px;position:relative;z-index:5}.birthday-photo-frame{flex-shrink:0;position:relative;z-index:5}.polaroid-frame{animation:photoFloat 3s ease-in-out infinite;background:#fff;border-radius:12px;box-shadow:0 15px 40px #00000026,0 5px 15px #0000001a;padding:18px 18px 70px;transform:rotate(-5deg);transition:all .3s ease}.polaroid-frame:hover{box-shadow:0 20px 50px #0003,0 8px 20px #00000026;transform:rotate(0deg) scale(1.05)}@keyframes photoFloat{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(-5deg) translateY(-10px)}}.birthday-photo{border-radius:8px;display:block;height:340px;object-fit:cover;width:300px}.polaroid-caption-birthday{color:#555;font-family:Brush Script MT,cursive,Georgia;font-size:17px;font-style:italic;font-weight:500;line-height:1.4;margin-top:18px;text-align:center}.photo-decorations{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%}.photo-deco-1{animation:rotateFloat 3s ease-in-out infinite;right:-18px;top:-18px}.photo-deco-1,.photo-deco-2{filter:drop-shadow(0 3px 8px rgba(255,105,180,.3));font-size:40px;position:absolute}.photo-deco-2{animation:rotateFloat 4s ease-in-out infinite reverse;bottom:45px;left:-18px}@keyframes rotateFloat{0%,to{transform:rotate(0deg) scale(1)}50%{transform:rotate(15deg) scale(1.2)}}.birthday-text-content{flex:1 1;position:relative;text-align:left;z-index:5}.birthday-title-new{-webkit-text-fill-color:#0000;animation:titleGlow 3s ease-in-out infinite;background:linear-gradient(135deg,#6b8cff,#a06bff 30%,#ff6bbd 70%,#ff8ba0);-webkit-background-clip:text;background-clip:text;font-family:Comic Sans MS,Arial Rounded MT Bold,sans-serif;font-size:80px;font-weight:900;letter-spacing:-1px;line-height:.95;margin:0;text-shadow:0 5px 15px #6b8cff4d}@keyframes titleGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.birthday-sparkles{display:flex;font-size:40px;gap:20px;margin-top:25px}.birthday-sparkles span{animation:sparkle 1.5s ease-in-out infinite;filter:drop-shadow(0 3px 8px rgba(255,215,0,.4))}.birthday-sparkles span:first-child{animation-delay:0s}.birthday-sparkles span:nth-child(2){animation-delay:.5s}.birthday-sparkles span:nth-child(3){animation-delay:1s}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0deg)}50%{opacity:.7;transform:scale(1.5) rotate(180deg)}}@media (max-width:768px){.birthday-banner-new{border-radius:25px;max-width:95%;padding:30px 25px}.birthday-layout{flex-direction:column;gap:30px}.birthday-photo{height:280px;width:240px}.polaroid-frame{padding:15px 15px 55px}.birthday-title-new{font-size:56px;text-align:center}.birthday-text-content{text-align:center}.birthday-sparkles{font-size:32px;justify-content:center}.birthday-deco{font-size:35px}.photo-deco-1,.photo-deco-2{font-size:32px}}@media (max-width:480px){.birthday-banner-new{padding:25px 20px}.birthday-photo{height:240px;width:200px}.birthday-title-new{font-size:48px}.polaroid-caption-birthday{font-size:14px}.birthday-close-new{font-size:22px;height:38px;width:38px}}.birthday-banner{animation:birthdaySlideDown .8s ease-out,birthdayBounce 2s ease-in-out infinite;background:linear-gradient(135deg,#fff5f7,#ffe8f0,#fff);border:3px solid #ff6b9d4d;border-radius:20px;box-shadow:0 10px 40px #ff6b9d66,0 0 30px #ffb6c14d;left:50%;padding:25px 40px;position:fixed;top:100px;transform:translateX(-50%);z-index:1000}@keyframes birthdaySlideDown{0%{opacity:0;top:-200px}to{opacity:1;top:100px}}@keyframes birthdayBounce{0%,to{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(-10px)}}.birthday-content{position:relative;text-align:center}.birthday-icon{animation:birthdaySpin 3s linear infinite;font-size:80px;margin-bottom:10px}@keyframes birthdaySpin{0%{transform:rotate(0deg) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(1turn) scale(1)}}.birthday-title{-webkit-text-fill-color:#0000;animation:birthdayGlow 2s ease-in-out infinite;background:linear-gradient(135deg,#ff6b9d,#c06c84,#ff6b9d);-webkit-background-clip:text;background-clip:text;font-size:42px;font-weight:700;margin:10px 0;text-shadow:0 0 30px #ff6b9d80}@keyframes birthdayGlow{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.birthday-message{color:#ff6b9d;font-size:24px;font-style:italic;font-weight:600;margin:10px 0}.birthday-close{align-items:center;background:linear-gradient(135deg,#ff6b9d,#c06c84);border:none;border-radius:50%;box-shadow:0 4px 10px #0003;color:#fff;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:-10px;top:-10px;transition:all .3s ease;width:32px}.birthday-close:hover{box-shadow:0 6px 15px #0000004d;transform:scale(1.2) rotate(90deg)}.birthday-confetti{height:100%;left:0;overflow:hidden;pointer-events:none;position:absolute;top:0;width:100%}.birthday-confetti span{animation:confettiFall 3s linear infinite;font-size:30px;opacity:.8;position:absolute}.birthday-confetti span:first-child{animation-delay:0s;left:10%}.birthday-confetti span:nth-child(2){animation-delay:.5s;left:20%}.birthday-confetti span:nth-child(3){animation-delay:1s;left:35%}.birthday-confetti span:nth-child(4){animation-delay:1.5s;left:50%}.birthday-confetti span:nth-child(5){animation-delay:.7s;left:65%}.birthday-confetti span:nth-child(6){animation-delay:1.2s;left:75%}.birthday-confetti span:nth-child(7){animation-delay:.3s;left:85%}.birthday-confetti span:nth-child(8){animation-delay:1.8s;left:95%}@keyframes confettiFall{0%{top:-50px;transform:rotate(0deg)}to{top:150%;transform:rotate(1turn)}}.main-content{align-items:center;display:flex;height:100%;justify-content:center;position:relative;width:100%;z-index:3}.love-container{animation:fadeInScale 2s ease-out;position:relative;text-align:center}.light-circle{animation:pulseLight 3s ease-in-out infinite;background:radial-gradient(circle,#ffffff4d 0,#ffffff1a 30%,#0000 70%);border-radius:50%;height:400px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:400px;z-index:-1}@keyframes pulseLight{0%,to{opacity:.6;transform:translate(-50%,-50%) scale(1)}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.2)}}.center-heart{animation:heartBeat 1.5s ease-in-out infinite;filter:drop-shadow(0 0 30px rgba(255,107,157,.8));height:120px;margin:0 auto 30px;width:120px;will-change:transform}.heart-svg{height:100%;width:100%}.heart-path{animation:heartFill 2s ease-in-out infinite;will-change:filter}@keyframes heartBeat{0%,to{transform:scaleX(1)}25%{transform:scale3d(1.1,1.1,1)}50%{transform:scaleX(1)}75%{transform:scale3d(1.15,1.15,1)}}@keyframes heartFill{0%,to{filter:brightness(1)}50%{filter:brightness(1.3)}}.main-text{color:#fff;display:flex;font-size:50px;font-weight:700;gap:20px;justify-content:center;letter-spacing:8px;margin:20px 0;text-shadow:0 0 20px #fffc,0 0 40px #ff6b9d99,0 5px 15px #0000004d}.text-word{animation:float 3s ease-in-out infinite;display:inline-block}.text-word:first-child{animation-delay:0s}.text-word:nth-child(2){animation-delay:.3s}.text-word:nth-child(3){animation-delay:.6s}.sub-text{animation:fadeInOut 4s ease-in-out infinite;color:#ffffffe6;font-size:24px;font-style:italic;margin-top:20px;text-shadow:0 2px 10px #0000004d}.decorative-elements{align-items:center;display:flex;gap:20px;justify-content:center;margin-top:40px}.deco-line{animation:lineGlow 2s ease-in-out infinite;background:linear-gradient(90deg,#0000,#fffc,#0000);height:2px;width:120px}.deco-line.left{animation-delay:0s}.deco-line.right{animation-delay:1s}@keyframes lineGlow{0%,to{opacity:.5;transform:scaleX(1)}50%{opacity:1;transform:scaleX(1.2)}}.deco-flower{animation:rotate 4s linear infinite;color:#fff;font-size:30px;text-shadow:0 0 20px #fffc}.scrapbook-gallery{height:450px;margin:30px auto;position:relative;width:1100px;z-index:10}.polaroid-photo{background:#fff;box-shadow:0 8px 20px #0003,0 0 2px #0000001a;cursor:pointer;padding:15px 15px 50px;position:absolute;transition:all .3s ease}.polaroid-photo:hover{box-shadow:0 15px 35px #0000004d;transform:scale(1.05)!important;z-index:100}.polaroid-inner{position:relative}.polaroid-photo img{display:block;filter:brightness(1.05) contrast(1.05);height:260px;object-fit:cover;width:220px}.polaroid-caption{color:#333;font-family:Brush Script MT,cursive,Georgia;font-size:20px;font-weight:600;margin-top:15px;text-align:center}.photo-1{left:80px;top:50px;transform:rotate(-8deg);z-index:4}.photo-2{left:320px;top:30px;transform:rotate(4deg);z-index:3}.photo-3{left:540px;top:60px;transform:rotate(-3deg);z-index:2}.photo-4{left:770px;top:20px;transform:rotate(5deg);z-index:1}.scrapbook-deco{position:absolute;z-index:101}.scrapbook-deco.butterfly{animation:butterflyFloat 4s ease-in-out infinite;font-size:40px;left:20px;top:-10px}@keyframes butterflyFloat{0%,to{transform:translate(0) rotate(0deg)}25%{transform:translate(10px,-10px) rotate(5deg)}50%{transform:translate(20px) rotate(-5deg)}75%{transform:translate(10px,10px) rotate(3deg)}}.scrapbook-deco.flower{animation:flowerSpin 6s linear infinite;bottom:10px;font-size:35px;right:40px}@keyframes flowerSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scrapbook-deco.tape{background:#fff6;border:1px dashed #0000001a;box-shadow:0 2px 5px #0000001a;height:25px;width:100px}.tape-1{left:200px;top:0;transform:rotate(-15deg)}.tape-2{bottom:30px;right:150px;transform:rotate(20deg)}@keyframes heartPulse{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.nav-button{animation:buttonPulse 2s ease-in-out infinite;background:linear-gradient(135deg,#ff6b9d,#c06c84);border-radius:50px;box-shadow:0 10px 30px #ff6b9d66,0 0 20px #fff3;color:#fff;display:inline-block;font-size:18px;font-weight:700;margin:30px auto;padding:15px 40px;text-decoration:none;transition:all .3s ease}.nav-button:hover{box-shadow:0 15px 40px #ff6b9d99,0 0 30px #fff6;transform:translateY(-5px) scale(1.05)}@keyframes buttonPulse{0%,to{box-shadow:0 10px 30px #ff6b9d66,0 0 20px #fff3}50%{box-shadow:0 10px 30px #ff6b9d99,0 0 30px #fff6}}@media (max-width:1024px) and (min-width:769px){.scrapbook-gallery{height:380px;max-width:900px;width:95%}.polaroid-photo img{height:220px;width:180px}.photo-1{left:40px}.photo-2{left:240px}.photo-3{left:440px}.photo-4{left:640px}}@media (max-width:768px){.main-text{font-size:40px;gap:15px;letter-spacing:5px}.center-heart{height:90px;width:90px}.sub-text{font-size:16px}.light-circle{height:250px;width:250px}.scrapbook-gallery{height:280px;margin:30px auto;max-width:700px;padding:15px;width:95%}.polaroid-photo img{height:170px;width:140px}.polaroid-photo{padding:10px 10px 38px}.polaroid-caption{font-size:14px;margin-top:8px}.photo-1{left:10px;top:35px}.photo-2{left:160px;top:25px}.photo-3{left:310px;top:40px}.photo-4{left:460px;top:15px}.scrapbook-deco.butterfly{font-size:30px;left:10px}.scrapbook-deco.flower{font-size:28px;right:20px}.birthday-banner{padding:20px 30px;top:80px}.birthday-icon{font-size:60px}.birthday-title{font-size:32px}.birthday-message{font-size:18px}.birthday-banner-new{max-width:700px;padding:30px 35px}.birthday-layout{gap:30px}.birthday-photo{height:260px;width:220px}.birthday-title-new{font-size:56px}.birthday-sparkles{font-size:28px}.birthday-deco{font-size:30px}}@media (max-width:480px){.App{overflow-x:hidden;overflow-y:auto}.main-content{overflow-x:hidden;padding:0 10px}.love-container{max-width:100%;overflow-x:hidden;width:100%}.main-text{font-size:32px;letter-spacing:3px}.center-heart{height:70px;width:70px}.sub-text{font-size:14px;padding:0 15px}.scrapbook-gallery{height:auto;margin:20px 0;max-width:100%;padding:10px;width:100%}.polaroid-photo{display:block;margin:15px auto;padding:12px 12px 45px;position:relative!important;transform:rotate(0deg)!important}.polaroid-photo img{aspect-ratio:11/13;height:auto;max-width:100%;width:100%}.photo-1,.photo-2,.photo-3,.photo-4{left:auto!important;right:auto!important;top:auto!important}.scrapbook-deco.butterfly,.scrapbook-deco.flower{display:inline-block;font-size:28px;margin:10px;position:relative}.scrapbook-deco.butterfly{left:auto;top:auto}.scrapbook-deco.flower{bottom:auto;right:auto}.scrapbook-deco.tape{display:none}.polaroid-caption{font-size:18px;margin-top:12px}.birthday-banner{padding:15px 20px;top:70px;width:90%}.birthday-icon{font-size:50px}.birthday-title{font-size:28px}.birthday-message{font-size:16px}.birthday-confetti span{font-size:20px}.birthday-banner-new{max-width:400px;padding:20px;width:95%}.birthday-layout{flex-direction:column;gap:20px}.birthday-photo{height:240px;width:200px}.polaroid-caption-birthday{font-size:14px}.birthday-text-content{text-align:center}.birthday-title-new{font-size:42px}.birthday-sparkles{font-size:25px;justify-content:center;margin-top:15px}.birthday-deco{font-size:25px}.photo-deco-1,.photo-deco-2{font-size:28px}}.count-days-page{font-family:Georgia,Times New Roman,serif;min-height:100vh;overflow-x:hidden;position:relative;width:100vw}.count-days-content{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:40px 20px;position:relative;width:100%;z-index:3}.count-container{animation:fadeInScale 1.5s ease-out;max-width:1000px;position:relative;text-align:center}.count-title{align-items:center;color:#fff;display:flex;flex-wrap:wrap;font-size:48px;gap:20px;justify-content:center;margin-bottom:50px;text-shadow:0 0 20px #fffc,0 0 40px #ff6b9d99}.title-icon{animation:float 2s ease-in-out infinite;font-size:60px}.title-text{font-weight:700;letter-spacing:3px}.counter-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin:40px auto;max-width:800px}.counter-box{animation:boxFloat 3s ease-in-out infinite;background:linear-gradient(135deg,#fffffff2,#ffeef8f2);border-radius:20px;box-shadow:0 20px 60px #ff6b9d4d,0 0 30px #fff3,inset 0 0 20px #ffb6c11a;overflow:hidden;padding:30px 20px;position:relative;transition:transform .3s ease}.counter-box:first-child{animation-delay:0s}.counter-box:nth-child(2){animation-delay:.2s}.counter-box:nth-child(3){animation-delay:.4s}.counter-box:nth-child(4){animation-delay:.6s}.counter-box:hover{transform:translateY(-10px) scale(1.05)}@keyframes boxFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.counter-value{-webkit-text-fill-color:#0000;animation:countPulse 1s ease-in-out infinite;background:linear-gradient(135deg,#ff6b9d,#c06c84);-webkit-background-clip:text;background-clip:text;font-size:56px;font-weight:700;margin-bottom:10px}@keyframes countPulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.counter-label{color:#666;font-size:18px;font-weight:600;margin-bottom:5px}.counter-icon{font-size:24px;margin-top:10px}.love-message{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff3,#ffffff1a);border:2px solid #ffffff4d;border-radius:20px;margin:50px 0;padding:30px}.message-text{animation:fadeInOut 3s ease-in-out infinite;color:#fff;font-size:28px;font-style:italic;margin-bottom:15px;text-shadow:0 2px 10px #0000004d}.message-sub{color:#ffffffe6;font-size:20px;font-style:italic}.milestones{display:flex;flex-direction:column;gap:20px;margin:40px 0}.milestone-item{align-items:center;background:linear-gradient(135deg,#ffffffe6,#ffeef8e6);border-radius:15px;box-shadow:0 10px 30px #ff6b9d33;display:flex;gap:20px;padding:20px 30px;transition:all .3s ease}.milestone-item:hover{box-shadow:0 15px 40px #ff6b9d66;transform:translateX(10px)}.milestone-emoji{font-size:32px}.milestone-text{color:#666;font-size:20px;font-weight:600}.back-button{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50px;box-shadow:0 10px 30px #667eea66;color:#fff;display:inline-block;font-size:18px;font-weight:700;margin:40px auto;padding:15px 40px;text-decoration:none;transition:all .3s ease}.back-button:hover{box-shadow:0 15px 40px #667eea99;transform:translateY(-5px) scale(1.05)}.decorative-hearts{display:flex;font-size:32px;gap:20px;justify-content:center;margin-top:40px}.decorative-hearts span{animation:heartBounce 1s ease-in-out infinite}.decorative-hearts span:first-child{animation-delay:0s}.decorative-hearts span:nth-child(2){animation-delay:.2s}.decorative-hearts span:nth-child(3){animation-delay:.4s}.decorative-hearts span:nth-child(4){animation-delay:.6s}.decorative-hearts span:nth-child(5){animation-delay:.8s}@keyframes heartBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.2)}}@media (max-width:768px){.count-title{font-size:32px}.title-icon{font-size:40px}.counter-grid{gap:20px;grid-template-columns:repeat(2,1fr)}.counter-value{font-size:40px}.counter-label{font-size:14px}.message-text{font-size:20px}.back-button,.message-sub,.milestone-text{font-size:16px}.back-button{padding:12px 30px}}.journey-page{font-family:Georgia,Times New Roman,serif;overflow-x:hidden;width:100vw}.journey-content,.journey-page{min-height:100vh;position:relative}.journey-content{align-items:center;display:flex;justify-content:center;padding:80px 20px 40px;width:100%;z-index:3}.journey-container{max-width:1200px;width:100%}.journey-title{align-items:center;color:#fff;display:flex;font-size:48px;gap:20px;justify-content:center;margin-bottom:40px;text-align:center;text-shadow:0 0 20px #fffc,0 0 40px #ff6b9d99}.journey-map{background:linear-gradient(180deg,#87cefa4d,#98fb9866 40%,#90ee9080);border-radius:30px;box-shadow:0 20px 60px #0003,inset 0 0 50px #ffffff1a;height:600px;margin:0 auto;overflow-x:hidden;overflow-y:auto;position:relative;scrollbar-color:#ff6b9d80 #ffffff1a;scrollbar-width:thin;width:100%}.journey-map::-webkit-scrollbar{width:8px}.journey-map::-webkit-scrollbar-track{background:#ffffff1a;border-radius:10px}.journey-map::-webkit-scrollbar-thumb{background:#ff6b9d80;border-radius:10px}.journey-map::-webkit-scrollbar-thumb:hover{background:#ff6b9db3}.journey-map-inner{height:auto;min-height:600px;position:relative;width:100%}.map-decoration{animation:sway 3s ease-in-out infinite;font-size:40px;opacity:.6;pointer-events:none;position:absolute}.cloud{animation:cloudFloat 20s linear infinite;font-size:50px}.cloud-1{left:-10%;top:5%}.cloud-2{animation-delay:5s;right:-10%;top:15%}.cloud-3{animation-delay:10s;left:-10%;top:60%}@keyframes cloudFloat{0%{transform:translateX(0)}to{transform:translateX(120vw)}}.tree{font-size:45px}.tree-1{bottom:10%;left:5%}.tree-2{bottom:40%;right:8%}.flower{animation:rotate 4s linear infinite;font-size:30px}.flower-1{left:10%;top:25%}.flower-2{animation-delay:1s;right:12%;top:55%}.flower-3{animation-delay:2s;bottom:15%;left:50%}@keyframes sway{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.journey-path{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.path-line{stroke-linecap:round;animation:pathDraw 3s ease-in-out}@keyframes pathDraw{0%{stroke-dashoffset:200}to{stroke-dashoffset:0}}.milestone{animation:milestoneAppear .5s ease-out backwards;cursor:pointer;height:80px;position:absolute;transform:translate(-50%,-50%);transition:all .3s ease;width:80px;z-index:2}.milestone:nth-child(odd){animation-delay:0s;animation-delay:calc(var(--i, 0)*.1s)}@keyframes milestoneAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.milestone:hover{transform:translate(-50%,-50%) scale(1.15);z-index:10}.milestone-empty{align-items:center;background:linear-gradient(135deg,#fff,#ffeef8);border:4px dashed #ff6b9d99;border-radius:50%;box-shadow:0 8px 20px #ff6b9d4d;display:flex;height:100%;justify-content:center;position:relative;transition:all .3s ease;width:100%}.milestone:hover .milestone-empty{background:linear-gradient(135deg,#ffeef8,#fff);border-color:#ff6b9de6;box-shadow:0 12px 30px #ff6b9d80}.milestone-plus{animation:plusPulse 2s ease-in-out infinite;color:#ff6b9dcc;font-size:48px;font-weight:700}@keyframes plusPulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.milestone-number{align-items:center;background:linear-gradient(135deg,#ff6b9d,#c06c84);border-radius:50%;bottom:-25px;box-shadow:0 4px 10px #0003;color:#fff;display:flex;font-size:14px;font-weight:700;height:30px;justify-content:center;left:50%;position:absolute;transform:translateX(-50%);width:30px}.milestone-emoji{animation:emojiFloat 2s ease-in-out infinite;font-size:24px;position:absolute;right:-5px;top:-15px}@keyframes emojiFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.milestone.has-image .milestone-image-container{background:#fff;border:4px solid #ff6b9dcc;border-radius:50%;box-shadow:0 10px 30px #ff6b9d80,0 0 20px #ffffff4d;height:100%;overflow:hidden;position:relative;width:100%}.milestone-image{height:100%;object-fit:cover;transition:transform .3s ease;width:100%}.milestone:hover .milestone-image{transform:scale(1.1)}.milestone.uploading{pointer-events:none}.milestone-uploading{align-items:center;background:linear-gradient(135deg,#667eea33,#764ba233);border:4px solid #667eea99;border-radius:50%;box-shadow:0 8px 20px #667eea66;display:flex;height:100%;justify-content:center;width:100%}.spinner-small{animation:spin 1.5s linear infinite;font-size:36px}.journey-instructions{margin-top:40px;text-align:center}.instruction-text{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#ff6b9d4d,#c06c844d);border:2px solid #ffffff4d;border-radius:50px;box-shadow:0 10px 30px #0003;color:#fff;display:inline-block;font-size:20px;padding:20px 40px}.journey-map{scroll-behavior:smooth}@media (max-width:768px){.journey-title{font-size:32px}.journey-map{height:500px}.journey-map-inner{min-height:500px}.milestone{height:60px;width:60px}.milestone-plus{font-size:36px}.milestone-number{bottom:-20px;font-size:12px;height:24px;width:24px}.milestone-emoji{font-size:18px}.instruction-text{font-size:16px;padding:15px 25px}}.newsfeed-page{background:#fafafa;min-height:100vh;padding-top:80px;position:relative}.newsfeed-gradient-bg{background:linear-gradient(135deg,#ffeef8,#e8f4ff 50%,#fff5e8);height:100%;left:0;opacity:.6;position:fixed;top:0;width:100%;z-index:-1}.newsfeed-container{margin:0 auto;max-width:600px;padding:20px}.newsfeed-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#ff6b9d,#c06c84);-webkit-background-clip:text;background-clip:text;font-size:28px;font-weight:700;margin-bottom:30px;text-align:center}.create-post-box{background:#fff;border:1px solid #ff6b9d1a;border-radius:15px;box-shadow:0 2px 10px #00000014;margin-bottom:20px;padding:20px}.create-post-header{display:flex;gap:12px;margin-bottom:15px}.user-avatar{align-items:center;background:linear-gradient(135deg,#ff6b9d,#c06c84);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:18px;font-weight:700;height:45px;justify-content:center;width:45px}.post-input{border:1px solid #e0e0e0;border-radius:25px;flex:1 1;font-family:inherit;font-size:15px;padding:12px 18px;resize:none;transition:all .3s ease}.post-input:focus{border-color:#ff6b9d;box-shadow:0 0 0 3px #ff6b9d1a;outline:none}.files-preview-container{margin:15px 0}.files-preview-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.file-preview-item{aspect-ratio:1;background:#f5f5f5;border-radius:12px;overflow:hidden;position:relative}.file-preview-item img,.file-preview-item video{display:block;height:100%;object-fit:cover;width:100%}.file-preview{background:#f5f5f5;border-radius:12px;margin:15px 0;overflow:hidden;position:relative}.file-preview img,.file-preview video{display:block;max-height:400px;object-fit:cover;width:100%}.remove-file-btn{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:10px;top:10px;transition:all .3s ease;width:32px}.remove-file-btn:hover{background:#000c;transform:scale(1.1)}.create-post-actions{align-items:center;border-top:1px solid #f0f0f0;display:flex;justify-content:space-between;padding-top:15px}.upload-btn{align-items:center;background:#f5f5f5;border-radius:8px;color:#555;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:8px;padding:10px 18px;transition:all .3s ease}.upload-btn:hover{background:#e8e8e8}.btn-icon{font-size:20px}.post-submit-btn{background:linear-gradient(135deg,#ff6b9d,#c06c84);border:none;border-radius:25px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 28px;transition:all .3s ease}.post-submit-btn:hover:not(:disabled){box-shadow:0 5px 15px #ff6b9d66;transform:translateY(-2px)}.post-submit-btn:disabled{cursor:not-allowed;opacity:.6}.posts-list{display:flex;flex-direction:column;gap:20px}.no-posts{color:#999;padding:60px 20px;text-align:center}.no-posts,.post-card{background:#fff;border-radius:15px}.post-card{border:1px solid #ff6b9d1a;box-shadow:0 2px 10px #00000014;overflow:hidden;transition:all .3s ease}.post-card:hover{box-shadow:0 4px 20px #ff6b9d26}.post-header{justify-content:space-between;padding:15px 20px}.post-author,.post-header{align-items:center;display:flex}.post-author{gap:12px}.author-avatar{align-items:center;background:linear-gradient(135deg,#ff6b9d,#c06c84);border-radius:50%;color:#fff;display:flex;font-size:16px;font-weight:700;height:42px;justify-content:center;width:42px}.author-info{display:flex;flex-direction:column;gap:3px}.author-name{color:#333;font-size:15px;font-weight:600}.post-time{color:#999;font-size:12px}.delete-post-btn{background:none;border:none;cursor:pointer;font-size:20px;opacity:.6;padding:5px;transition:all .3s ease}.delete-post-btn:hover{opacity:1;transform:scale(1.2)}.post-text{color:#333;font-size:15px;line-height:1.6;padding:0 20px 15px;white-space:pre-wrap}.post-media{background:#f5f5f5;width:100%}.post-media img,.post-media video{display:block;max-height:600px;object-fit:contain;width:100%}.post-media-carousel{background:#f5f5f5;position:relative;width:100%}.media-carousel-inner{overflow:hidden;position:relative;width:100%}.media-track{display:flex;transition:transform .3s ease-in-out}.media-item{align-items:center;display:flex;flex:0 0 100%;justify-content:center}.media-item img,.media-item video{display:block;max-height:600px;object-fit:contain;width:100%}.carousel-btn{align-items:center;background:#ffffffe6;border:none;border-radius:50%;box-shadow:0 2px 8px #00000026;color:#333;cursor:pointer;display:flex;font-size:28px;font-weight:700;height:40px;justify-content:center;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px;z-index:10}.carousel-btn:hover{background:#fff;box-shadow:0 4px 12px #00000040;transform:translateY(-50%) scale(1.1)}.carousel-btn.prev-btn{left:15px}.carousel-btn.next-btn{right:15px}.media-indicators{bottom:10px;display:flex;gap:6px;justify-content:center;left:50%;padding:12px 0;position:absolute;transform:translateX(-50%);z-index:10}.media-indicator{background:#ffffff80;border-radius:50%;box-shadow:0 2px 4px #0003;cursor:pointer;height:8px;transition:all .3s ease;width:8px}.media-indicator.active{background:#fffffff2;transform:scale(1.2)}.post-stats{color:#666;font-size:13px;justify-content:space-between;padding:12px 20px}.post-actions,.post-stats{border-top:1px solid #f0f0f0;display:flex}.post-actions{gap:10px;padding:8px 20px 12px}.action-btn{align-items:center;background:none;border:none;border-radius:8px;color:#555;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:500;gap:6px;justify-content:center;padding:10px;transition:all .3s ease}.action-btn:hover{background:#f5f5f5}.action-btn.liked{color:#ff6b9d}.action-btn span{font-size:18px}.comments-section{background:#fafafa;border-top:1px solid #f0f0f0;max-height:400px;overflow-y:auto;padding:15px 20px}.comment-item{display:flex;gap:10px;margin-bottom:15px}.comment-item:last-child{margin-bottom:0}.comment-avatar{align-items:center;background:linear-gradient(135deg,#a8a8a8,#7f7f7f);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:34px;justify-content:center;width:34px}.comment-content{background:#fff;border-radius:18px;flex:1 1;padding:10px 14px}.comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:4px}.comment-author{color:#333;font-size:13px;font-weight:600}.comment-time{color:#999;font-size:11px}.comment-text{color:#333;font-size:14px;line-height:1.5}.comment-input-wrapper{align-items:center;background:#fff;border-top:1px solid #f0f0f0;display:flex;gap:10px;padding:12px 20px}.comment-input-avatar{align-items:center;background:linear-gradient(135deg,#ff6b9d,#c06c84);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:34px;justify-content:center;width:34px}.comment-input{border:1px solid #e0e0e0;border-radius:20px;flex:1 1;font-family:inherit;font-size:14px;padding:9px 16px;transition:all .3s ease}.comment-input:focus{border-color:#ff6b9d;box-shadow:0 0 0 3px #ff6b9d1a;outline:none}.send-comment-btn{background:linear-gradient(135deg,#ff6b9d,#c06c84);border:none;border-radius:18px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .3s ease}.send-comment-btn:hover{box-shadow:0 3px 10px #ff6b9d66;transform:translateY(-1px)}@media (max-width:768px){.newsfeed-container{padding:15px 10px}.newsfeed-title{font-size:24px}.create-post-box,.post-card{border-radius:12px}.media-item img,.media-item video,.post-media img,.post-media video{max-height:400px}.files-preview-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.carousel-btn{font-size:24px;height:35px;width:35px}.carousel-btn.prev-btn{left:10px}.carousel-btn.next-btn{right:10px}}@media (max-width:480px){.newsfeed-page{padding-top:70px}.user-avatar{font-size:16px;height:38px;width:38px}.post-input{font-size:14px}.create-post-actions{flex-direction:column;gap:10px}.post-submit-btn,.upload-btn{justify-content:center;width:100%}.action-btn{font-size:13px;padding:8px}.action-btn span{font-size:16px}.files-preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.carousel-btn{font-size:20px;height:32px;width:32px}.carousel-btn.prev-btn{left:8px}.carousel-btn.next-btn{right:8px}.media-indicators{bottom:8px}.media-indicator{height:6px;width:6px}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Georgia,Times New Roman,serif}.gradient-bg{animation:gradientShift 15s ease infinite;background:linear-gradient(135deg,#667eea,#764ba2 25%,#f093fb 50%,#f5576c 75%,orange);background-size:400% 400%;height:100%;left:0;position:absolute;top:0;width:100%;will-change:background-position;z-index:0}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.particles-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}.particle{animation:twinkle 3s ease-in-out infinite;background:#fff;border-radius:50%;box-shadow:0 0 10px #fffc;height:4px;position:absolute;width:4px;will-change:transform,opacity}@keyframes twinkle{0%,to{opacity:0;transform:scale3d(0,0,1)}50%{opacity:1;transform:scale3d(1.5,1.5,1)}}.hearts-container{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:2}.floating-heart{animation:floatUp 7s ease-in forwards;bottom:-50px;filter:drop-shadow(0 0 10px rgba(255,107,157,.6));opacity:.7;position:absolute;will-change:transform,opacity}@keyframes floatUp{0%{opacity:.7;transform:translateZ(0) rotate(0deg)}50%{opacity:.9;transform:translate3d(20px,-55vh,0) rotate(180deg)}to{opacity:0;transform:translate3d(-20px,-110vh,0) rotate(1turn)}}.corner-light{animation:cornerPulse 3s ease-in-out infinite;background:radial-gradient(circle,#ffffff4d,#0000 70%);border-radius:50%;height:200px;position:absolute;width:200px;z-index:1}.top-left{left:-100px;top:-100px}.top-right{animation-delay:.5s;right:-100px;top:-100px}.bottom-left{animation-delay:1s;bottom:-100px;left:-100px}.bottom-right{animation-delay:1.5s;bottom:-100px;right:-100px}@keyframes cornerPulse{0%,to{opacity:.4;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes rotate{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInOut{0%,to{opacity:.7}50%{opacity:1}}
/*# sourceMappingURL=main.c545b492.css.map*/