/* Shared notification and announcement surfaces. */
.studio-alert-tools{display:flex;gap:8px;align-items:center;flex-shrink:0}
.studio-bell{position:relative;display:grid;place-items:center;width:44px;height:44px;border:1px solid #dde2d5;border-radius:50%;background:#f4f5ee;color:#425840;cursor:pointer}
.notification-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#d33939;margin-left:7px;flex-shrink:0}
.studio-bell>.notification-dot{position:absolute;top:8px;right:8px;margin:0}
.notification-dot[hidden]{display:none}
.notification-dot.pulse{animation:notice-pulse 1.8s ease-in-out infinite}
@keyframes notice-pulse{50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.notification-dot.pulse{animation:none}}
.studio-announcements-link{border:0;background:none;color:#52664f;font:inherit;font-size:14px;cursor:pointer;min-height:44px;padding:4px 10px}
.studio-notices-dialog{width:min(440px,calc(100vw - 28px));max-height:80dvh;border:1px solid #e2e3d8;border-radius:22px;padding:20px;background:#f9f8f1;color:#2d3029}
.studio-notices-dialog::backdrop{background:#0004}
.studio-notices-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.studio-notices-heading h2{font-size:18px;margin:0}.studio-notices-body{display:grid;gap:12px;max-height:62dvh;overflow:auto}
.notice-row{display:block;width:100%;text-align:left;background:white;border:1px solid #0000000b;border-radius:14px;padding:16px;font:inherit;overflow-wrap:anywhere}
.notice-row strong{font-size:15px}.notice-row p{font-size:14px;color:#65695f;margin:9px 0}.notice-row time{display:block;font-size:12px;color:#73786e;margin-top:6px}
.notice-action{min-height:40px;border:0;border-radius:10px;background:#526b50;color:#fff;padding:8px 14px;font:inherit;font-size:13px;cursor:pointer}
.announcement-body{white-space:pre-wrap;line-height:1.7;overflow-wrap:anywhere}
.album-meta-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px;color:#73786e;min-height:22px}
.album-progress{display:inline-flex;align-items:center;white-space:nowrap;padding:3px 8px;border-radius:999px;background:#f0f2e9;color:#617159;font-size:11px}
.progress-review{color:#944b38;background:#faf0eb}
@media(max-width:650px){.studio-alert-tools{margin-left:auto}.studio-announcements-link{font-size:12px;padding:4px 5px}.studio-bell{width:40px;height:40px}}
.hero{position:relative}.hero>.studio-alert-tools{position:absolute;top:22px;right:max(24px,calc((100% - 1180px)/2));z-index:5;margin:0}.hero>.studio-alert-tools[hidden]{display:none}@media(max-width:760px){.hero>.studio-alert-tools{top:12px;right:20px}}

/* Public announcement feed: independent of the policy sidebar and studio cards. */
.announcements-page{padding-block:64px 100px;min-height:70vh}.announcements-content{width:100%;max-width:920px;margin-inline:auto}.announcements-content>h1{font-size:48px;letter-spacing:-.04em;margin:0 0 36px}#public-announcements{display:flex;flex-direction:column;width:100%;border-top:1px solid var(--line)}#public-announcements .notice-row{width:100%;border:0;border-bottom:1px solid var(--line);border-radius:0;padding:0;background:transparent;overflow:hidden}#public-announcements summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:27px 4px;list-style:none;font-size:20px;font-weight:600;line-height:1.5;cursor:pointer;word-break:keep-all;overflow-wrap:break-word}#public-announcements summary::-webkit-details-marker{display:none}#public-announcements summary:after{content:'+';flex:none;font-size:26px;font-weight:400;color:#6b795e}#public-announcements details[open]>summary:after{content:'−'}#public-announcements details[open]>summary{padding-bottom:12px}#public-announcements .notice-row time{font-size:14px;color:#858a80;margin:0 4px 24px}#public-announcements .announcement-body{font-size:17px;line-height:1.9;color:#4c5148;margin:0 4px 32px;max-width:760px;white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}#public-announcements>p{padding:30px 4px}@media(max-width:640px){.announcements-page{padding-block:38px 64px}.announcements-content>h1{font-size:34px;margin-bottom:25px}#public-announcements summary{font-size:18px;padding-block:22px;gap:16px}#public-announcements .announcement-body{font-size:16px;line-height:1.8}}
.analytics-consent{position:fixed;z-index:100;bottom:20px;left:20px;right:20px;margin:auto;max-width:760px;padding:18px 22px;background:#fff;border:1px solid #dce1d6;border-radius:16px;box-shadow:0 8px 35px #20301c1c;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.analytics-consent p{font-size:14px;line-height:1.6;flex:1 1 300px;color:#565f50}.analytics-consent a{font-size:12px;text-decoration:underline}.analytics-consent button{font-size:14px;padding:8px 15px;border-radius:20px;background:#edf1e8;white-space:nowrap}.analytics-consent button:first-of-type{background:#425a3b;color:#fff}
