body.has-announcement{padding-top:48px}
.site-announcement{position:fixed;inset:0 0 auto;z-index:10000;height:48px;box-sizing:border-box;display:flex;align-items:center;gap:16px;padding:0 20px;background:linear-gradient(100deg,#f6c67c,#eeb15a);color:#172334;font:600 14px/1.4 'Segoe UI',system-ui,sans-serif;box-shadow:0 2px 12px #0003}
.announcement-label{flex-shrink:0;font-weight:800}.announcement-viewport{min-width:0;flex:1;overflow:hidden}.announcement-message{display:block;width:max-content;white-space:pre;animation:announcement-scroll var(--announcement-duration,25s) linear infinite;--announcement-start:100vw}
.announcement-pause{flex-shrink:0;background:#172334;color:#fff;border:1px solid #172334;border-radius:7px;padding:5px 10px;font:inherit;cursor:pointer}.announcement-pause:focus-visible{outline:3px solid #172334;outline-offset:3px}
.site-announcement:is(:hover,:focus-within,.is-paused) .announcement-message{animation-play-state:paused}
@keyframes announcement-scroll{from{transform:translateX(var(--announcement-start))}to{transform:translateX(-100%)}}
@media(min-width:851px){body.has-announcement>aside{top:48px;height:calc(100vh - 48px)}}
@media(max-width:560px){.site-announcement{gap:8px;padding:0 10px;font-size:13px}.announcement-label{font-size:0}.announcement-label:before{content:'📣';font-size:18px}}
@media(prefers-reduced-motion:reduce){.announcement-message{animation:none!important;white-space:normal;overflow-wrap:anywhere;width:auto}.announcement-viewport{max-height:40px;overflow:auto}.announcement-pause{display:none}}
