*{margin:0;padding:0;box-sizing:border-box}:root{--color-bg-primary: #0f0520;--color-bg-secondary: #1a0a2e;--color-accent-1: #ff6b9d;--color-accent-2: #feca57;--color-accent-3: #48dbfb;--color-accent-4: #c44569;--color-text-primary: #ffffff;--color-text-secondary: #f8f8f8;--gradient-bg: linear-gradient(135deg, #0f0520 0%, #1a0a2e 50%, #16213e 100%);--gradient-card: linear-gradient(135deg, rgba(255, 107, 157, .15) 0%, rgba(254, 202, 87, .15) 100%);--gradient-accent: linear-gradient(90deg, #ff6b9d 0%, #c44569 50%, #feca57 100%);--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4rem;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .1);--shadow-md: 0 4px 16px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .3);--shadow-glow: 0 0 40px rgba(255, 107, 157, .4)}body{font-family:Heebo,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--gradient-bg);color:var(--color-text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;position:relative}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 20% 50%,rgba(255,107,157,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(254,202,87,.1) 0%,transparent 50%),radial-gradient(circle at 40% 20%,rgba(72,219,251,.08) 0%,transparent 50%);pointer-events:none;z-index:0}.container{max-width:1400px;margin:0 auto;padding:var(--spacing-md);position:relative;z-index:1}.hero{text-align:center;padding:var(--spacing-xl) var(--spacing-md);position:relative;margin-bottom:var(--spacing-lg)}.sparkles{font-size:3rem;animation:sparkle 2s ease-in-out infinite;display:inline-block}@keyframes sparkle{0%,to{transform:scale(1) rotate(0);opacity:1}50%{transform:scale(1.2) rotate(180deg);opacity:.8}}.title{display:flex;flex-direction:column;gap:var(--spacing-sm);font-size:clamp(2.5rem,8vw,5rem);font-weight:900;line-height:1.1;margin:var(--spacing-md) 0}.title-line{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:gradientShift 3s ease infinite;background-size:200% 200%}.title-name{color:var(--color-accent-2);filter:drop-shadow(var(--shadow-glow));animation:float 3s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.wishes{display:flex;justify-content:center;margin-bottom:var(--spacing-xl)}.wishes-card{background:var(--gradient-card);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--spacing-lg);max-width:700px;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.wishes-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.05) 50%,transparent 70%);transform:rotate(45deg);animation:shimmer 3s infinite}@keyframes shimmer{0%{transform:translate(-100%) translateY(-100%) rotate(45deg)}to{transform:translate(100%) translateY(100%) rotate(45deg)}}.wishes-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-glow),var(--shadow-lg)}.wishes-text{font-size:clamp(1.3rem,3vw,1.8rem);font-weight:400;line-height:1.8;text-align:center;position:relative;z-index:1}.gallery{padding:var(--spacing-lg) 0}.gallery-title{text-align:center;font-size:clamp(2rem,5vw,3rem);font-weight:700;margin-bottom:var(--spacing-lg);background:linear-gradient(90deg,var(--color-accent-1),var(--color-accent-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-md);padding:var(--spacing-md) 0}.photo-card{animation:fadeInUp .6s ease-out backwards;position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.photo-wrapper{position:relative;width:100%;padding-bottom:100%;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-md);background:#ffffff0d;transition:transform .4s cubic-bezier(.34,1.56,.64,1),box-shadow .4s ease}.photo-wrapper:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#ff6b9d33,#feca5733);opacity:0;transition:opacity .3s ease;z-index:1}.photo-card:hover .photo-wrapper{transform:scale(1.05) rotate(2deg);box-shadow:var(--shadow-glow),var(--shadow-lg)}.photo-card:hover .photo-wrapper:before{opacity:1}.photo-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.photo-card:hover .photo-wrapper img{transform:scale(1.1)}.footer{text-align:center;padding:var(--spacing-xl) var(--spacing-md);font-size:1.5rem;color:var(--color-accent-2);font-weight:300}@media (max-width: 768px){:root{--spacing-lg: 2rem;--spacing-xl: 3rem}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-sm)}.wishes-card{padding:var(--spacing-md)}}@media (max-width: 480px){.photo-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
