*{box-sizing:border-box;margin:0;padding:0}body{color:#333;background:linear-gradient(135deg,#ffe6e6,#cbccff,#b4e5ff);font-family:Graublau Web,cursive,sans-serif;line-height:1.6}@font-face{font-family:Graublau Web;src:url(LondrinaSolid-Regular.ttf)}.container{max-width:1200px;margin:0 auto;padding:20px}.header{text-align:center;background:#ffffffe6;border-radius:20px;margin-bottom:40px;padding:30px;position:relative;overflow:hidden;box-shadow:0 10px 30px #0000001a}.header:before{content:"🎈🎂🎉";opacity:.1;font-size:3rem;position:absolute;top:-10px;left:-10px;transform:rotate(-15deg)}.header:after{content:"🎁🎊🎈";opacity:.1;font-size:3rem;position:absolute;bottom:-10px;right:-10px;transform:rotate(15deg)}h1{color:#ff6b6b;text-shadow:2px 2px 4px #0000001a;margin-bottom:10px;font-size:3.5rem;animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.subtitle{color:#4ecdc4;margin-bottom:20px;font-size:1.5rem}.birthday-details{background:#fffc;border:3px dashed #ffd93d;border-radius:15px;margin:20px 0;padding:20px}.birthday-details h2{color:#ff6b6b;text-align:center;margin-bottom:15px;font-size:2rem}.detail-item{background:#ffffff80;border-radius:10px;align-items:center;margin:10px 0;padding:10px;font-size:1.2rem;display:flex}.detail-item span{margin-right:10px;font-size:1.5rem}.carousel-section{margin:40px 0}.carousel-section h2{text-align:center;color:#4ecdc4;margin-bottom:30px;font-size:2.5rem}.carousel-container{background:#ffffffe6;border-radius:20px;max-width:800px;margin:0 auto;position:relative;overflow:hidden;box-shadow:0 10px 30px #0003}.carousel-wrapper{height:400px;position:relative;overflow:hidden}.carousel-slide{opacity:0;background:linear-gradient(45deg,#f0f0f0,#e0e0e0);border:3px dashed #ccc;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .8s ease-in-out;display:flex;position:absolute;top:0;left:0}.carousel-slide.active{opacity:1}.carousel-slide img{object-fit:contain;width:100%;height:100%}.carousel-placeholder{text-align:center;color:#666;padding:20px;font-size:1.2rem}.carousel-indicators{justify-content:center;gap:10px;padding:20px;display:flex}.indicator{cursor:pointer;background:#ccc;border-radius:50%;width:12px;height:12px;transition:background .3s}.indicator.active{background:#ff6b6b}.carousel-caption{color:#fff;text-align:center;background:#000000b3;padding:15px;font-size:1.1rem;font-weight:700;position:absolute;bottom:0;left:0;right:0}.milestone-section{background:#ffffffe6;border-radius:20px;margin:30px 0;padding:30px;box-shadow:0 5px 15px #0000001a}.milestone-section h2{color:#ff6b6b;text-align:center;margin-bottom:20px;font-size:2.5rem}.milestone-list{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;display:grid}.milestone-item{background:linear-gradient(135deg,#ffe5b4,#ffcccb);border-left:5px solid #4ecdc4;border-radius:10px;padding:15px}.wishes-section{text-align:center;background:#ffffffe6;border-radius:20px;margin:30px 0;padding:30px}.wishes-section h2{color:#4ecdc4;margin-bottom:20px;font-size:2.5rem}.wish-text{color:#555;font-size:1.3rem;font-style:italic;line-height:1.8}.floating-balloons{pointer-events:none;z-index:-1;width:100%;height:100%;position:fixed;top:0;left:0}.balloon:nth-child(2n){font-size:2rem;animation:7s linear infinite baloon-rise-cw;position:absolute;top:-10vh}.balloon:nth-child(odd){font-size:2rem;animation:7s linear infinite baloon-rise-ccw;position:absolute;top:-10vh}@keyframes baloon-rise-cw{0%{transform:translateY(110vh)rotate(-45deg)}to{transform:translateY(-10vh)rotate(45deg)}}@keyframes baloon-rise-ccw{0%{transform:translateY(110vh)rotate(45deg)}to{transform:translateY(-10vh)rotate(-45deg)}}.balloon:first-child{animation-delay:0s;left:10%}.balloon:nth-child(2){animation-delay:5s;left:20%}.balloon:nth-child(3){animation-delay:7s;left:30%}.balloon:nth-child(4){animation-delay:6s;left:40%}.balloon:nth-child(5){animation-delay:2s;left:50%}.balloon:nth-child(6){animation-delay:1s;left:60%}.balloon:nth-child(7){animation-delay:3s;left:70%}.balloon:nth-child(8){animation-delay:8s;left:80%}.balloon:nth-child(9){animation-delay:4s;left:90%}@keyframes float{0%,to{transform:translateY(100vh)rotate(0)}50%{transform:translateY(-20px)rotate(10deg)}}.footer{text-align:center;color:#666;margin-top:50px;padding:20px;font-size:1.2rem}@media (width<=768px){h1{font-size:2.5rem}.subtitle{font-size:1.2rem}.detail-item{font-size:1rem}.carousel-wrapper{height:300px}}