.promo-overlay{top:var(--app-top,0px);height:var(--app-height,100dvh);padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left))}.promo-card{border-radius:12px;width:min(92vw,540px);overflow:visible}.promo-art{object-fit:cover;border-radius:12px 12px 0 0;width:100%;height:clamp(220px,42vh,460px)}.promo-content{min-width:0;padding:clamp(16px,2.6vh,24px) clamp(18px,3vw,30px)}.promo-content h2{font-size:clamp(20px,3.4vw,30px);line-height:1.3}.promo-content p{overflow-wrap:anywhere}.promo-content label{font-size:clamp(13px,1.9vw,15px)}.promo-body{margin-top:clamp(8px,1.4vh,14px);font-size:clamp(14px,2.2vw,18px);line-height:1.55}.promo-price{margin-top:8px;font-size:clamp(18px,2.8vw,26px)}.promo-footer{margin-top:10px}.promo-purchase{gap:6px;display:grid}.promo-purchase p{font-size:13px;line-height:1.4}.promo-purchase button{height:auto;min-height:42px;padding:8px 14px;font-size:14px}.promo-purchase ul{gap:4px;font-size:13px;line-height:1.35}.promo-close{z-index:1}.promo-daily{width:min(94vw,700px)}.promo-daily .promo-art{aspect-ratio:16/9;object-fit:contain;height:auto}.promo-daily:not(.has-art) .promo-content h2{font-size:clamp(22px,3.8vw,34px)}.promo-daily:not(.has-art) .promo-body{font-size:clamp(15px,2.4vw,20px);line-height:1.6}@media (width>=480px) and (height<=640px){.promo-card{width:min(94vw,720px)}.promo-daily{width:min(96vw,900px)}.promo-card.has-art{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);display:grid}.promo-card.has-art>.promo-art,.promo-card.has-art>.promo-art-link{border-radius:12px 0 0 12px;height:100%;min-height:0}.promo-card.has-art>.promo-art{aspect-ratio:auto;height:100%}.promo-art-link .promo-art{height:100%}.promo-card.has-art>.promo-art-link{border-radius:12px 0 0 12px}.promo-card.has-art>.promo-art-link .promo-art{border-radius:0}.promo-content{padding:12px 18px}.promo-card.has-art .promo-content h2{font-size:clamp(17px,2.4vw,24px)}.promo-card.has-art .promo-body{margin-top:4px;font-size:13px;line-height:1.4}.promo-body,.promo-footer{margin-top:6px}}@media (height<=360px){.promo-content{padding:8px 12px}.promo-body{line-height:1.4}.promo-purchase{gap:4px}.promo-price{margin-top:5px}}.promo-card{isolation:isolate;box-shadow:0 0 28px -6px color-mix(in oklab, var(--primary) 70%, transparent), 0 0 60px -20px color-mix(in oklab, var(--accent) 60%, transparent);animation:.45s cubic-bezier(.2,1.3,.4,1) both promo-pop;position:relative}.promo-card:before{content:"";z-index:-1;background:conic-gradient(from var(--promo-angle,0deg), var(--primary), var(--accent), transparent 40%, var(--primary));border-radius:14px;animation:4s linear infinite promo-spin;position:absolute;inset:-2px}.promo-card:after{content:"";z-index:-1;background:var(--card);border-radius:12px;position:absolute;inset:0}.promo-art,.promo-art-link{position:relative}.promo-art-link{border-radius:12px 12px 0 0;overflow:hidden}.promo-card.has-art>.promo-art,.promo-art-link .promo-art{animation:3.2s ease-in-out infinite promo-glow}.promo-sparkles{pointer-events:none;z-index:2;border-radius:inherit;position:absolute;inset:0;overflow:hidden}.promo-sparkles:before{content:"";background:linear-gradient(105deg, transparent, color-mix(in oklab, var(--primary-foreground) 35%, transparent), transparent);width:40%;animation:3.6s ease-in-out infinite promo-sweep;position:absolute;top:0;bottom:0;left:-60%}.promo-sparkles:after{content:"";background:radial-gradient(circle at 15% 25%, var(--primary-foreground) 0 1.5px, transparent 2.5px), radial-gradient(circle at 70% 15%, var(--accent) 0 2px, transparent 3px), radial-gradient(circle at 88% 60%, var(--primary-foreground) 0 1.5px, transparent 2.5px), radial-gradient(circle at 35% 80%, var(--primary) 0 2px, transparent 3px), radial-gradient(circle at 55% 45%, var(--primary-foreground) 0 1px, transparent 2px);animation:2.4s ease-in-out infinite alternate promo-twinkle;position:absolute;inset:0}@property --promo-angle{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes promo-spin{to{--promo-angle:360deg}}@keyframes promo-pop{0%{opacity:0;transform:scale(.88)translateY(12px)}to{opacity:1;transform:none}}@keyframes promo-sweep{0%,55%{left:-60%}to{left:130%}}@keyframes promo-twinkle{0%{opacity:.25}to{opacity:1}}@keyframes promo-glow{0%,to{filter:saturate()brightness()}50%{filter:saturate(1.15)brightness(1.08)}}@media (prefers-reduced-motion:reduce){.promo-card,.promo-card:before,.promo-sparkles:before,.promo-sparkles:after,.promo-art{animation:none!important}}
