/* Shared, scoped styles for polls, beta applications and their admin tools. */
.community-page { margin:0; background:#f3f7fc; color:#17283f; font-family:'Manrope',system-ui,sans-serif; line-height:1.65; }
.community-shell { max-width:980px; margin:0 auto; padding:30px 24px 50px; }
.community-links { display:flex; flex-wrap:wrap; gap:12px 22px; margin-bottom:28px; font-size:.9rem; }
.community-links a,.community-panel a:not(.community-button),.community-heading a { color:#1855a2; text-underline-offset:3px; }
.community-heading { margin-bottom:28px; }
.community-heading h1 { font-size:clamp(1.9rem,4vw,2.65rem); line-height:1.2; letter-spacing:-.04em; margin:8px 0 12px; }
.community-heading p { margin:0 0 12px; color:#5a6b81; }
.community-eyebrow { color:#2864aa; font-weight:800; font-size:.72rem; letter-spacing:.09em; text-transform:uppercase; }
.community-panel { box-sizing:border-box; margin:0 0 22px; padding:28px; border:1px solid #dde6f2; border-radius:20px; background:#fff; color:#17283f; box-shadow:0 8px 25px rgba(27,50,82,.045); scroll-margin-top:130px; }
.community-panel h2,.community-panel h3 { margin:0 0 12px; color:#17283f; font-size:1.3rem; line-height:1.4; }
.community-panel p { max-width:none; margin:0 0 16px; font-size:.94rem; text-align:left; color:#52647b; }
.community-muted { color:#5e7087 !important; font-size:.84rem !important; line-height:1.6; }
.community-form { width:100%; max-width:none; margin:0; padding:0; background:none; border:0; box-shadow:none; }
.community-panel.community-form { padding:28px; border:1px solid #dde6f2; border-radius:20px; background:#fff; margin-bottom:22px; }
.community-form > label:not(.community-check) { display:block; margin:18px 0 7px; font-size:.91rem; font-weight:700; }
.community-form input:not([type=checkbox]):not([type=radio]):not([type=hidden]),.community-form textarea,.community-form select { box-sizing:border-box; width:100%; max-width:100%; padding:11px 13px; border:1px solid #c7d5e6; border-radius:10px; background:#fbfcfe; color:#17283f; font:inherit; font-size:.93rem; margin:0 0 10px; }
.community-form textarea { resize:vertical; min-height:110px; }
.community-form input:focus-visible,.community-form textarea:focus-visible,.community-form select:focus-visible,.community-button:focus-visible,.poll-answer:focus-within { outline:3px solid #75b9fd; outline-offset:3px; }
.community-form fieldset { min-width:0; border:0; margin:20px 0 0; padding:0; }
.community-form legend { font-size:.95rem; font-weight:700; margin-bottom:10px; }
.community-check { display:flex; align-items:flex-start; gap:10px; font-size:.91rem; font-weight:500; margin:12px 0; cursor:pointer; }
.community-check input[type=checkbox],.poll-answer input[type=radio] { flex:0 0 18px; width:18px; height:18px; margin:4px 0 0; padding:0; accent-color:#1977e6; }
.community-platforms { display:flex; flex-wrap:wrap; gap:8px 22px; }
.community-platforms .community-check { margin:0 0 10px; }
.community-actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 18px; margin-top:20px; }
.community-actions h2 { margin:0; }
.community-actions label { margin:0 !important; }
.community-actions select { width:auto; max-width:100%; margin:0; }
.community-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; padding:10px 19px; border:0; border-radius:999px; background:linear-gradient(120deg,#187bff,#0eaab0); color:white !important; font:inherit; font-size:.88rem; font-weight:800; line-height:1.5; text-decoration:none !important; cursor:pointer; white-space:normal; text-align:center; }
.community-button.secondary { background:#edf3fb; color:#234a7b !important; border:1px solid #d3e0ef; }
.community-button:hover { filter:brightness(.95); }
.community-beta-callout { display:flex; align-items:center; justify-content:space-between; gap:24px; background:linear-gradient(120deg,#edf6ff,#f0faf8); }
.community-beta-callout p { margin-bottom:0; }
.community-beta-callout > .community-button { flex-shrink:0; }
.community-beta-callout form { padding:0; margin:0; width:auto; max-width:none; background:none; box-shadow:none; border:0; }
.community-notice,.community-error { padding:15px 18px; margin:0 0 20px; border-radius:12px; line-height:1.65; font-size:.92rem; }
.community-notice { border:1px solid #bddfd1; background:#edf9f3; color:#215844; }
.community-error { border:1px solid #edc0c6; background:#fff0f2; color:#8d2733; }
.community-status { padding:5px 12px; border:1px solid #c6daf4; background:#edf5ff; color:#285791; border-radius:999px; font-size:.8rem; font-weight:700; }
.community-application dl { display:grid; grid-template-columns:150px minmax(0,1fr); gap:10px 18px; margin:20px 0; font-size:.92rem; }
.community-application dt { color:#65778c; font-weight:600; }
.community-application dd { margin:0; overflow-wrap:anywhere; }
.community-application > p:last-child { margin-top:20px; margin-bottom:0; }
.community-preserve { white-space:pre-wrap; }
.community-form hr { border:0; border-top:1px solid #dde6f2; margin:26px 0; }
.community-sr-only { position:absolute; width:1px; height:1px; padding:0; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.community-form .community-honeypot { display:none !important; }
.community-form .poll-answers { margin:18px 0 0; }
.poll-answer { display:block; padding:15px; margin-bottom:10px; border:1px solid #d9e4f1; border-radius:12px; background:#f9fbff; cursor:pointer; }
.poll-answer-line { display:flex; align-items:flex-start; gap:10px; font-size:.94rem; font-weight:600; }
.poll-answer-line > span:not(.poll-count) { flex:1; overflow-wrap:anywhere; }
.poll-count { flex-shrink:0; margin-left:auto; color:#526983; font-size:.8rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.poll-track { display:block; height:6px; margin-top:11px; overflow:hidden; border-radius:20px; background:#e2eaf4; }
.poll-track > span { display:block; height:100%; background:linear-gradient(90deg,#2684f7,#21b9b1); border-radius:20px; }
@media(max-width:600px) {
  .community-shell { padding:24px 14px 36px; }
  .community-panel,.community-panel.community-form { padding:21px 17px; border-radius:16px; }
  .community-beta-callout { flex-direction:column; align-items:stretch; gap:18px; }
  .community-application dl { grid-template-columns:1fr; gap:3px; }
  .community-application dd { margin-bottom:12px; }
  .community-actions { gap:12px; }
  .community-actions select { flex:1; }
  .poll-answer { padding:12px; }
  .poll-answer-line { flex-wrap:wrap; }
  .poll-count { width:100%; padding-left:28px; }
}

/* Inline controls in the existing topic editor. */
.topic-extras { margin:22px 0; padding:20px; border:1px solid #dbe5f2; border-radius:14px; background:#f6f9fe; }
.topic-extras .topic-extra-toggle { display:flex; align-items:center; gap:10px; margin:8px 0; font-weight:600; cursor:pointer; }
.topic-extras input[type=checkbox] { width:18px; height:18px; padding:0; margin:0; flex:0 0 18px; accent-color:#1977e6; }
.topic-poll-fields { display:none; padding:12px 0 18px; }
.topic-extras:has(> .topic-extra-toggle input[name=add_poll]:checked) .topic-poll-fields { display:block; }
.topic-poll-fields > label:not(.topic-extra-toggle) { display:block; margin:12px 0 6px; font-weight:600; }
.topic-poll-fields input[type=text],.topic-poll-fields input:not([type]),.topic-poll-fields textarea { box-sizing:border-box; width:100%; max-width:100%; padding:12px; border:1px solid #c7d5e6; border-radius:10px; font:inherit; color:#17283f; background:#fff; }
.topic-poll-fields textarea { min-height:110px; resize:vertical; }
.beta-request-control { min-width:0; }
.beta-request-control .community-muted { margin-top:10px; max-width:420px; }
.beta-request-control form { margin:0; padding:0; border:0; box-shadow:none; background:none; width:auto; max-width:none; }
.beta-request-control .community-button { white-space:normal; }
@media(max-width:600px) { .topic-extras { padding:15px; } }

.beta-setting-form { display:block; width:100%; max-width:none; padding:0; margin:0; border:0; box-shadow:none; background:none; }
.beta-setting-form + .beta-setting-form { border-top:1px solid #e1e9f4; margin-top:22px; padding-top:22px; }
.beta-setting { display:flex; align-items:center; justify-content:space-between; gap:28px; cursor:pointer; }
.beta-setting-copy { display:block; min-width:0; }
.beta-setting-copy strong { display:block; color:#17283f; font-size:1.05rem; margin-bottom:8px; }
.beta-setting-copy > span { display:block; max-width:640px; color:#5e7087; font-size:.87rem; line-height:1.7; }
.beta-switch { position:relative; display:block; width:56px; height:32px; flex:0 0 56px; }
.beta-switch input { position:absolute; inset:0; width:100%; height:100%; margin:0; opacity:0; cursor:pointer; z-index:1; }
.beta-switch-track { display:block; width:100%; height:100%; border-radius:999px; background:#9aaabd; transition:background .15s; }
.beta-switch-track::after { content:''; position:absolute; top:4px; left:4px; width:24px; height:24px; border-radius:50%; background:#fff; box-shadow:0 1px 5px #183b6430; transition:transform .15s; }
.beta-switch input:checked + .beta-switch-track { background:linear-gradient(120deg,#187bff,#0eaab0); }
.beta-switch input:checked + .beta-switch-track::after { transform:translateX(24px); }
.beta-switch input:focus-visible + .beta-switch-track { outline:3px solid #75b9fd; outline-offset:4px; }
@media(max-width:600px) { .beta-setting { align-items:flex-start; gap:16px; } .beta-switch { margin-top:3px; } }
@media(prefers-reduced-motion:reduce) { .beta-switch-track,.beta-switch-track::after { transition:none; } }
