/* Original activity posters, with a bounded opening delay and native modal focus.
   18 Sep: the dialog and the Home card HUG the poster instead of letterboxing it —
   a 4:5 poster in a fixed-width box drew cream bars down both sides ("edit the
   visual so it does not come with the whitespace to the sides"). Widths are
   fit-content; the image sizes itself by max-width/max-height, keeping its aspect. */
.campaign-spotlight{position:fixed;inset:0;margin:auto;padding:0;border:1px solid #E5DDCF;border-radius:18px;background:#FFFDF9;color:#24231F;width:fit-content;max-width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:hidden;box-shadow:0 24px 90px #21190F40;font-family:Inter,Arial,sans-serif}
.campaign-spotlight[open]{display:flex;flex-direction:column;animation:spotlight-in .22s ease-out}
.campaign-spotlight::backdrop{background:rgba(33,28,20,.56);backdrop-filter:blur(5px)}
.campaign-spotlight :focus-visible{outline:3px solid #9C391C;outline-offset:-4px}
.campaign-spotlight .spotlight-title-hidden{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;outline:none}
.spotlight-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;flex:1 1 auto;background:#F6F1E9}
.spotlight-poster-link{display:block;width:auto;padding:0;margin:0;border:0;border-radius:0;background:transparent;min-height:0;line-height:0;cursor:pointer;touch-action:manipulation}
.spotlight-image{display:block;width:auto;height:auto;max-width:min(558px,calc(100vw - 26px));max-height:calc(100dvh - 100px - env(safe-area-inset-bottom));object-fit:contain;background:#F6F1E9}
.spotlight-poster-link:disabled{opacity:1;cursor:default}
.spotlight-footer{flex:none;display:flex;align-items:center;gap:12px;border-top:1px solid #E8E0D3;background:#FFFDF9;padding:10px 12px max(10px,env(safe-area-inset-bottom))}
.spotlight-count{flex:1;margin:0;font-size:11px;line-height:1.5;color:#646057;min-width:0}
.spotlight-dismiss{min-height:44px;min-width:98px;padding:10px 18px;border:0;border-radius:12px;background:#24231F;color:#FFFDF9;font:600 13px Inter,Arial,sans-serif;cursor:pointer;touch-action:manipulation}
.spotlight-dismiss:disabled{opacity:.5;cursor:default}
.campaign-poster-feature{display:block;width:fit-content;max-width:100%;padding:0;margin:0 auto 22px;border:1px solid #E1D9C9;border-radius:18px;background:#F6F1E9;overflow:hidden;cursor:pointer;touch-action:manipulation}
.campaign-poster-feature>img{display:block;width:auto;max-width:100%;height:auto;max-height:360px;object-fit:contain}
.spotlight-admin-form{background:#FFFDF9;border:1px solid #DED8CA;border-radius:20px;padding:24px;margin-top:22px;color:#24231F}
.spotlight-admin-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}.spotlight-admin-head h2{font:600 24px Inter,Arial,sans-serif;letter-spacing:-.6px;margin:0 0 5px}.spotlight-admin-head p{font-size:13px;color:#646057;margin:0;line-height:1.5}
.spotlight-admin-icon{width:48px;height:48px;border-radius:14px;background:#EDF0DF;display:grid;place-items:center;color:#59683E;font-size:29px;flex:none}
.spotlight-enable{margin-left:auto;display:flex;align-items:center;gap:9px;min-height:44px;padding:0 12px;border-radius:24px;background:#F3EDDF;font-size:13px;font-weight:600;flex:none}.spotlight-enable input{accent-color:#AD3D18;width:20px;height:20px}
.spotlight-admin-form .input{background:#FFFDF9;border:1px solid #CFC6B7;border-radius:10px;color:#24231F;min-width:0}.spotlight-admin-form .field{min-width:0}
.spotlight-admin-form .hint{font-size:12px;line-height:1.65;margin:10px 0}.spotlight-admin-form .btn{border-radius:10px}.spotlight-admin-form .btnrow{flex-wrap:wrap}#spotlight-status{font-size:12px;color:#645D50;line-height:1.5}
.spotlight-admin-form .hint,.spotlight-admin-form label,.spotlight-admin-form .btn{font-family:Inter,Arial,sans-serif;letter-spacing:0;text-transform:none}
@media(min-width:800px){.spotlight-admin-form .g3{grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1fr))}}
@media(max-width:440px){.spotlight-admin-form{padding:18px}.spotlight-admin-head{flex-wrap:wrap}}
@keyframes spotlight-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.campaign-spotlight[open]{animation:none}.campaign-spotlight::backdrop{backdrop-filter:none}}
