/* Group chat and text announcements share Earnly's Poppins and dark palette. */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.community-dialog [hidden], #announcementDot[hidden] { display: none !important; }
body.has-community-dialog { overflow: hidden; }
.top-actions .icon-button { min-width: 2.75rem; min-height: 2.75rem; }
.top-actions .icon-button[aria-expanded="true"] { color: var(--mint); border-color: #557e68; background: #263b31; }
.community-dialog {
  position: fixed; top: calc(var(--community-vtop, 0px) + var(--community-vh, 100dvh) / 2); left: 50%; right: auto; bottom: auto;
  transform: translate(-50%, -50%); margin: 0; padding: 0; max-width: none;
  max-height: calc(var(--community-vh, 100dvh) - 2rem); color: var(--text);
  background: var(--surface); border: 1px solid #3c4556; border-radius: 1.5rem;
  box-shadow: 0 28px 100px #0009; overflow: hidden;
}
.community-dialog::backdrop { background: #070a11aa; backdrop-filter: blur(5px); }
.community-dialog[open] { animation: community-enter .2s ease-out; }
.community-close { display: grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: .75rem; color: var(--muted); background: transparent; }
.community-close:hover { color: var(--text); background: #2b3240; }
.community-close .icon { width: 1.25rem; height: 1.25rem; }
.chat-dialog { width: min(60rem, calc(100% - 2rem)); height: min(44rem, calc(var(--community-vh, 100dvh) - 3rem)); }
.chat-window { display: grid; grid-template-rows: auto minmax(0, 1fr); height: 100%; }
.chat-header { display: flex; align-items: center; gap: .875rem; padding: 1.125rem 1.25rem; border-bottom: 1px solid var(--line); }
.chat-header-icon { display: grid; place-items: center; flex: none; width: 2.875rem; height: 2.875rem; color: var(--mint); background: #294238; border: 1px solid #42634f; border-radius: .875rem; }
.chat-heading-copy { min-width: 0; flex: 1; }
.chat-heading-copy h2 { font-size: 1.125rem; letter-spacing: -.02em; }
.chat-heading-copy p { color: var(--muted); font-size: .8125rem; margin-top: .2rem; }
.chat-demo-badge { padding: .25rem .625rem; color: var(--muted); background: #252d3a; border: 1px solid #3d4657; border-radius: .5rem; font-size: .75rem; }
.chat-layout { display: grid; grid-template-columns: minmax(0, 1fr); min-height: 0; }
.chat-conversation { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; min-width: 0; min-height: 0; background: #171b24; }
.chat-pinned { display: flex; align-items: center; gap: .625rem; padding: .7rem 1.25rem; background: #202834; border-bottom: 1px solid #303a49; }
.chat-pinned .icon { width: 1rem; height: 1rem; color: var(--mint); }
.chat-pinned p { color: #bac6d6; font-size: .75rem; }
.chat-thread { min-height: 0; min-width: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem; scrollbar-width: thin; scrollbar-color: #49556b transparent; }
.chat-day { display: flex; align-items: center; gap: .875rem; margin: .25rem 0 1.25rem; font-size: .75rem; color: var(--faint); text-align: center; }
.chat-day::before, .chat-day::after { content: ''; flex: 1; height: 1px; background: #2e3747; }
.chat-message { display: flex; align-items: flex-start; gap: .625rem; margin-bottom: 1.125rem; }
.chat-message > .avatar { width: 2rem; height: 2rem; margin-top: 1.5rem; font-size: .6875rem; }
.chat-message > .avatar.has-image { overflow: hidden; padding: 0; }
.chat-message > .avatar.has-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
.chat-profile-trigger { padding: 0; border: 0; cursor: zoom-in; flex: none; transition: transform .18s ease, box-shadow .18s ease; }
.chat-profile-trigger:hover { transform: translateY(-1px) scale(1.08); box-shadow: 0 0 0 3px #8ee3b520; }
.chat-profile-trigger:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.chat-message-content { max-width: 85%; min-width: 0; }
.chat-message-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin: 0 .25rem .375rem; font-size: .75rem; }
.chat-message-meta strong { font-size: inherit; font-weight: 500; color: #d4dcea; }
.chat-message-meta time { margin-left: auto; color: var(--faint); font-size: .6875rem; }
.chat-message-role { color: #c2a9f2; font-size: .6875rem; }
.chat-message-level { padding: .05rem .4rem; border-radius: .5rem; font-size: .625rem; font-weight: 600; letter-spacing: .02em; border: 1px solid var(--line); color: #b9c4d6; background: #1e2531; }
.chat-message-level.tier-starter { color: #b9c4d6; background: #232a37; border-color: #354154; }
.chat-message-level.tier-bronze { color: #e6b98a; background: #2c2118; border-color: #4d3a25; }
.chat-message-level.tier-silver { color: #dfe6ef; background: #262b33; border-color: #434b57; }
.chat-message-level.tier-gold { color: #f4d58d; background: #2e2814; border-color: #5a4a1f; }
.chat-message-level.tier-diamond { color: #a9e8ff; background: #16282e; border-color: #2d5560; }
.chat-bubble { padding: .75rem .875rem; border: 1px solid #384253; border-radius: .875rem; border-top-left-radius: .25rem; background: #242c3a; }
.chat-message-text { white-space: pre-wrap; overflow-wrap: anywhere; color: #e0e5ef; font-size: .875rem; line-height: 1.7; }
.chat-message-link { color: #a5eacd; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .2em; overflow-wrap: anywhere; }
.chat-message-link:hover { color: #d1ffe7; }
.chat-message-link:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; border-radius: .125rem; }
.chat-message-self { flex-direction: row-reverse; }
.chat-message-self .chat-bubble { background: #254536; border-color: #426b52; border-top-left-radius: .875rem; border-top-right-radius: .25rem; }
.chat-message-self .chat-message-text { color: #e0f2e7; }
.chat-message-self .chat-message-meta strong { color: var(--mint); }
.chat-reply-button { display: block; min-height: 1.75rem; margin: .125rem .25rem 0; padding: .125rem .25rem; color: var(--faint); font-size: .75rem; background: transparent; border: 0; border-radius: .375rem; }
.chat-reply-button:hover { color: var(--mint); background: #243a30; }
.chat-message-self .chat-reply-button { margin-left: auto; }
.chat-quote { display: grid; gap: .125rem; margin: 0 0 .625rem; padding: .5rem .625rem; border-left: 2px solid var(--mint); border-radius: .25rem; background: #101a2280; }
.chat-quote strong { color: #b9e6cc; font-size: .75rem; font-weight: 500; }
.chat-quote p { color: #b8c7c1; font-size: .75rem; white-space: pre-wrap; overflow-wrap: anywhere; }
.chat-composer { position: relative; padding: .875rem 1.25rem 1rem; border-top: 1px solid var(--line); background: #1a1e28; }
.chat-input-box { display: flex; align-items: flex-end; gap: .375rem; padding: .375rem; border: 1px solid #465268; border-radius: .875rem; background: #131821; }
.chat-input-box:focus-within { border-color: #89c8a7; box-shadow: 0 0 0 3px #8ee3b510; }
.chat-input-box textarea { width: 100%; min-width: 0; height: 2.75rem; max-height: 8rem; min-height: 2.75rem; resize: none; padding: .625rem .25rem; border: 0; outline: none; background: transparent; font-size: 1rem; line-height: 1.5; }
.chat-input-box textarea::placeholder { color: #93a0b5; opacity: 1; }
.chat-emoji-toggle, .chat-send { display: grid; place-items: center; flex: none; width: 2.75rem; height: 2.75rem; padding: 0; border: 0; border-radius: .625rem; }
.chat-emoji-toggle { background: transparent; color: var(--muted); }
.chat-emoji-toggle:hover, .chat-emoji-toggle[aria-expanded="true"] { color: var(--mint); background: #253b31; }
.chat-send { color: #163424; background: var(--mint); }
.chat-send:hover { background: #afeecb; }
.chat-send:disabled { color: #b0bacb; background: #344051; cursor: not-allowed; }
.chat-send .icon { width: 1.125rem; height: 1.125rem; }
.chat-composer-meta { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; margin-top: .625rem; color: var(--faint); font-size: .6875rem; line-height: 1.5; }
.chat-composer-meta > span { flex: none; font-variant-numeric: tabular-nums; }
.chat-compose-status { color: #ffb2b2; font-size: .75rem; }
.chat-compose-status:not(:empty) { margin-top: .5rem; }
.chat-reply-preview { display: flex; align-items: center; gap: .5rem; padding: .375rem .5rem .375rem .75rem; margin-bottom: .75rem; background: #26392f; border-left: 2px solid var(--mint); border-radius: .5rem; }
.chat-reply-preview > div { min-width: 0; flex: 1; }
.chat-reply-preview strong { display: block; font-size: .75rem; color: #b6e6c9; font-weight: 500; }
.chat-reply-preview p { margin-top: .125rem; color: #b5c7bd; font-size: .75rem; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.chat-emoji-picker { position: absolute; z-index: 3; bottom: calc(100% - .5rem); left: .75rem; right: .75rem; max-width: 25rem; max-height: var(--chat-picker-height, 28rem); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #53647c transparent; padding: .875rem; background: #222a38; border: 1px solid #4b5870; border-radius: 1rem; box-shadow: 0 12px 30px #0006; }
.chat-picker-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin: -.375rem -.375rem .5rem .25rem; }
.chat-picker-heading strong { font-size: .875rem; font-weight: 500; }
.chat-emoji-grid { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: .125rem; }
.chat-emoji-grid button { min-width: 0; min-height: 2.75rem; padding: .25rem; border: 0; border-radius: .5rem; background: transparent; font-family: 'Apple Color Emoji', 'Segoe UI Emoji', 'Noto Color Emoji', sans-serif; font-size: 1.625rem; line-height: 1.35; }
.chat-emoji-grid button:hover { background: #3a4658; }
.chat-picker-search { display: block; margin-bottom: .75rem; }
.chat-picker-search input { display: block; width: 100%; min-height: 2.75rem; padding: .625rem .875rem; background: #151d29; color: #e5edf8; border: 1px solid #45536a; border-radius: .75rem; font-size: 1rem; }
.chat-picker-search input::placeholder { color: #aab6ca; opacity: 1; }
.chat-picker-search input:focus-visible { outline: 2px solid var(--mint); outline-offset: 1px; }
.chat-emoji-categories { display: flex; gap: .375rem; overflow-x: auto; overscroll-behavior-x: contain; padding-bottom: .5rem; scrollbar-width: thin; scrollbar-color: #53647c transparent; }
.chat-emoji-categories button { flex: none; min-width: 2.75rem; min-height: 2.75rem; padding: .375rem; border: 1px solid transparent; border-radius: .625rem; color: #cdd9e8; background: #2b3546; font-size: 1.25rem; }
.chat-emoji-categories button:first-child { font-size: .875rem; }
.chat-emoji-categories button[aria-pressed="true"] { background: #304d3e; border-color: #68957a; color: #c4f3d7; }
.chat-picker-section { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .375rem; padding: .75rem .125rem .5rem; }
.chat-picker-section strong { font-size: .875rem; font-weight: 500; }
.chat-picker-section > span { color: #b0bfd1; font-size: .75rem; }
.chat-picker-empty { padding: 1.5rem .5rem; color: #c0cde0; font-size: .875rem; text-align: center; }
.chat-picker-more { width: 100%; min-height: 2.75rem; padding: .625rem; margin-top: .75rem; border: 1px solid #455873; border-radius: .625rem; background: #2c394d; color: #dce9fc; font-size: .875rem; }
.chat-picker-more:hover { background: #394b65; }
.external-link-dialog { width: min(29rem, calc(100% - 2rem)); padding: 1.5rem; overflow-y: auto; }
.external-link-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.external-link-symbol { display: grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid #476a56; border-radius: .875rem; color: var(--mint); background: #294238; }
.external-link-symbol svg { width: 1.375rem; height: 1.375rem; }
.external-link-heading .community-close { margin-top: -.375rem; margin-right: -.375rem; }
.external-link-dialog h2 { font-size: 1.375rem; letter-spacing: -.025em; }
.external-link-dialog > p { margin-top: .5rem; color: #b3c0d3; font-size: .875rem; line-height: 1.7; }
.external-link-destination { margin: 1.25rem 0 1.5rem; padding: 1rem; border: 1px solid #3b485c; border-radius: .875rem; background: #151c27; }
.external-link-destination > span { display: block; margin-bottom: .375rem; color: #a7b5c9; font-size: .75rem; }
.external-link-destination strong { color: #b8ebce; font-weight: 500; font-size: 1rem; overflow-wrap: anywhere; }
.external-link-destination p { margin-top: .5rem; color: #bdc8d9; font-size: .875rem; line-height: 1.7; overflow-wrap: anywhere; unicode-bidi: isolate; }
.external-link-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; }
.external-link-actions > * { min-width: 0; min-height: 2.875rem; padding: .625rem .75rem; justify-content: center; font-size: .875rem; text-align: center; }
.announcements-dialog { width: min(36rem, calc(100% - 2rem)); }
.announcements-dialog[open] { display: flex; flex-direction: column; }
.announcements-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1.5rem; border-bottom: 1px solid var(--line); flex: none; }
.announcements-header h2 { font-size: 1.375rem; letter-spacing: -.02em; }
.announcements-header p { color: var(--muted); font-size: .875rem; margin-top: .3rem; }
.announcement-close { min-height: 2.75rem; padding: .5rem .75rem; border: 1px solid #414d61; border-radius: .625rem; background: #252e3d; color: #d0d8e6; font-size: .8125rem; }
.announcement-close:hover { background: #303c4f; }
.announcements-content { flex: 1; min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 1.25rem 1.5rem; }
.announcements-count { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem; color: var(--faint); font-size: .75rem; margin-bottom: 1.5rem; }
.announcements-count > span:first-child { color: var(--mint); }
.announcement-item + .announcement-item { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.announcement-meta { display: flex; justify-content: space-between; gap: .75rem; color: var(--faint); font-size: .75rem; margin-bottom: .5rem; }
.announcement-meta > span { color: var(--mint); }
.announcement-item.is-read .announcement-meta > span { color: var(--faint); }
.announcement-item h3 { font-size: 1rem; margin-bottom: .5rem; }
.announcement-item p { color: #c0c9d9; font-size: .875rem; line-height: 1.85; }
.announcements-footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: .75rem; padding: 1rem 1.5rem; border-top: 1px solid var(--line); flex: none; }
.announcements-footer p { color: var(--faint); font-size: .75rem; }
.announcements-footer .outline-button { font-size: .8125rem; }
.announcements-footer .outline-button:disabled { background: #24382e; border-color: #496651; color: #abd6bc; cursor: default; }
.community-profile-dialog { width: min(31rem, calc(100% - 2rem)); max-height: min(47rem, calc(100dvh - 2rem)); padding: 0; overflow: auto; border: 1px solid #3b4658; border-radius: 1.5rem; color: #f4f7fb; background: #151a23; box-shadow: 0 2rem 6rem #000a; }
.community-profile-dialog::backdrop { background: #05070bc9; backdrop-filter: blur(8px); }
.community-profile-card { position: relative; min-height: 28rem; overflow: hidden; }
.community-profile-close { position: absolute; z-index: 3; top: 1rem; right: 1rem; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; padding: 0; border: 1px solid #ffffff24; border-radius: 50%; color: #f4f7fb; background: #111620b8; backdrop-filter: blur(10px); }
.community-profile-close span { font-size: 1.75rem; line-height: 1; transform: translateY(-1px); }
.community-profile-close:hover { border-color: #8ee3b56b; color: var(--mint); background: #1b2b25e6; }
.community-profile-close:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; }
.community-profile-cover { position: relative; height: 8.75rem; overflow: hidden; background: radial-gradient(circle at 15% 20%, #8ee3b542 0 9%, transparent 25%), radial-gradient(circle at 80% 25%, #a982e74f 0 8%, transparent 25%), linear-gradient(135deg, #263f35, #252b48 56%, #34253e); }
.community-profile-cover::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 20%, #151a23); }
.community-profile-cover i { position: absolute; width: 4rem; height: 4rem; border: 1px solid #fff1; border-radius: 1.25rem; transform: rotate(25deg); }
.community-profile-cover i:nth-child(1) { left: 10%; top: 18%; }
.community-profile-cover i:nth-child(2) { right: 22%; top: -20%; width: 7rem; height: 7rem; }
.community-profile-cover i:nth-child(3) { right: 5%; bottom: -35%; width: 5rem; height: 5rem; }
.community-profile-main { position: relative; z-index: 2; display: flex; align-items: flex-end; gap: 1.25rem; margin-top: -4.75rem; padding: 0 1.5rem; }
.community-profile-photo { display: grid; place-items: center; flex: 0 0 auto; width: 9.5rem; height: 9.5rem; padding: .35rem; overflow: hidden; border: 4px solid #151a23; border-radius: 2.25rem; color: #15241d; background: linear-gradient(135deg, #baf3d0, #82ddb0); box-shadow: 0 1rem 2.25rem #0007, inset 0 0 0 1px #fff5; font-size: 2.25rem; font-weight: 700; }
.community-profile-photo img { width: 100%; height: 100%; display: block; object-fit: cover; border-radius: 1.65rem; }
.community-profile-photo.tier-bronze { background: linear-gradient(135deg, #e7bd8f, #a96f3e); }
.community-profile-photo.tier-silver { background: linear-gradient(135deg, #f0f4f8, #91a0b3); }
.community-profile-photo.tier-gold { background: linear-gradient(135deg, #fff0a6, #d7a82f); }
.community-profile-photo.tier-diamond { background: linear-gradient(135deg, #c7f3ff, #79cce8); }
.community-profile-identity { min-width: 0; padding-bottom: .65rem; }
.community-profile-kicker { display: block; margin-bottom: .35rem; color: var(--mint); font-size: .6875rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.community-profile-identity h2 { overflow: hidden; color: #f7f9fc; font-size: 1.45rem; line-height: 1.2; letter-spacing: -.03em; text-overflow: ellipsis; white-space: nowrap; }
.community-profile-identity p { margin-top: .4rem; color: #b8c3d4; font-size: .8125rem; }
.community-profile-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .625rem; padding: 1.5rem; }
.community-profile-stats > div { min-width: 0; padding: 1rem .75rem; border: 1px solid #333e50; border-radius: 1rem; background: linear-gradient(145deg, #202735, #1a202b); }
.community-profile-stats span, .community-profile-details span { display: block; margin-bottom: .375rem; color: #93a2b7; font-size: .6875rem; }
.community-profile-stats strong { display: block; overflow: hidden; color: #f3f6fb; font-size: 1rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.community-profile-stats > div:nth-child(2) strong { color: var(--mint); }
.community-profile-details { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 1.5rem 1.5rem; padding: 1rem 0; border-top: 1px solid #303949; border-bottom: 1px solid #303949; }
.community-profile-details > div { min-width: 0; padding: 0 1rem; }
.community-profile-details > div + div { border-left: 1px solid #303949; }
.community-profile-details strong { display: block; overflow: hidden; color: #dce4ef; font-size: .8125rem; font-weight: 500; text-overflow: ellipsis; white-space: nowrap; }
.community-profile-error { margin: 0 1.5rem 1.5rem; padding: .875rem 1rem; border: 1px solid #73434b; border-radius: .875rem; color: #ffc0c8; background: #3c2228; font-size: .8125rem; }
.community-profile-card.is-loading [data-community-profile-tasks], .community-profile-card.is-loading [data-community-profile-earned], .community-profile-card.is-loading [data-community-profile-rank], .community-profile-card.is-loading [data-community-profile-streak], .community-profile-card.is-loading [data-community-profile-since], .community-profile-card.is-loading [data-community-profile-country] { color: transparent; border-radius: .3rem; background: linear-gradient(90deg, #2a3240 25%, #3a4658 50%, #2a3240 75%); background-size: 200% 100%; animation: community-profile-shimmer 1.1s linear infinite; }
@keyframes community-profile-shimmer { to { background-position: -200% 0; } }
@keyframes community-enter { from { opacity: 0; transform: translate(-50%, -48%); } to { opacity: 1; transform: translate(-50%, -50%); } }
@media (max-width: 760px) {
  .chat-dialog { width: calc(100% - 1.5rem); height: calc(var(--community-vh, 100dvh) - 1.5rem); max-height: calc(var(--community-vh, 100dvh) - 1.5rem); border-radius: 1.25rem; }
  .chat-header { gap: .5rem; padding: .875rem .75rem; }
  .chat-header-icon, .chat-demo-badge { display: none; }
  .chat-heading-copy h2 { font-size: 1rem; }
  .chat-heading-copy p { font-size: .75rem; }
  .chat-pinned { padding: .625rem .875rem; }
  .chat-pinned p { font-size: .6875rem; }
  .chat-thread { padding: 1rem .75rem; }
  .chat-message { gap: .375rem; }
  .chat-message > .avatar { width: 1.75rem; height: 1.75rem; font-size: .625rem; }
  .chat-message-content { max-width: calc(100% - 2.25rem); }
  .chat-message-meta { column-gap: .3rem; }
  .chat-message-meta time { font-size: .6875rem; }
  .chat-message-role { font-size: .625rem; }
  .chat-bubble { padding: .625rem .75rem; }
  .chat-reply-button { min-height: 2rem; }
  .chat-composer { padding: .75rem; }
  .chat-composer-meta { gap: .5rem; font-size: .6875rem; }
  .chat-input-box { gap: .125rem; }
  .chat-input-box textarea { font-size: 1rem; }
  .chat-emoji-picker { max-width: 25rem; }
  .external-link-dialog { padding: 1.25rem; border-radius: 1.25rem; }
  .announcements-header { padding: 1.25rem; gap: .625rem; }
  .announcements-header h2 { font-size: 1.125rem; }
  .announcements-content { padding: 1.25rem; }
  .announcements-footer { padding: 1rem 1.25rem; }
}
@media (max-width: 440px) {
  .chat-emoji-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .chat-emoji-picker { padding: .625rem; }
}
@media (max-width: 360px) {
  .topbar { gap: .5rem; }
  .top-actions { gap: .375rem; }
  .mobile-brand { gap: .5rem; font-size: 1.25rem; }
  .chat-heading-copy p { max-width: 11rem; font-size: .6875rem; }
  .chat-header .community-close { width: 2.5rem; }
  .external-link-actions { grid-template-columns: 1fr; }
  .external-link-actions .primary-button { grid-row: 1; }
  .announcements-footer .outline-button { width: 100%; }
  .community-profile-dialog { width: calc(100% - 1rem); max-height: calc(100dvh - 1rem); border-radius: 1.25rem; }
  .community-profile-main { align-items: center; gap: .875rem; margin-top: -3.4rem; padding: 0 1rem; }
  .community-profile-photo { width: 7.25rem; height: 7.25rem; border-radius: 1.75rem; }
  .community-profile-photo img { border-radius: 1.2rem; }
  .community-profile-identity h2 { font-size: 1.2rem; }
  .community-profile-stats { gap: .4rem; padding: 1.25rem 1rem; }
  .community-profile-stats > div { padding: .8rem .55rem; }
  .community-profile-stats span { min-height: 2.1em; }
  .community-profile-stats strong { font-size: .875rem; }
  .community-profile-details { margin: 0 1rem 1rem; }
  .community-profile-details > div { padding: 0 .55rem; }
}
