:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color:#4a4a4a;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.announcement{display:flex;flex-direction:column;align-items:center;padding:2rem;max-width:390px;margin:0 auto;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a}body{margin:0;display:flex;align-items:center;justify-content:center;min-width:320px;min-height:100vh;background-color:#f5f7fa;padding:1rem}.baby-name{font-size:2.4rem;color:#5b6b7c;font-family:Playfair Display,serif;margin:1.5rem 0 1rem;line-height:1.2}.details{font-size:1rem;color:#8795a7;letter-spacing:.05em;margin:.5rem 0;font-family:Inter,sans-serif}.details.with-icon{display:flex;align-items:center;justify-content:center;gap:.5rem}.icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:#b8d8f0}.icon svg{width:100%;height:100%}.heart-icon{width:40px;height:40px;background-color:#b8d8f0;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:1rem 0}.heart-icon svg{width:24px;height:24px;fill:#fff}.divider{width:60%;height:1px;background:#e8edf3;margin:1.5rem 0}.parents{font-size:1.1rem;color:#5b6b7c;margin-top:1rem}.photo-section{width:100%;margin:2rem 0}.main-photo{width:100%;aspect-ratio:1 / 1;object-fit:contain;border-radius:12px;background:#f5f7fa;opacity:0;transition:opacity .3s ease}.main-photo.loaded{opacity:1}.thumbnail-container{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px;margin-top:20px;width:100%}.thumbnail{display:block;width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:8px;cursor:pointer;transition:all .2s;border:2px solid transparent}.thumbnail:hover{transform:scale(1.05)}.thumbnail.active{border-color:#b8d8f0;opacity:1}@media (max-width: 600px){.thumbnail-container{grid-template-columns:repeat(3,1fr)}}@media (max-width: 400px){.thumbnail-container{grid-template-columns:repeat(2,1fr)}}.dots-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;opacity:.1;pointer-events:none;background-image:radial-gradient(#b8d8f0 2px,transparent 2px);background-size:30px 30px}.its-a-boy{background:#b8d8f0;color:#fff;padding:.5rem 1.5rem;border-radius:20px;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:1rem}.date{font-family:Inter,sans-serif;font-size:1.1rem;color:#8795a7;margin:.5rem 0;letter-spacing:.05em}.backer-link{display:inline-block;background-color:#f0f5fa;color:#5b6b7c;padding:.375rem 1rem;border-radius:9999px;font-size:.75rem;margin-top:2rem;z-index:10;text-decoration:none;transition:background-color .2s;margin-bottom:1rem}.backer-link:hover{background-color:#e8f0f9}.font-bold{font-weight:700}.photo-container{position:relative;width:100%;margin-bottom:20px}.photo-info{position:absolute;bottom:10px;right:10px;display:flex;gap:10px;align-items:center}.photo-filename,.photo-date{display:flex;align-items:center;gap:5px;background-color:#0009;color:#fff;padding:5px 10px;border-radius:4px;font-size:14px;font-weight:500}.info-icon{width:16px;height:16px;fill:currentColor}.photo-date{position:static}.thumbnail-wrapper{position:relative;width:100%;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden}.thumbnail-skeleton{width:100%;height:100%;background:linear-gradient(90deg,#e8edf3 25%,#f5f7fa,#e8edf3 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:8px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.thumbnail-wrapper .thumbnail{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .3s ease}.thumbnail-wrapper .thumbnail.loaded{opacity:1}.main-photo-wrapper{position:relative;width:100%;aspect-ratio:1 / 1}.main-photo-skeleton{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,#e8edf3 25%,#f5f7fa,#e8edf3 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:12px;z-index:1}.main-photo.loaded+.main-photo-skeleton,.main-photo-skeleton.hidden{display:none}.homepage{display:flex;flex-direction:column;align-items:center;padding:2rem;max-width:500px;margin:0 auto;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;position:relative}.homepage-header{margin-bottom:1rem}.homepage-subtitle{font-size:1rem;color:#8795a7;margin:0}.featured-photo{width:100%;max-width:280px;margin:1rem 0 2rem}.featured-photo-img{width:100%;aspect-ratio:1 / 1;object-fit:cover;border-radius:50%;border:4px solid #b8d8f0;box-shadow:0 4px 12px #b8d8f04d}.tile-grid{width:100%;display:flex;flex-direction:column;gap:1rem}.tile{display:flex;align-items:center;gap:1rem;padding:1rem 1.25rem;background:#f8fafc;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease;border:1px solid #e8edf3;cursor:pointer}.tile:hover{background:#f0f5fa;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.tile-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tile-icon svg{width:24px;height:24px}.tile-birth .tile-icon{background:#e8f5e9;color:#4caf50}.tile-christmas .tile-icon{background:#ffebee;color:#e53935}.tile-wishlist .tile-icon{background:#fff3e0;color:#ff9800}.tile-content{flex:1;text-align:left}.tile-title{font-size:1rem;font-weight:600;color:#5b6b7c;margin:0 0 .25rem}.tile-description{font-size:.85rem;color:#8795a7;margin:0}.tile-arrow,.tile-expand{width:24px;height:24px;color:#b8c5d3;flex-shrink:0}.tile-arrow svg,.tile-expand svg{width:100%;height:100%}.tile-expand{transition:transform .3s ease}.tile-wishlist.expanded .tile-expand{transform:rotate(180deg)}.wishlist-items{width:100%;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease;background:#fffbf5;border-radius:12px;margin-top:-.5rem}.wishlist-items.expanded{max-height:400px;padding:1rem 1.25rem;border:1px solid #ffe0b2}.wishlist-list{list-style:none;padding:0;margin:0;text-align:left}.wishlist-list li{padding:.5rem 0;border-bottom:1px solid #ffe0b2;color:#5b6b7c;font-size:.95rem}.wishlist-list li:last-child{border-bottom:none}.wishlist-list li:before{content:"🎁 "}.wishlist-note{font-size:.85rem;color:#8795a7;font-style:italic;margin:1rem 0 0;text-align:center}.homepage-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e8edf3;width:100%}.homepage-footer p{color:#8795a7;font-size:.9rem;margin:0}.page-wrapper{display:flex;flex-direction:column;align-items:center;width:100%;max-width:500px;margin:0 auto;padding:1rem}.back-link{display:flex;align-items:center;gap:.5rem;color:#8795a7;text-decoration:none;font-size:.9rem;margin-bottom:1rem;align-self:flex-start;transition:color .2s}.back-link:hover{color:#5b6b7c}.back-link svg{width:18px;height:18px}@media (min-width: 600px){.homepage{max-width:600px;padding:3rem}.tile-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.tile-wishlist,.wishlist-items{grid-column:1 / -1}}@media (max-width: 599px){.homepage{padding:1.5rem;border-radius:0;box-shadow:none;min-height:100vh;justify-content:flex-start}.featured-photo{max-width:200px}.baby-name{font-size:1.8rem}}.card-page{display:flex;flex-direction:column;align-items:center;padding:2rem;max-width:600px;margin:0 auto;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;position:relative}.card-header{margin-bottom:1.5rem}.card-badge{display:inline-block;background:linear-gradient(135deg,#c62828,#b71c1c);color:#fff;padding:.4rem 1.2rem;border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.1em;margin-bottom:1rem}.card-title{font-size:2rem;color:#2e7d32;font-family:Playfair Display,serif;margin:0 0 .5rem}.card-subtitle{font-size:1rem;color:#8795a7;margin:0}.card-frame{position:relative;width:100%;max-width:500px}.card-image{width:100%;display:block;border-radius:4px;opacity:0;transition:opacity .3s ease;box-shadow:0 16px 48px #00000040}.card-image.loaded{opacity:1}.card-image-skeleton{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,#e8edf3 25%,#f5f7fa,#e8edf3 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s ease-in-out infinite;border-radius:4px}.card-image-skeleton.hidden{display:none}.card-footer{margin-top:2rem}.card-footer p{color:#8795a7;font-size:1rem;margin:0}.card-signature{font-family:Playfair Display,serif;font-size:1.3rem!important;color:#5b6b7c!important;margin-top:.5rem!important}@media (max-width: 599px){.card-page{padding:1.5rem;border-radius:0;box-shadow:none;min-height:100vh;justify-content:flex-start}.card-title{font-size:1.6rem}}.wishlist-page{display:flex;flex-direction:column;align-items:center;padding:2rem;max-width:600px;margin:0 auto;text-align:center;background:#fff;border-radius:20px;box-shadow:0 4px 6px #0000001a;position:relative}.wishlist-header{margin-bottom:1.5rem}.wishlist-badge{display:inline-block;background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:.4rem 1.2rem;border-radius:20px;font-size:.85rem;font-weight:600;letter-spacing:.1em;margin-bottom:1rem}.wishlist-title{font-size:2rem;color:#5b6b7c;font-family:Playfair Display,serif;margin:0 0 .5rem}.wishlist-subtitle{font-size:1rem;color:#8795a7;margin:0}.filter-container{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-bottom:1.5rem;width:100%}.filter-btn{padding:.5rem 1rem;border:1px solid #e8edf3;border-radius:20px;background:#f8fafc;color:#5b6b7c;font-size:.85rem;cursor:pointer;transition:all .2s ease}.filter-btn:hover{background:#f0f5fa}.filter-btn.active{background:#5b6b7c;color:#fff;border-color:#5b6b7c}.wishlist-items-container{width:100%;display:flex;flex-direction:column;gap:.75rem}.wishlist-item{display:flex;align-items:center;gap:1rem;padding:1rem;background:#f8fafc;border-radius:12px;text-decoration:none;color:inherit;transition:all .2s ease;border:1px solid #e8edf3}.wishlist-item:hover{background:#f0f5fa;transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.wishlist-item-content{flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;text-align:left}.wishlist-item-name{font-size:.95rem;color:#5b6b7c;font-weight:500;line-height:1.3}.wishlist-store-badge{display:inline-block;padding:.2rem .6rem;border-radius:12px;font-size:.7rem;font-weight:600;color:#fff;text-transform:uppercase;letter-spacing:.05em}.wishlist-item-arrow{width:20px;height:20px;color:#b8c5d3;flex-shrink:0}.wishlist-item-arrow svg{width:100%;height:100%}.wishlist-empty{color:#8795a7;font-style:italic;padding:2rem}.wishlist-footer{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #e8edf3;width:100%}.wishlist-footer p{color:#8795a7;font-size:.9rem;margin:.25rem 0}.wishlist-note-footer{font-style:italic;margin-bottom:.5rem!important}@media (max-width: 599px){.wishlist-page{padding:1.5rem;border-radius:0;box-shadow:none;min-height:100vh;justify-content:flex-start}.wishlist-title{font-size:1.6rem}.filter-btn{padding:.4rem .8rem;font-size:.8rem}}
