html.udps-announcement-open{overflow:hidden}
.announcement-launcher{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:25;display:inline-flex;align-items:center;gap:8px;min-height:42px;padding:9px 17px;border:1px solid #ded4ed;border-radius:24px;background:#fff;color:#604096;box-shadow:0 5px 22px #39244612;font-size:12px;font-weight:600}
.announcement-launcher:hover{background:#f5f0fc;border-color:#ba9dde}
.announcement-launcher svg{width:16px;height:16px;flex:none}
@media(max-width:600px){.announcement-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:40px;padding:8px 14px;font-size:11px}}
.announcement-dialog{width:min(600px,calc(100% - 40px));max-height:calc(100dvh - 64px);padding:0;border:1px solid #e7e2ee;border-radius:24px;background:#fff;color:var(--ink,#202127);box-shadow:0 24px 100px #2417332b;overflow:auto;overscroll-behavior:contain}
.announcement-dialog::backdrop{background:#22202e73;backdrop-filter:blur(6px)}
.announcement-dialog[open]{animation:announcement-enter .22s ease-out}
.announcement-head{display:flex;align-items:center;gap:18px;padding:30px 32px 24px;position:relative;background:linear-gradient(120deg,#f6f2fc 0%,#fcfbfe 64%,#fff 100%);border-bottom:1px solid #eeebf3}
.announcement-avatar{flex:none;position:relative;overflow:hidden;width:68px;height:68px;background:#eee6fa;border:1px solid #e4d9f3;border-radius:20px}
.announcement-avatar img{position:absolute;width:200%;max-width:none;height:200%;left:0;top:0}
.announcement-heading{min-width:0;padding-right:28px}
.announcement-kicker{display:block;font-size:11px;font-weight:600;letter-spacing:.12em;color:#7652bd;margin-bottom:5px}
.announcement-dialog h2{font-size:26px;font-weight:650;letter-spacing:-.04em;line-height:1.3;margin:0}
.announcement-date{display:block;font-size:11px;color:#8b8594;margin-top:7px;line-height:1.5}
.announcement-close{position:absolute;top:17px;right:17px;display:grid;place-items:center;width:36px;height:36px;padding:0;border:1px solid transparent;border-radius:50%;background:transparent;color:#827b8d}
.announcement-close:hover{background:#eee8f6;color:#604096}
.announcement-close svg{width:17px;height:17px}
.announcement-body{padding:26px 32px 28px}
.announcement-content{font-size:14px;line-height:1.95;color:#55515e;white-space:pre-wrap;overflow-wrap:anywhere;letter-spacing:.01em}
.announcement-media{margin:24px 0 0;padding-top:22px;border-top:1px solid #f0edf4;text-align:center}
.announcement-media img{width:168px;max-width:100%;height:auto;margin:0 auto;border:1px solid #eeeaf3;border-radius:12px;padding:8px;background:#fff}
.announcement-media figcaption{font-size:11px;color:#89818f;margin-top:10px}
.announcement-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 32px;border-top:1px solid #efedf3;background:#fcfbfd}
.announcement-footer p{font-size:11px;color:#948c9e;margin:0}
.announcement-footer .button{min-height:42px;padding:0 24px;white-space:nowrap}
.announcement-retry{margin-top:16px;font-size:13px;text-decoration:underline;text-underline-offset:4px;color:#7652bd;padding:0}
@keyframes announcement-enter{from{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
@media(max-width:600px){.announcement-dialog{width:calc(100% - 28px);max-height:calc(100dvh - 32px);border-radius:20px}.announcement-head{padding:25px 22px 21px;gap:14px}.announcement-avatar{width:56px;height:56px;border-radius:17px}.announcement-heading{padding-right:20px}.announcement-dialog h2{font-size:23px}.announcement-kicker{font-size:10px}.announcement-date{font-size:10px}.announcement-close{top:12px;right:12px}.announcement-body{padding:22px}.announcement-content{font-size:13px;line-height:1.95}.announcement-footer{padding:17px 22px;gap:12px}.announcement-footer p{font-size:10px;max-width:140px}.announcement-footer .button{font-size:12px;min-height:40px;padding-inline:19px}}
@media(prefers-reduced-motion:reduce){.announcement-dialog[open]{animation:none}}
