/* Site contact and announcements share readable, scrollable dialogs on phones and desktops. */
.community-dialog {font-size:max(.16rem,14px);width:min(760px,calc(100vw - 24px));max-height:calc(100svh - 24px);}
.community-dialog .modal__title {font-size:max(.26rem,20px);}
.community-dialog .modal__head {padding:16px 18px 8px;}
.community-dialog .modal__body {padding:12px 18px;min-height:0;}
.community-dialog .modal__actions {padding:12px 18px;gap:8px;flex-wrap:wrap;}
.community-dialog .btn {min-height:44px;font-size:max(.15rem,12px);}
.community-dialog .btn .icon {min-width:16px;min-height:16px;}
.community-dialog p {line-height:1.65;}
.community-hint {font-size:max(.14rem,12px);color:var(--text-lo);}
.community-error {color:var(--red);white-space:pre-wrap;overflow-wrap:anywhere;}
.community-status {color:var(--mint-400);}
.community-field {display:flex;flex-direction:column;gap:6px;margin-bottom:12px;min-width:0;}
.community-field input,.community-field textarea,.community-dialog select {width:100%;border:1px solid var(--line-2);background:#0c1411;color:var(--text-hi);padding:10px;font:inherit;font-size:16px;min-width:0;}
.community-field textarea {min-height:100px;resize:vertical;}
.feedback-contact {display:flex;align-items:center;flex-wrap:wrap;gap:10px;border:1px solid var(--line-2);padding:12px;margin:12px 0;}
.feedback-contact a,.feedback-contact strong {user-select:text;-webkit-user-select:text;overflow-wrap:anywhere;color:var(--mint-400);}
.feedback-contact .btn {margin-left:auto;}
.site-announcement-entry {position:relative;}
.site-announcement-dot {position:absolute;right:3px;top:3px;width:8px;height:8px;border-radius:50%;background:var(--amber);pointer-events:none;}
.announcement-document {line-height:1.75;overflow-wrap:anywhere;user-select:text;-webkit-user-select:text;}
.announcement-document h1 {font-size:1.7em;margin:18px 0 12px;line-height:1.4;}
.announcement-document h2 {font-size:1.3em;margin:16px 0 10px;line-height:1.45;}
.announcement-document p {white-space:pre-wrap;margin:12px 0;}
.announcement-document ul,.announcement-document ol {padding-left:26px;margin:12px 0;}
.announcement-document img {display:block;max-width:100%;height:auto;max-height:70svh;object-fit:contain;margin:12px auto;}
.announcement-document figcaption {text-align:center;color:var(--text-lo);font-size:.9em;}
.announcement-document figure {margin:14px 0;}
.announcement-meta {color:var(--text-lo);font-size:12px;}
.announcement-list {display:flex;flex-direction:column;gap:12px;}
.announcement-card {border:1px solid var(--line-2);padding:12px;}
.announcement-card > h3 {font-size:1.2em;margin:0 0 8px;}
.announcement-admin {width:min(1100px,calc(100vw - 24px));}
.announcement-admin__layout {display:grid;grid-template-columns:200px minmax(0,1fr);gap:16px;}
.announcement-admin__list {display:flex;flex-direction:column;gap:8px;}
.announcement-admin__list .btn {justify-content:flex-start;text-align:left;white-space:normal;}
.announcement-admin__list .btn__label {overflow-wrap:anywhere;}
.announcement-editor__actions,.announcement-block__tools {display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.announcement-block {padding:12px;border:1px solid var(--line-2);margin:12px 0;}
.announcement-block__tools {margin-bottom:8px;}
.announcement-block__tools select {width:auto;max-width:100%;min-height:44px;}
.announcement-block__tools label {display:flex;align-items:center;gap:6px;min-height:44px;cursor:pointer;}
.announcement-block__tools input[type=checkbox] {width:18px;height:18px;}
.announcement-block .community-field {margin:0;}
.announcement-block img {max-width:100%;max-height:220px;object-fit:contain;}
.announcement-empty {border:1px dashed var(--line-2);padding:20px;text-align:center;}
@media(max-width:700px) {.announcement-admin__layout {grid-template-columns:minmax(0,1fr);}.announcement-admin__list {flex-direction:row;overflow-x:auto;padding-bottom:8px;}.announcement-admin__list .btn {flex:0 0 150px;}.community-dialog .modal__actions .btn {flex:1 1 auto;}}
@media(max-width:1000px) {.lobby-screen .topbar__left {flex-wrap:wrap;row-gap:8px;}.lobby-screen .topbar__tools {flex-wrap:wrap;}.lobby-screen .topbar__right {flex-wrap:wrap;max-width:48vw;row-gap:8px;}}