/* COURTREADZ Announcements — reference-matched full-width cards. */
html body .announcements-design-page{
    --announcement-pink:#e84f91;--announcement-rose:#bc2767;--announcement-ink:#500923;
    --announcement-muted:#766e73;--announcement-line:#efdbe3;
    display:block;container-type:inline-size;width:100%;max-width:none;min-width:0;margin:0;
    color:var(--announcement-ink);font-family:Inter,"Segoe UI",Arial,sans-serif;
}
html body .announcements-design-page *,html body .announcements-design-page *::before,html body .announcements-design-page *::after{box-sizing:border-box}
html body .announcements-design-page .announcements-panel{display:flex;flex-direction:column;gap:16px;min-width:0;width:100%;max-width:none;margin:0;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
html body .announcements-design-page .announcements-page-head{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;min-width:0;width:100%;margin:0;padding:24px 30px;border:1px solid #e9cdd9;border-radius:23px;background:radial-gradient(ellipse at 96% 115%,#ffe8f1a6,transparent 60%),linear-gradient(110deg,#fffdfdf2,#fff9fcf5);box-shadow:inset 0 1px 0 #fff,0 1px 4px #96365b06;overflow:hidden}
html body .announcements-design-page .announcements-heading-icon{display:grid;place-items:center;width:88px;height:88px;border-radius:25px;background:linear-gradient(150deg,#ff659f,#f51a70 85%);color:white;box-shadow:inset 0 1px 2px #ffffff70,inset 0 -4px 7px #c9215b22,0 5px 12px #ed568926;transform:rotate(-1deg)}
html body .announcements-design-page .announcements-heading-icon svg{width:58px;height:58px;transform:rotate(-7deg)}
html body .announcements-design-page .announcements-heading-copy{min-width:0}
html body .announcements-design-page .announcements-heading-copy h1{margin:0;color:var(--announcement-ink);font:700 clamp(30px,5.2cqw,58px)/1.08 Georgia,"Times New Roman",serif;letter-spacing:-.025em;overflow-wrap:anywhere}
html body .announcements-design-page .announcements-heading-copy p{margin:9px 0 0;color:#625e62;font:400 clamp(14px,2.05cqw,22px)/1.42 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.005em}
html body .announcements-design-page .announcements-count{display:flex;align-items:center;justify-content:center;align-self:start;min-height:52px;padding:12px 26px;border:0;border-radius:999px;background:linear-gradient(135deg,#ffe9f0,#faddE9);color:#a82c61;font:750 clamp(13px,1.9cqw,22px)/1.3 Inter,"Segoe UI",Arial,sans-serif;white-space:nowrap}
html body .announcements-design-page .announcements-heading-heart{display:none!important}
html body .announcements-design-page .announcements-feed{display:grid;grid-template-columns:minmax(0,1fr);gap:15px;min-width:0;width:100%}
html body .announcements-design-page .announcement-card{position:relative;display:grid;grid-template-columns:minmax(0,35%) minmax(0,1fr);align-items:start;gap:14px 24px;min-width:0;width:100%;margin:0;padding:18px 21px;border:1px solid var(--announcement-line);border-radius:23px;background:linear-gradient(125deg,#fff,#fffcfd);box-shadow:0 2px 5px #96295105;overflow:visible}
html body .announcements-design-page .announcement-card::before{display:none!important;content:none!important}
html body .announcements-design-page .announcement-design-visual{display:grid;align-content:start;gap:8px;min-width:0;width:100%}
html body .announcements-design-page .announcement-card-content{display:flex;flex-direction:column;align-items:stretch;gap:9px;min-width:0;min-height:0;padding:0}
html body .announcements-design-page .announcement-card-head{display:block;min-width:0;margin:0;padding:0}
html body .announcements-design-page .announcement-card-title{display:block;min-width:0;padding:0}
html body .announcements-design-page .announcement-type-badge{display:table;width:fit-content;max-width:calc(100% - 55px);margin:0 0 7px;padding:6px 14px;border:0;border-radius:999px;background:linear-gradient(110deg,#ffe5ef,#fbdced);color:#b62966;font:800 clamp(10px,1.5cqw,16px)/1.15 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.035em;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
html body .announcements-design-page .announcement-type-poll .announcement-type-badge{background:linear-gradient(110deg,#ffe5ef,#fbdced)!important;color:#b62966!important}
html body .announcements-design-page .announcement-type-event .announcement-type-badge{background:#ffe7e9;color:#c34d70}
html body .announcements-design-page .announcement-card-title h2,
html body .announcements-design-page .announcement-card-title h3{margin:0;padding:0 42px 0 0;min-width:0;color:var(--announcement-ink);font:700 clamp(22px,3.35cqw,38px)/1.12 Georgia,"Times New Roman",serif;letter-spacing:-.025em;overflow-wrap:anywhere}
html body .announcements-design-page .announcement-card>.announcement-design-type-icon{position:absolute;z-index:1;top:16px;right:20px;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#fff0f6,#fce3ee);color:#bb2e6d;pointer-events:none}
html body .announcements-design-page .announcement-design-type-icon svg{display:block;width:27px;height:27px}
html body .announcements-design-page .announcement-card.is-announcement-admin>.announcement-design-type-icon{right:60px}
html body .announcements-design-page .is-announcement-admin .announcement-type-badge{max-width:calc(100% - 94px)}
html body .announcements-design-page .is-announcement-admin .announcement-card-title h3{padding-right:77px}
html body .announcements-design-page .announcement-delete-form{position:absolute;top:20px;right:19px;margin:0;z-index:2}
html body .announcements-design-page .announcement-remove{display:grid;place-items:center;width:32px;height:32px;min-height:32px;padding:0;border:1px solid #f0d4e0;border-radius:50%;background:#fff6fa;color:#ad2b66;font:400 25px/1 Arial,sans-serif;box-shadow:none}
html body .announcements-design-page .announcement-body{display:block;margin:0;padding:0;color:var(--announcement-muted);font:400 clamp(14px,2cqw,22px)/1.38 Inter,"Segoe UI",Arial,sans-serif;letter-spacing:.005em;white-space:normal;overflow-wrap:anywhere}
html body .announcements-design-page[data-announcement-text-ready="true"] .announcement-body{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:4}
html body .announcements-design-page .announcement-card.is-expanded .announcement-body{display:block;-webkit-line-clamp:unset;overflow:visible;max-height:none}
html body .announcements-design-page .announcement-event-time{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;padding:7px 10px;border:1px solid #f6dce5;border-radius:9px;background:#fff4f8;color:#a93666;font:500 12px/1.4 Inter,"Segoe UI",Arial,sans-serif}
html body .announcements-design-page .announcement-event-time>span{font-weight:750}
html body .announcements-design-page .announcement-meta{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;margin:3px 0 0;padding:0;border:0;color:#9e969c;font:400 clamp(11px,1.42cqw,16px)/1.4 Inter,"Segoe UI",Arial,sans-serif}
html body .announcements-design-page .announcement-meta>strong{display:inline-flex;align-items:center;gap:9px;min-width:0;color:#d54485;font-size:inherit;line-height:inherit;font-weight:750;overflow-wrap:anywhere}
html body .announcements-design-page .announcement-meta>strong::before,
html body .announcements-design-page .announcement-meta span::before{content:none;margin:0;display:none}
html body .announcements-design-page .announcement-author-emblem{display:grid;place-items:center;flex:0 0 32px;width:32px;height:32px;border-radius:50%;background:linear-gradient(145deg,#f477aa,#ed3e88);color:#fff;box-shadow:inset 0 0 0 1px #fa95c0}
html body .announcements-design-page .announcement-author-emblem svg{width:22px;height:22px}
html body .announcements-design-page .announcement-meta time{min-width:0;color:#9d969c;font:inherit;overflow-wrap:anywhere}
html body .announcements-design-page .announcement-meta .announcement-meta-separator{color:#99828e;font-weight:700}
html body .announcements-design-page .announcement-read-more{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;gap:8px;min-height:32px;max-width:100%;margin:0;padding:4px 0;border:0;border-radius:5px;background:none;color:#bc3772;font:650 12px/1.4 Inter,"Segoe UI",Arial,sans-serif;white-space:nowrap;cursor:pointer;box-shadow:none}
html body .announcements-design-page .announcement-read-more>span:last-child:not(.announcement-read-more-label){font-size:21px;line-height:1;font-weight:400}
html body .announcements-design-page .announcement-read-more:hover{color:#8d174d;text-decoration:underline}
html body .announcements-design-page:not([data-announcement-text-ready="true"]) .announcement-read-more,
html body .announcements-design-page .announcement-read-more[hidden]{display:none!important}
html body .announcements-design-page button:focus-visible,
html body .announcements-design-page a:focus-visible{outline:3px solid #bd2b6b;outline-offset:3px}

/* Real uploaded media keep their viewer/controls; fallback art has no runtime work. */
html body .announcements-design-page .announcement-design-visual .announcement-media-grid{display:grid;grid-template-columns:minmax(0,1fr)!important;gap:8px;width:100%;min-width:0;margin:0}
html body .announcements-design-page .announcement-design-visual .announcement-media-item{position:relative;width:100%;min-width:0;margin:0;border:0;border-radius:12px;overflow:hidden;background:#4b1731}
html body .announcements-design-page .announcement-design-visual .announcement-media-item img,
html body .announcements-design-page .announcement-design-visual .announcement-media-item video{display:block;width:100%;height:auto;aspect-ratio:1.65;object-fit:cover;border:0;border-radius:12px}
html body .announcements-design-page .announcement-design-visual .announcement-media-item video{object-fit:contain;background:#160a12}
html body .announcements-design-page .announcement-design-visual .announcement-media-open{position:relative;display:block;width:100%;height:auto;aspect-ratio:1.65;min-height:0;margin:0;padding:0;border:0;border-radius:12px;background:#40142d;overflow:hidden}
html body .announcements-design-page .announcement-design-visual .announcement-media-open img{height:100%;aspect-ratio:auto}
html body .announcements-design-page .announcement-video-thumb-static{position:absolute;inset:0;display:block;width:100%;height:100%;background:radial-gradient(ellipse at 28% 20%,#b6276b,transparent 60%),linear-gradient(140deg,#4e1230,#170c15)}
html body .announcements-design-page .announcement-video-play{position:absolute;top:50%;left:50%;display:grid;place-items:center;width:42px;height:42px;transform:translate(-50%,-50%);border:1px solid #fff;border-radius:50%;background:#35132975;color:white;font-size:18px}
html body .announcements-design-page .announcement-design-placeholder{display:block;width:100%;min-width:0;aspect-ratio:1.65;border:1px solid #efd1df;border-radius:12px;overflow:hidden;background:#ffe4ef}
html body .announcements-design-page .announcement-design-placeholder img{display:block;width:100%;height:100%;object-fit:cover}
html body .announcements-design-page .announcement-design-visual .announcement-book-attach{position:relative;display:grid;grid-template-columns:minmax(0,1fr)!important;justify-items:center;gap:9px;width:100%;min-width:0;padding:12px;border:1px solid #f1d4e3;border-radius:12px;background:#fff4fa}
html body .announcements-design-page .announcement-design-visual .announcement-book-cover{width:min(125px,80%);height:auto;aspect-ratio:88/124;min-width:0;max-height:185px;margin:0;border-radius:7px;box-shadow:0 3px 8px #5c25471a}
html body .announcements-design-page .announcement-design-visual .announcement-book-info{display:grid;gap:4px;min-width:0;width:100%;text-align:center}
html body .announcements-design-page .announcement-design-visual .announcement-book-info>span{font-size:9px;color:#bd417a}
html body .announcements-design-page .announcement-design-visual .announcement-book-info>strong{font-size:13px;line-height:1.3;color:#652541}
html body .announcements-design-page .announcement-design-visual .announcement-book-info>small{font-size:11px;color:#927585}
html body .announcements-design-page .announcement-design-visual .announcement-book-link{width:100%;min-width:0;min-height:33px;padding:7px 9px;border:1px solid #f0c7dc;border-radius:9px;background:#ffe3f0;color:#a12761;text-align:center;font-size:11px;white-space:normal}
html body .announcements-design-page .announcement-reactions,
html body .announcements-design-page .announcement-public-stats{display:flex;align-items:center;flex-wrap:wrap;gap:6px 28px;min-width:0;margin:0;padding:0;border:0;background:none;color:#837a81;font:400 14px/1.3 Inter,"Segoe UI",Arial,sans-serif}
html body .announcements-design-page .announcement-reactions form{display:block;margin:0;padding:0}
html body .announcements-design-page .announcement-reactions button{display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;min-width:44px;min-height:36px;margin:0;padding:3px 4px;border:0;border-radius:7px;background:transparent;color:#837a81;font:inherit;box-shadow:none}
html body .announcements-design-page .announcement-public-stats>span{display:inline-flex;align-items:center;gap:9px;min-height:34px;min-width:0;padding:2px 4px}
html body .announcements-design-page .announcement-reactions svg,
html body .announcements-design-page .announcement-public-stats svg{display:block;flex:0 0 27px;width:27px;height:27px;color:#d95089}
html body .announcements-design-page .announcement-selected-reaction{display:block;font-size:25px;line-height:1}
html body .announcements-design-page .announcement-reactions button:hover{background:#fff0f6;color:#ae2864}
html body .announcements-design-page .announcement-reactions .announcement-like-button.is-active svg{fill:#e7538d;stroke:#d43e7c}
html body .announcements-design-page .announcement-reaction-summary{display:flex;flex-wrap:wrap;gap:5px;margin:0}
html body .announcements-design-page .announcement-reaction-pill{border-color:#f1d6e2;background:#fff6fa}
html body .announcements-design-page .announcement-composer{border:1px solid var(--announcement-line);border-radius:20px;background:#fff8fc}
html body .announcements-design-page .announcements-empty{padding:45px 20px;border:1px dashed #e7bacf;border-radius:20px;background:#fffbfd;color:#956379}
html body .announcements-design-page .announcement-card>.announcement-poll{grid-column:1/-1;min-width:0;max-width:100%;margin:0;padding-top:13px;border-top:1px solid #f4e0e9}
/* Two choices per row on every screen; additional choices continue down the page. */
html body .announcements-design-page .announcement-poll-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;overflow:visible;overscroll-behavior-inline:auto;scroll-snap-type:none;scroll-padding-inline:0;padding:4px;box-sizing:border-box;width:100%;max-width:100%;min-width:0}
html body .announcements-design-page .announcement-poll-option{min-width:0;scroll-snap-align:none}
html body .announcements-design-page .announcement-poll-choice{min-width:0}

@container(max-width:800px){
    html body .announcements-design-page .announcements-page-head{gap:18px;padding:20px}
    html body .announcements-design-page .announcements-heading-icon{width:68px;height:68px;border-radius:20px}
    html body .announcements-design-page .announcements-heading-icon svg{width:46px;height:46px}
    html body .announcements-design-page .announcements-count{padding:10px 17px;min-height:40px}
    html body .announcements-design-page .announcements-heading-heart{width:43px;height:51px;right:20px}
    html body .announcements-design-page .announcement-card{gap:13px 19px;padding:16px}
    html body .announcements-design-page .announcement-card>.announcement-design-type-icon{width:39px;height:39px;right:15px;top:15px}
    html body .announcements-design-page .announcement-design-type-icon svg{width:23px;height:23px}
    html body .announcements-design-page .announcement-card.is-announcement-admin>.announcement-design-type-icon{right:55px}
    html body .announcements-design-page .announcement-delete-form{right:15px;top:17px}
    html body .announcements-design-page .announcement-type-badge{max-width:calc(100% - 45px);padding:5px 11px}
    html body .announcements-design-page .is-announcement-admin .announcement-type-badge{max-width:calc(100% - 85px)}
    html body .announcements-design-page .announcement-author-emblem{width:27px;height:27px;flex-basis:27px}
    html body .announcements-design-page .announcement-author-emblem svg{width:19px;height:19px}
    html body .announcements-design-page .announcement-meta{gap:5px 8px}
}
@container(max-width:560px){
    html body .announcements-design-page .announcements-panel{gap:11px}
    html body .announcements-design-page .announcements-page-head{grid-template-columns:47px minmax(0,1fr);gap:10px;padding:16px 12px;border-radius:18px}
    html body .announcements-design-page .announcements-heading-icon{width:47px;height:47px;border-radius:14px}
    html body .announcements-design-page .announcements-heading-icon svg{width:32px;height:32px}
    html body .announcements-design-page .announcements-heading-copy h1{font-size:clamp(24px,6.15cqw,32px);letter-spacing:-.04em}
    html body .announcements-design-page .announcements-heading-copy p{font-size:12px;line-height:1.4;margin-top:6px;padding-right:18px}
    html body .announcements-design-page .announcements-heading-break{display:none}
    html body .announcements-design-page .announcements-count{grid-column:2;justify-self:start;min-height:25px;padding:4px 10px;font-size:10px;margin-top:-3px}
    html body .announcements-design-page .announcements-heading-heart{width:31px;height:40px;right:11px;bottom:4px}
    html body .announcements-design-page .announcements-feed{gap:11px}
    html body .announcements-design-page .announcement-card{grid-template-columns:minmax(0,34%) minmax(0,1fr);gap:10px 12px;padding:12px;border-radius:18px}
    html body .announcements-design-page .announcement-card-content{gap:6px}
    html body .announcements-design-page .announcement-type-badge{max-width:calc(100% - 30px);margin-bottom:6px;padding:4px 8px;font-size:8px;letter-spacing:.025em}
    html body .announcements-design-page .announcement-card-title h2,
    html body .announcements-design-page .announcement-card-title h3{font-size:clamp(18px,4.8cqw,25px);line-height:1.1;letter-spacing:-.025em;padding-right:0}
    html body .announcements-design-page .announcement-card>.announcement-design-type-icon{width:26px;height:26px;right:10px;top:10px}
    html body .announcements-design-page .announcement-design-type-icon svg{width:16px;height:16px}
    html body .announcements-design-page .announcement-card.is-announcement-admin>.announcement-design-type-icon{right:43px}
    html body .announcements-design-page .is-announcement-admin .announcement-type-badge{max-width:calc(100% - 63px);min-height:23px;display:flex;align-items:center}
    html body .announcements-design-page .announcement-delete-form{right:10px;top:10px}
    html body .announcements-design-page .announcement-remove{width:27px;height:27px;min-height:27px;font-size:21px}
    html body .announcements-design-page .announcement-body{font-size:13px;line-height:1.4;letter-spacing:0}
    html body .announcements-design-page[data-announcement-text-ready="true"] .announcement-body{-webkit-line-clamp:5}
    html body .announcements-design-page .announcement-card.is-expanded .announcement-body{-webkit-line-clamp:unset}
    html body .announcements-design-page .announcement-event-time{font-size:10px;padding:5px 7px}
    html body .announcements-design-page .announcement-meta{gap:5px;font-size:10px;margin-top:2px}
    html body .announcements-design-page .announcement-meta>strong{gap:5px}
    html body .announcements-design-page .announcement-meta time{flex-basis:100%;font-size:9px}
    html body .announcements-design-page .announcement-meta .announcement-meta-separator{display:none}
    html body .announcements-design-page .announcement-author-emblem{width:23px;height:23px;flex-basis:23px}
    html body .announcements-design-page .announcement-author-emblem svg{width:16px;height:16px}
    html body .announcements-design-page .announcement-design-visual{gap:5px}
    html body .announcements-design-page .announcement-design-placeholder,
    html body .announcements-design-page .announcement-design-visual .announcement-media-item,
    html body .announcements-design-page .announcement-design-visual .announcement-media-item img,
    html body .announcements-design-page .announcement-design-visual .announcement-media-item video,
    html body .announcements-design-page .announcement-design-visual .announcement-media-open{border-radius:8px}
    html body .announcements-design-page .announcement-reactions,
    html body .announcements-design-page .announcement-public-stats{gap:0 8px;font-size:11px}
    html body .announcements-design-page .announcement-reactions button,
    html body .announcements-design-page .announcement-public-stats>span{gap:5px;padding:2px 0;min-width:36px;min-height:34px}
    html body .announcements-design-page .announcement-reactions svg,
    html body .announcements-design-page .announcement-public-stats svg{width:21px;height:21px;flex-basis:21px}
    html body .announcements-design-page .announcement-selected-reaction{font-size:21px}
    html body .announcements-design-page .announcement-read-more{min-height:32px;font-size:11px}
    html body .announcements-design-page .announcement-design-visual .announcement-book-attach{padding:8px;gap:6px}
    html body .announcements-design-page .announcement-design-visual .announcement-book-info>strong{font-size:11px}
    html body .announcements-design-page .announcement-design-visual .announcement-book-info>small{font-size:9px}
    html body .announcements-design-page .announcement-design-visual .announcement-book-link{font-size:10px;padding:6px 4px}
}
/* Leave the end of the page above the mobile taskbar, including iPhone safe
   areas. The shared script measures the visible taskbar after viewport changes;
   this fallback also keeps the final card reachable before JavaScript runs. */
@media(max-width:960px),(hover:none) and (pointer:coarse){
    html.app-document body[data-current-view="announcements"] .app-shell>.workspace,
    html.guest-document body.guest-body .app-shell>.public-announcements-workspace{
        box-sizing:border-box!important;
        width:100%!important;min-width:0!important;max-width:100%!important;
        padding-left:max(10px,env(safe-area-inset-left,0px))!important;
        padding-right:max(10px,env(safe-area-inset-right,0px))!important;
        padding-bottom:calc(var(--announcement-taskbar-clearance,max(70px,calc(50px + env(safe-area-inset-bottom,0px)))) + 16px)!important;
    }
    html body .announcements-design-page{
        box-sizing:border-box;max-width:100%;padding-bottom:0;
    }
    html body .announcements-design-page :is(.announcement-card,.announcement-composer,.announcements-empty){
        scroll-margin-block-end:calc(var(--announcement-taskbar-clearance,max(70px,calc(50px + env(safe-area-inset-bottom,0px)))) + 16px);
    }
    html body .announcements-design-page :is(.announcement-composer-top,.announcement-field,.announcement-poll-composer,.announcement-poll-summary){
        min-width:0;max-width:100%;
    }
    html body .announcements-design-page .announcement-field :is(input,select,textarea){
        box-sizing:border-box;min-inline-size:0;max-inline-size:100%;
    }
}

/* Updated category artwork uses its original proportions so lettering stays visible. */
html body .announcements-design-page .announcement-design-placeholder.announcement-placeholder-general{aspect-ratio:1672/941}
html body .announcements-design-page .announcement-design-placeholder.announcement-placeholder-update{aspect-ratio:1685/934}
html body .announcements-design-page .announcement-design-placeholder.announcement-placeholder-event{aspect-ratio:1618/972}
html body .announcements-design-page .announcement-design-placeholder.announcement-placeholder-poll{aspect-ratio:1672/941}
html body .announcements-design-page .announcement-design-placeholder img{object-fit:contain}
