/* Campaign artwork is always contained, including short landscape screens.
   The 120px reserve is the 64px page margin plus the 56px "don't show today" chip below the artwork. */
html.love-quest-promo-open{overflow:hidden!important}
#loveQuestPromo[open]{display:block}
#loveQuestPromo:not([open]){display:none}
#loveQuestPromo{position:fixed;inset:0;margin:auto;padding:0;border:0;background:transparent;color:#51315f;width:min(680px,calc(100vw - 40px),calc(100dvh - 120px - env(safe-area-inset-top) - env(safe-area-inset-bottom)));height:fit-content;max-width:none;max-height:none;overflow:visible;box-shadow:none}
#loveQuestPromo::backdrop{background:#24132bcc;backdrop-filter:blur(6px)}
#loveQuestPromo .quest-promo-link{display:block;border:3px solid #51315f;border-radius:14px!important;overflow:hidden;background:#ffdbeb;box-shadow:6px 7px 0 #51315f;text-decoration:none}
#loveQuestPromo .quest-promo-link img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain}
#loveQuestPromo .quest-promo-close{position:absolute;z-index:1;top:-20px;right:-15px;width:52px;height:52px;min-width:52px;min-height:52px;padding:0;border:0;background:transparent;box-shadow:none;cursor:pointer;transition:transform .15s}
#loveQuestPromo .quest-promo-close img{display:block;width:100%;height:100%}
#loveQuestPromo .quest-promo-close:hover{transform:translateY(-2px)}
#loveQuestPromo .quest-promo-skip{display:flex;align-items:center;justify-content:center;gap:10px;width:fit-content;max-width:100%;min-height:44px;margin:12px auto 0;padding:0 18px;border:3px solid #51315f;border-radius:14px;background:#ffdbeb;box-shadow:3px 4px 0 #51315f;color:#51315f;font:700 15px/1.3 var(--body,sans-serif);letter-spacing:0;text-transform:none;cursor:pointer;user-select:none}
#loveQuestPromo .quest-promo-skip input{flex:none;width:22px;height:22px;margin:0;accent-color:#51315f;cursor:pointer}
#loveQuestPromo :focus-visible{outline:4px solid #ffeb78;outline-offset:5px}
@media(prefers-reduced-motion:reduce){#loveQuestPromo .quest-promo-close{transition:none}}
