.promo-scrim{z-index:75;overscroll-behavior:contain;background:#1e160f75;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out fade;display:flex;position:fixed;inset:0}.promo-card{background:var(--paper);width:min(100%,360px);max-height:88dvh;color:var(--ink);border-radius:var(--r-lg);animation:pop .26s var(--ease);position:relative;overflow-y:auto;box-shadow:0 24px 60px -20px #1e160f73}.promo-scrim.is-sheet{align-items:flex-end;padding:0}.promo-scrim.is-sheet .promo-card{width:100%;max-width:var(--shell);padding-top:12px;padding-bottom:var(--safe-b);animation:up .3s var(--ease);border-radius:26px 26px 0 0;display:grid}.promo-scrim.is-sheet .sheet-grip{margin-bottom:8px}.promo-scrim.is-full{padding:0}.promo-scrim.is-full .promo-card{width:100%;max-width:var(--shell);border-radius:0;flex-direction:column;height:100dvh;max-height:none;display:flex}.promo-scrim.is-full .promo-img{aspect-ratio:auto;flex:1;min-height:0}.promo-img{aspect-ratio:4/5;object-fit:cover;background:var(--wash);cursor:pointer;width:100%;display:block}.is-sheet .promo-img{aspect-ratio:16/9}.promo-body{padding:18px var(--pad) 22px;gap:8px;display:grid}.promo-t{font-family:var(--display);color:var(--ink);margin:0;font-size:24px;font-weight:600;line-height:1.2}.promo-p{color:var(--muted);margin:0;font-size:14.5px;line-height:1.55}.promo-cd{color:var(--brand);font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.promo-btns{gap:10px;margin-top:8px;display:flex}.promo-btns .btn{flex:1}.promo-pri{background:var(--promo-accent,var(--primary))}.promo-x{z-index:2;color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e160f80;border:0;border-radius:50%;width:36px;height:36px;font-size:22px;line-height:36px;position:absolute;top:10px;right:10px}.promo-toast{z-index:75;left:50%;top:calc(12px + env(safe-area-inset-top,0px));background:var(--ink);color:#fff8ef;border-radius:var(--r-md);cursor:pointer;align-items:center;gap:12px;width:min(100% - 24px,440px);padding:12px 48px 12px 14px;animation:.2s ease-out fade;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 30px -12px #1e160f80}.promo-toast img{object-fit:cover;border-radius:10px;flex:none;width:44px;height:44px}.promo-toast-tx{gap:2px;font-size:14px;display:grid}.promo-toast-tx span{color:#d9cfc4;font-size:13px}.promo-toast .promo-x{background:0 0;top:50%;transform:translateY(-50%)}.promo-fab-wrap{z-index:70;right:max(14px, calc((100vw - var(--shell)) / 2 + 14px));bottom:calc(var(--tabbar-h) + var(--safe-b) + 36px);position:fixed}.promo-fab{border:3px solid var(--paper);background:var(--promo-accent,var(--primary));color:#fff8ef;cursor:pointer;border-radius:50%;width:66px;height:66px;padding:0;font-size:11.5px;font-weight:600;line-height:1.2;animation:2.6s ease-in-out infinite promo-pulse;overflow:hidden;box-shadow:0 10px 24px -8px #1e160f73}.promo-fab img{object-fit:cover;width:100%;height:100%;display:block}.promo-fab span{padding:6px;display:block}.promo-fab-x{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:50%;width:22px;height:22px;font-size:13px;line-height:22px;position:absolute;top:-6px;right:-6px}.promo-banner{z-index:70;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-b) + 12px);width:min(calc(100% - 24px), calc(var(--shell) - 24px));border-radius:var(--r-md);background:var(--card);box-shadow:var(--lift), 0 12px 28px -14px #1e160f66;cursor:pointer;animation:.2s ease-out fade;position:fixed;overflow:hidden;transform:translate(-50%)}.promo-banner img{aspect-ratio:3;object-fit:cover;width:100%;display:block}.promo-banner-tx{gap:2px;padding:14px 48px 14px 16px;font-size:14px;display:grid}.promo-banner-tx span{color:var(--muted);font-size:13px}.promo-banner .promo-x{width:28px;height:28px;font-size:18px;line-height:28px;top:8px;right:8px}@media (min-width:1024px){.promo-fab-wrap{bottom:112px;right:32px}.promo-banner{width:min(560px,100% - 80px);bottom:108px}.promo-scrim.is-full{padding:32px}.promo-scrim.is-full .promo-card{border-radius:var(--r-lg);width:min(100%,520px);height:auto;max-height:90vh}.promo-scrim.is-full .promo-img{aspect-ratio:4/5;flex:none}.promo-scrim.is-sheet{align-items:center;padding:32px}.promo-scrim.is-sheet .promo-card{border-radius:var(--r-lg);width:min(100%,440px);padding-bottom:0}.promo-scrim.is-sheet .sheet-grip{display:none}}@keyframes promo-pulse{50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.promo-scrim,.promo-card,.promo-toast,.promo-banner,.promo-fab{animation:none}}
