.greeting-preview-loader{position:absolute;inset:0;z-index:3;overflow:hidden;border:1px solid #eadccc;background:radial-gradient(ellipse at 50% 30%,#f9e8f0 0,transparent 58%),linear-gradient(145deg,#fffcf6,#fbf5ed);color:#a6406f;text-align:center}
.has-preview-loader>:not(.greeting-preview-loader){visibility:hidden}
.greeting-world>.greeting-preview-loader{position:fixed;z-index:10;overflow:auto}
.greeting-preview-loader__retry{margin:20px 0 0;padding:12px 20px;border:1px solid #e3b9cd;border-radius:12px;background:#f9e5ef;color:#8c345b;font:600 12px/1.4 "Segoe UI",Arial,sans-serif;cursor:pointer}
.greeting-preview-loader__retry:hover{background:#f2d3e2}
.greeting-preview-loader__retry:focus-visible{outline:2px solid #a6406f;outline-offset:4px}
.greeting-preview-loader.has-error *{animation:none!important}
.greeting-preview-loader:before{content:'';position:absolute;inset:12px;border:1px solid #dcc8a766;pointer-events:none}
.greeting-preview-loader__content{position:relative;padding:clamp(68px,24vw,200px) 20px 40px}
.greeting-preview-loader__art{width:144px;height:144px;margin:0 auto 18px}
.greeting-preview-loader__art svg{display:block;width:100%;height:100%;overflow:visible}
.greeting-loader-orbit{transform-origin:72px 72px;animation:greeting-loader-orbit 18s linear infinite}
.greeting-loader-paper{transform-origin:72px 72px;animation:greeting-loader-float 3s ease-in-out infinite}
.greeting-loader-sparkles{transform-origin:72px 72px;animation:greeting-loader-shimmer 2.4s ease-in-out infinite}
.greeting-preview-loader__eyebrow{display:block;font:600 9px/1.6 "Segoe UI",Arial,sans-serif;letter-spacing:.2em;color:#9b7c64}
.greeting-preview-loader__title{margin:12px 0 9px;font:italic 30px/1.25 Georgia,serif;color:#74455b;text-wrap:balance}
.greeting-preview-loader__hint{margin:0;font:12px/1.6 "Segoe UI",Arial,sans-serif;color:#8a796d;text-wrap:balance}
.greeting-preview-loader__progress{display:block;position:relative;width:88px;height:3px;margin:25px auto 0;border-radius:3px;background:#ead6df;overflow:hidden}
.greeting-preview-loader__progress:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,#a6406f,transparent);animation:greeting-loader-progress 1.8s ease-in-out infinite}
@keyframes greeting-loader-orbit{to{transform:rotate(360deg)}}
@keyframes greeting-loader-float{0%,100%{transform:translateY(2px) rotate(-4deg)}50%{transform:translateY(-4px) rotate(2deg)}}
@keyframes greeting-loader-shimmer{0%,100%{opacity:.45;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}
@keyframes greeting-loader-progress{0%{transform:translateX(-100%)}100%{transform:translateX(100%)}}
@media(max-width:360px){.greeting-preview-loader__content{padding:42px 14px 24px}.greeting-preview-loader__art{width:112px;height:112px;margin-bottom:14px}.greeting-preview-loader__title{font-size:26px;line-height:1.2}.greeting-preview-loader__progress{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.greeting-preview-loader *,.greeting-preview-loader__progress:after{animation:none!important}}
@media print{.greeting-preview-loader{display:none!important}}
