#announcementPopup {
    box-sizing:border-box;width:400px;max-width:calc(100vw - 24px);
    max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:0;border:0;
    border-radius:4px;background:#2d2d35;color:#f5f5f7;
    font-family:Arial,sans-serif;overflow:auto;overscroll-behavior:contain;
    box-shadow:0 12px 36px #0005;
}
#announcementPopup *,#announcementPopup *::before,#announcementPopup *::after { box-sizing:border-box; }
#announcementPopup:not([open]) { display:none; }
#announcementPopup::backdrop { background:rgba(0,0,0,.65); }
#announcementPopupInner { position:relative;padding:0 7px; }
#announcementPopupTitle {
    margin:0;padding:44px 32px 29px;text-align:center;color:#f5f5f7;
    font-size:16px;line-height:20px;font-weight:700;overflow-wrap:anywhere;
}
#announcementPopup .announcement-popup-close {
    position:absolute;top:3px;right:7px;width:32px;height:32px;padding:0;
    border:0;background:transparent;color:#a8a8af;font:30px/32px Arial,sans-serif;cursor:pointer;
}
#announcementPopup .announcement-popup-art { display:block;border-radius:4px;overflow:hidden; }
#announcementPopup .announcement-popup-art img { display:block;width:100%;height:auto;max-height:calc(100dvh - 235px);object-fit:contain;margin:0; }
#announcementPopup .announcement-popup-footer { display:block;margin:0;padding:34px 0 14px;border:0;background:transparent; }
#announcementPopup .announcement-popup-confirm {
    display:block;width:100%;height:37px;padding:0 12px;border:0;border-radius:5px;
    background:linear-gradient(100deg,#ff6900,#ff8b2c);color:white;
    font:700 13px/37px Arial,sans-serif;text-align:center;cursor:pointer;
}
#announcementPopup .announcement-popup-preference {
    display:flex;align-items:center;gap:14px;margin:14px 0 0;
    color:#bdbdc3;font-size:14px;line-height:17px;cursor:pointer;
}
#announcementPopup .announcement-popup-preference input {
    appearance:none;flex:0 0 16px;width:16px;height:16px;margin:0;
    border:0;border-radius:4px;background:#58585f;cursor:pointer;
}
#announcementPopup .announcement-popup-preference input:checked { background:#ff790f; }
#announcementPopup .announcement-popup-preference input:checked::after {
    content:'✓';display:block;color:white;text-align:center;font:bold 13px/16px Arial,sans-serif;
}
#announcementPopup :is(button,input,a):focus-visible { outline:2px solid #ff962f;outline-offset:2px; }
html:has(#announcementPopup[open]) { overflow:hidden; }
@media(max-width:420px) {
    #announcementPopup { max-width:calc(100vw - 24px); }
    #announcementPopupTitle { padding:38px 30px 26px; }
    #announcementPopup .announcement-popup-footer { padding-top:26px; }
}
@media(max-height:500px) {
    #announcementPopupTitle { padding:24px 32px 18px; }
    #announcementPopup .announcement-popup-art img { max-height:calc(100dvh - 190px); }
    #announcementPopup .announcement-popup-footer { padding-top:18px; }
}
