.community-shell{display:grid;grid-template-columns:minmax(380px,1fr) minmax(420px,620px);gap:var(--space-6);align-items:start}
.community-notice-bar{position:relative;z-index:1;display:grid;width:min(100%,1120px);min-height:48px;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:center;gap:var(--space-2);margin:0 auto var(--space-5);padding:0 var(--space-4);border:0;border-radius:8px;background:var(--surface-secondary);color:var(--text-secondary);text-align:left;box-shadow:none}
.community-notice-bar[hidden]{display:none}
.community-notice-bar:hover{background:var(--surface-tertiary);color:var(--text-primary)}
.community-notice-bar:focus-visible{outline:none;box-shadow:var(--focus-ring)}
.community-notice-mark{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent)}
.community-notice-mark svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-notice-bar strong{color:var(--text-primary);font-size:13px;font-weight:780;white-space:nowrap}
.community-notice-text{overflow:hidden;font-size:13px;font-weight:550;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}
.community-notice-chevron{width:17px;height:17px;fill:none;stroke:var(--text-tertiary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.community-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}
.community-toolbar button{min-width:92px}
.community-toolbar-actions{display:flex;align-items:center;gap:var(--space-2)}
.neighbor-menu-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}
.neighbor-menu-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-board,.community-detail,.community-detail-inner{min-width:0}
.community-detail{position:sticky;top:var(--space-4);align-self:start}
.community-posts{display:grid;overflow:hidden;border:var(--hairline);border-radius:var(--radius-lg);background:var(--surface)}
.community-post{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-3);align-items:stretch;padding:var(--space-4);border-bottom:var(--hairline);background:var(--surface);transition:background-color var(--duration-micro)}
.community-post:last-child{border-bottom:0}
.community-post:hover{background:var(--surface-secondary)}
.community-post.selected{background:var(--accent-softer)}
.community-post-open{display:grid;width:100%;grid-template-columns:minmax(0,1fr);column-gap:var(--space-4);row-gap:var(--space-2);align-items:center;min-width:0;min-height:0;padding:0;border:0;border-radius:0;background:transparent;text-align:left;box-shadow:none}
.community-post-open:has(.community-post-thumb){grid-template-columns:minmax(0,1fr) 112px}
.community-post-open>.community-post-meta{grid-column:1/-1}
.community-post-content{display:grid;min-width:0;align-self:stretch;align-content:start;gap:6px}
.community-post-content>*{min-width:0}
.community-post-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-tertiary);font-size:12px}
.community-post-meta>span,.community-detail-meta>span{display:flex;min-width:0;align-items:center;gap:var(--space-2)}
.community-post-meta strong{color:var(--text-secondary);font-size:12px}
.community-post-time{display:inline-flex;align-items:center;justify-content:flex-end;gap:6px;white-space:nowrap}
.community-edited{color:var(--text-tertiary);font-size:11px;font-weight:560;white-space:nowrap}
.community-owned-badge{display:inline-flex;min-height:20px;align-items:center;padding:0 7px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-size:11px;font-style:normal;font-weight:760}
.community-post-title{overflow:hidden;color:var(--text-primary);font-size:17px;font-weight:780;line-height:1.36;text-overflow:ellipsis;white-space:nowrap}
.community-post-body{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:14px;line-height:1.5;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.community-post-footer{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3)}
.community-post-foot{display:flex;align-items:center;gap:var(--space-3);margin-top:2px;color:var(--text-tertiary);font-size:12px;font-weight:700}
.community-post-foot span{display:inline-flex;align-items:center;gap:4px}
.community-video-badge{color:var(--accent)}
.community-post-thumb{width:112px;height:78px;grid-column:2;grid-row:2;border:var(--hairline);border-radius:var(--radius-md);object-fit:contain;background:var(--surface-tertiary)}
.community-reactions{display:flex;align-items:center;gap:var(--space-1)}
.community-reaction-button{display:inline-flex;height:36px;min-width:50px;align-items:center;justify-content:center;gap:6px;padding:0 11px;border:var(--hairline);border-radius:999px;background:var(--surface-raised);color:var(--text-secondary);font-size:12px;font-weight:760;white-space:nowrap;box-shadow:none}
.community-reaction-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.community-reaction-button:hover{border-color:var(--accent-border);color:var(--accent)}
.community-like-button.liked{border-color:rgba(255,64,96,.28);background:rgba(255,64,96,.09);color:#e5294f}
.community-like-button.liked svg{fill:currentColor}
.community-dislike-button.disliked{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent)}
.community-detail-inner{display:grid;height:var(--community-detail-viewport-height,clamp(460px,calc(100dvh - 200px),calc(100dvh - var(--space-8))));min-height:360px;max-height:calc(100dvh - var(--space-8));grid-template-rows:minmax(0,1fr) auto;gap:0;overflow:hidden;border:var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft)}
.community-detail-inner>p{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}
.community-detail-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:var(--space-4)}
.community-empty-detail{display:grid;min-height:280px;place-items:center;align-content:center;gap:var(--space-2);color:var(--text-secondary);text-align:center}
.community-detail-loading,.community-detail-load-error{display:grid;min-height:280px;place-items:center;align-content:center;gap:var(--space-3);padding:var(--space-6);color:var(--text-secondary);text-align:center}
.community-detail-loading>span{width:28px;height:28px;border:3px solid var(--separator);border-top-color:var(--accent);border-radius:50%;animation:community-admin-spin .7s linear infinite}
.community-detail-loading>div,.community-detail-load-error{justify-items:center}
.community-detail-loading strong,.community-detail-load-error strong{display:block;max-width:320px;overflow:hidden;color:var(--text-primary);font-size:15px;text-overflow:ellipsis;white-space:nowrap}
.community-detail-loading small,.community-detail-load-error span{color:var(--text-secondary);font-size:12px}
.community-detail-load-error button{min-height:38px;margin-top:var(--space-1);padding:0 var(--space-4)}
.community-mobile-detail-bar{display:none}
.community-empty-detail strong{color:var(--text-primary);font-size:var(--text-md)}
.community-selected-post{display:grid;gap:var(--space-4);padding:28px 30px 30px;border-bottom:var(--hairline);background:var(--surface)}
.community-detail-header{display:grid;gap:var(--space-2)}
.community-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);color:var(--text-tertiary);font-size:12px}
.community-detail-meta strong{color:var(--text-secondary)}
.community-selected-post h2{margin:0;color:var(--text-primary);font-size:24px;line-height:1.34;font-weight:780;letter-spacing:0}
.community-detail-stats{display:flex;align-items:center;gap:var(--space-3);color:var(--text-tertiary);font-size:12px;font-weight:700}
.community-detail-body,.community-comment p{margin:0;color:var(--text-primary);font-size:14px;line-height:1.68;white-space:pre-wrap}
.community-detail-body{padding:var(--space-2) 0;color:var(--text-primary)}
.community-detail-image{width:100%;height:360px;border:var(--hairline);border-radius:var(--radius-lg);object-fit:contain;background:var(--surface-tertiary)}
.community-rich-content{display:grid;gap:var(--space-4)}
.community-rich-content .community-detail-body{padding:0;overflow-wrap:anywhere}
.community-content-image{display:grid;width:100%;margin:0;overflow:hidden;place-items:center;border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-tertiary)}
.community-content-image img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}
.community-content-video{display:grid;width:100%;margin:0;overflow:hidden;border:var(--hairline);border-radius:var(--radius-md);background:#111316}
.community-content-video video{display:block;width:100%;height:auto;max-height:620px;aspect-ratio:16/9;object-fit:contain;background:#0b0c0e}
.community-content-video figcaption{padding:8px var(--space-3);border-top:1px solid rgba(255,255,255,.1);color:#d5d8de;font-size:11px;font-weight:650;text-align:right}
.community-youtube-preview{display:grid;gap:var(--space-2)}
.community-youtube-frame{position:relative;width:100%;overflow:hidden;aspect-ratio:16/9;min-height:200px;border:var(--hairline);border-radius:var(--radius-lg);background:#0b0b0c}
.community-youtube-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.community-youtube-preview>a{justify-self:end;color:var(--text-secondary);font-size:12px;font-weight:700;text-decoration:none}
.community-youtube-preview>a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.community-tenor-preview{--tenor-ratio:16 / 9;display:grid;width:min(100%,480px);gap:6px;justify-items:stretch;margin:0;overflow:hidden}
.community-tenor-comment{width:min(100%,340px)}
.community-tenor-reply{width:min(100%,300px)}
.community-tenor-frame,.community-tenor-loading{display:grid;width:100%;overflow:hidden;aspect-ratio:var(--tenor-ratio);place-items:center;border:var(--hairline);border-radius:6px;background:#151619}
.community-tenor-frame{color:inherit;text-decoration:none}
.community-tenor-frame video{display:block;width:100%;height:100%;max-height:360px;object-fit:contain;background:#151619}
.community-tenor-comment .community-tenor-frame video,.community-tenor-reply .community-tenor-frame video{max-height:260px}
.community-tenor-loading{position:relative;background:var(--surface-tertiary);animation:tenor-preview-pulse 1.1s ease-in-out infinite alternate}
.community-tenor-loading::after{content:"GIF";color:var(--text-tertiary);font-size:11px;font-weight:760}
.community-tenor-attribution{justify-self:end;color:var(--text-tertiary);font-size:10px;font-weight:700;text-decoration:none}
.community-tenor-attribution:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
.community-detail-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}
.community-detail-actions .text-danger{min-height:34px;padding:0 var(--space-3);border:0;border-radius:999px;background:var(--surface-secondary);color:var(--danger);font-size:12px;font-weight:760}
.community-detail-actions .detail-like{justify-self:start}
.community-management-actions{display:flex;align-items:center;gap:var(--space-1)}
.community-management-actions button{min-height:34px;padding:0 var(--space-3);border:0;border-radius:999px;background:var(--surface-secondary);color:var(--text-secondary);font-size:12px;font-weight:760}
.community-management-actions button:hover{color:var(--text-primary)}
.community-comments{display:grid;gap:var(--space-3);padding:22px 30px 28px;background:var(--surface)}
.community-comments-heading{display:flex;align-items:center;justify-content:space-between}
.community-comments h3{margin:0;font-size:14px}
#communityComments{display:grid;gap:var(--space-3)}
.community-comment{display:grid;gap:var(--space-2);padding:0 0 var(--space-3);border-bottom:var(--hairline);border-radius:0;background:transparent}
.community-comment:last-child{border-bottom:0}
.community-comment-meta{display:flex;align-items:center;gap:var(--space-2);color:var(--text-tertiary);font-size:12px}
.community-comment strong{color:var(--text-secondary)}
.community-comment em{color:var(--accent);font-style:normal;font-weight:650}
.community-comment-actions{display:flex;align-items:center;gap:var(--space-2)}
.community-comment-actions button{min-height:28px;padding:0;border:0;background:transparent;color:var(--text-tertiary);font-size:12px;font-weight:650}
.community-comment-actions button:hover{color:var(--accent)}
.community-comment-actions button.danger-link{color:var(--danger)}
.community-comment-images{display:grid;width:min(100%,420px);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.community-comment-images.single{grid-template-columns:minmax(0,1fr);width:min(100%,360px)}
.community-comment-images img{display:block;width:100%;height:150px;border:var(--hairline);border-radius:6px;background:var(--surface-tertiary);object-fit:contain}
.community-comment-images.single img{height:auto;max-height:320px}
.community-replies{display:grid;gap:var(--space-3);margin:-4px 0 0 var(--space-5);padding:var(--space-3) 0 0 var(--space-4);border-left:2px solid var(--accent-soft)}
.community-replies .community-comment{padding:var(--space-3);border:0;border-radius:var(--radius-md);background:var(--surface-secondary)}
.community-comment-form{position:relative;z-index:3;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-2);margin:0;padding:14px 18px 16px;border-top:var(--hairline);background:var(--surface-raised);box-shadow:0 -10px 24px rgba(20,28,40,.045)}
.community-comment-form-heading{display:flex;min-height:24px;align-items:center;justify-content:space-between;gap:var(--space-3)}
.community-comment-form-heading strong{color:var(--text-primary);font-size:13px;font-weight:760}
.community-comment-form-heading button{min-height:28px;padding:0 var(--space-2);border:0;background:transparent;color:var(--text-tertiary);font-size:11px;font-weight:700;box-shadow:none}
.community-comment-form-heading button:hover{background:var(--surface-secondary);color:var(--accent)}
.community-comment-controls{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2)}
.community-comment-controls>button{height:42px;min-height:42px}
.community-comment-image-picker{position:relative;display:flex;height:42px;align-items:center;cursor:pointer}
.community-comment-image-picker input,.community-compact-image-picker input,.community-block-toolbar input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.community-comment-image-picker>span{display:flex;height:42px;align-items:center;gap:7px;padding:0 var(--space-3);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-secondary)}
.community-comment-image-picker:hover>span{border-color:var(--accent-border);color:var(--accent)}
.community-comment-image-picker svg,.community-compact-image-picker svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-comment-image-picker em{font-size:11px;font-style:normal;font-weight:720}
.community-attachment-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(86px,1fr));gap:8px}
.community-attachment-list figure{position:relative;display:grid;overflow:hidden;aspect-ratio:1;margin:0;place-items:center;border:var(--hairline);border-radius:var(--radius-sm);background:var(--surface-tertiary)}
.community-attachment-list img{display:block;width:100%;height:100%;object-fit:contain}
.community-attachment-list button{position:absolute;top:5px;right:5px;display:grid;width:28px;height:28px;min-height:28px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(20,22,26,.76);color:#fff;box-shadow:0 2px 8px rgba(0,0,0,.18)}
.community-attachment-list button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.community-reply-target{display:flex;min-height:36px;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-md);background:var(--accent-softer);color:var(--text-secondary);font-size:12px}
.community-reply-target strong{color:var(--accent)}
.community-reply-target button{min-height:28px;padding:0 var(--space-2);border:0;background:transparent;color:var(--text-secondary);font-size:12px}
.community-locked{display:grid;min-height:520px;place-items:center;align-content:center;gap:var(--space-3);padding:var(--space-8);border:var(--hairline);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-soft);text-align:center}
.community-locked strong{font-size:var(--text-xl);font-weight:760}
.community-locked p{max-width:420px;margin:0;color:var(--text-secondary);font-size:14px;line-height:1.55}
.community-locked button{margin-top:var(--space-2);min-width:160px}
.community-locked-visual{position:relative;width:152px;height:112px;margin-bottom:var(--space-3)}
.community-locked-visual span{position:absolute;border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary);box-shadow:var(--shadow-soft)}
.community-locked-visual span:nth-child(1){inset:16px 38px 12px 18px;background:var(--accent-soft)}
.community-locked-visual span:nth-child(2){top:0;right:12px;width:74px;height:62px;background:var(--surface-raised)}
.community-locked-visual span:nth-child(3){right:0;bottom:0;width:98px;height:50px;background:var(--surface-tertiary)}
.community-login{display:grid;grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) auto;gap:var(--space-3);align-items:end}
.community-login label,.community-compose label{display:grid;gap:var(--space-2);color:var(--text-secondary);font-size:var(--text-sm);font-weight:600}
.community-account-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--surface-secondary)}
.community-account-card div{display:grid;gap:2px}
.community-account-card strong{font-size:var(--text-md)}
.community-account-card span{color:var(--text-secondary);font-size:var(--text-sm)}
.community-account-card .community-account-actions{display:flex;align-items:center;gap:var(--space-2)}
.community-account-actions button{white-space:nowrap}
.community-special-access-egg{width:18px;height:18px;min-height:18px;margin-top:7px;padding:0;border:0;background:transparent;opacity:0;box-shadow:none;cursor:pointer}
.community-special-access-egg:hover{border:0;background:transparent;opacity:0}
.community-special-access-egg:focus-visible{border:1px dashed var(--accent-border);background:var(--accent-softer);opacity:.35;box-shadow:none}
.community-special-access-dialog{width:min(520px,calc(100vw - 32px))}
.community-special-access-form{gap:var(--space-4)}
.community-special-access-status{display:grid;gap:6px;padding:var(--space-4);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary)}
.community-special-access-status strong{color:var(--text-primary);font-size:15px}
.community-special-access-status span{color:var(--text-secondary);font-size:13px;line-height:1.55}
.community-special-access-help{margin:0;color:var(--text-tertiary);font-size:12px;line-height:1.55}
.community-special-admin{display:grid;gap:var(--space-3);padding:var(--space-4);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary)}
.community-special-admin-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}
.community-special-admin-heading>div{display:grid;gap:2px}
.community-special-admin-heading strong{color:var(--text-primary);font-size:14px}
.community-special-admin-heading span{color:var(--text-tertiary);font-size:12px}
.community-special-admin-heading>strong{padding:5px 8px;border-radius:var(--radius-pill);background:var(--accent-soft);color:var(--accent);font-size:11px}
.community-special-admin-list{display:grid;overflow:hidden;border:var(--hairline);border-radius:var(--radius-md);background:var(--surface)}
.community-special-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(120px,.7fr) auto;align-items:center;gap:var(--space-3);padding:var(--space-3);border-bottom:var(--hairline)}
.community-special-admin-row:last-child{border-bottom:0}
.community-special-admin-person{display:grid;gap:2px;min-width:0}
.community-special-admin-person strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.community-special-admin-person small{color:var(--text-tertiary);font-size:11px}
.community-special-admin-state{display:grid;gap:2px;color:var(--text-secondary);font-size:11px}
.community-special-admin-state strong{font-size:12px}
.community-special-admin-actions{display:flex;gap:var(--space-2)}
.community-special-admin-actions button{min-height:34px;padding:0 var(--space-3);font-size:12px}
.community-post-dialog{width:min(760px,calc(100vw - 32px))}
.community-edit-dialog{width:min(640px,calc(100vw - 32px))}
.community-admin-dialog{width:min(1180px,calc(100vw - 32px))}
.neighbor-menu-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 32px)}
.neighbor-menu-page{display:grid;gap:var(--space-4);padding:var(--space-6)}
.neighbor-menu-page>.dialog-heading{padding-bottom:var(--space-4);border-bottom:var(--hairline)}
.neighbor-menu-loading,.neighbor-menu-error{display:grid;min-height:320px;place-items:center;align-content:center;gap:var(--space-3);color:var(--text-secondary);text-align:center}
.neighbor-menu-loading span{width:30px;height:30px;border:3px solid var(--separator);border-top-color:var(--accent);border-radius:50%;animation:community-admin-spin .7s linear infinite}
.neighbor-menu-loading strong,.neighbor-menu-error strong{color:var(--text-primary);font-size:14px}
.neighbor-menu-error p{max-width:460px;margin:0;font-size:13px;line-height:1.5}
.neighbor-menu-error button{margin-top:var(--space-2)}
.neighbor-menu-content{display:grid;gap:var(--space-3)}
.neighbor-menu-content[hidden],.neighbor-menu-loading[hidden],.neighbor-menu-error[hidden]{display:none}
.neighbor-menu-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.neighbor-menu-meta>div{display:grid;gap:3px}
.neighbor-menu-meta strong{color:var(--text-primary);font-size:15px}
.neighbor-menu-meta span{color:var(--text-tertiary);font-size:11px}
.neighbor-menu-meta a{color:var(--accent);font-size:12px;font-weight:720;text-decoration:none;white-space:nowrap}
.neighbor-menu-meta a:hover{text-decoration:underline;text-underline-offset:3px}
.neighbor-menu-content figure{display:grid;min-height:0;margin:0;overflow:auto;border:var(--hairline);border-radius:var(--radius-md);background:#fff}
.neighbor-menu-content img{display:block;width:auto;max-width:100%;height:auto;max-height:calc(100vh - 245px);justify-self:center;object-fit:contain;background:#fff}
.community-admin-page{display:grid;gap:var(--space-5);padding:var(--space-6)}
.community-admin-page>.dialog-heading{padding-bottom:var(--space-4);border-bottom:var(--hairline)}
.community-notice-admin{display:grid;gap:var(--space-3);padding:var(--space-4);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary)}
.community-notice-admin-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}
.community-notice-admin-heading>div{display:grid;gap:2px}
.community-notice-admin-heading strong{color:var(--text-primary);font-size:14px}
.community-notice-admin-heading span{color:var(--text-tertiary);font-size:12px}
.community-notice-admin-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2)}
.community-notice-admin-controls label{min-width:0}
.community-notice-admin-controls input{width:100%;height:42px}
.community-notice-admin-controls button{min-width:78px}
.community-notice-switch{display:flex;min-height:34px;align-items:center;gap:8px;color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer}
.community-notice-switch input{appearance:none;position:relative;width:38px;height:22px;margin:0;border:var(--hairline-strong);border-radius:999px;background:var(--surface);transition:background-color var(--duration-micro),border-color var(--duration-micro)}
.community-notice-switch input::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--text-tertiary);transition:transform var(--duration-micro),background-color var(--duration-micro)}
.community-notice-switch input:checked{border-color:var(--accent);background:var(--accent)}
.community-notice-switch input:checked::after{background:var(--on-accent);transform:translateX(16px)}
.community-notice-dialog{width:min(560px,calc(100vw - 32px))}
.community-notice-dialog-page{display:grid;gap:var(--space-5);padding:var(--space-6)}
.community-notice-detail-text{margin:0;color:var(--text-primary);font-size:15px;line-height:1.7;white-space:pre-wrap;overflow-wrap:anywhere}
.community-admin-summary{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:13px}
.community-admin-summary strong{color:var(--text-primary);font-size:15px}
.community-admin-refresh{display:grid;width:38px;height:38px;min-height:38px;margin-left:auto;place-items:center;padding:0;border:var(--hairline);border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-secondary);box-shadow:none}
.community-admin-refresh:hover{border-color:var(--accent-border);background:var(--accent-softer);color:var(--accent)}
.community-admin-refresh svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.community-admin-refresh.is-loading svg{animation:community-admin-spin .7s linear infinite}
.community-admin-columns,.community-admin-user{display:grid;grid-template-columns:minmax(160px,1.1fr) minmax(155px,.85fr) minmax(130px,.9fr) minmax(140px,.9fr) minmax(150px,1fr) minmax(150px,auto);gap:var(--space-3);align-items:center}
.community-admin-columns{padding:0 var(--space-3);color:var(--text-tertiary);font-size:11px;font-weight:760}
.community-admin-users{display:grid;overflow:hidden;border-top:var(--hairline)}
.community-admin-user{padding:var(--space-3);border:0;border-bottom:var(--hairline);background:transparent}
.community-admin-user.is-admin{background:var(--accent-softer)}
.community-admin-identity{display:flex;min-width:0;align-items:center;gap:var(--space-3)}
.community-admin-identity>span:last-child{display:grid;min-width:0;gap:2px}
.community-admin-identity strong{overflow:hidden;color:var(--text-primary);font-size:14px;text-overflow:ellipsis;white-space:nowrap}
.community-admin-identity small{color:var(--text-tertiary);font-size:11px}
.community-admin-avatar{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:13px;font-weight:800}
.community-admin-activity{display:flex;flex-wrap:wrap;gap:6px}
.community-admin-activity span{padding:5px 7px;border-radius:var(--radius-sm);background:var(--surface-secondary);color:var(--text-tertiary);font-size:10px;white-space:nowrap}
.community-admin-activity strong{color:var(--text-secondary)}
.community-admin-user label{display:grid;min-width:0;gap:5px}
.community-admin-user label>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.community-admin-user input{width:100%;height:40px;min-width:0;padding:0 var(--space-3);font-size:13px}
.community-admin-user input:disabled{opacity:.7;background:var(--surface-secondary)}
.community-admin-actions{display:flex;justify-content:flex-end;gap:var(--space-2)}
.community-admin-actions button{min-height:38px;padding:0 var(--space-3);white-space:nowrap}
.community-admin-actions span{color:var(--text-tertiary);font-size:12px;font-weight:650}
.community-admin-notice{margin:0;padding:var(--space-3);border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-secondary);font-size:12px;line-height:1.55}
.community-post-dialog .dialog-heading{padding-bottom:var(--space-2);border-bottom:var(--hairline)}
.community-post-dialog .dialog-heading p{font-size:12px}
.community-compose{gap:var(--space-4)}
.community-post-dialog form,.community-edit-dialog form{max-height:calc(100vh - 34px);overflow:auto;overscroll-behavior:contain}
.community-title-field input{height:46px;font-size:15px;font-weight:650}
.community-compose textarea,.community-comment-form textarea{width:100%;padding:14px var(--space-4);border:var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface);color:var(--text-primary);font:inherit;font-size:14px;line-height:1.58;outline:none;resize:vertical;transition:border-color var(--duration-micro),box-shadow var(--duration-micro),background-color var(--duration-micro)}
.community-compose textarea{min-height:230px;background:linear-gradient(var(--surface),var(--surface)) padding-box,var(--surface);box-shadow:inset 0 1px 2px rgba(0,0,0,.025)}
.community-compose textarea::placeholder,.community-comment-form textarea::placeholder{color:var(--text-tertiary)}
.community-compose textarea:focus-visible,.community-comment-form textarea:focus-visible{border-color:var(--accent-border);box-shadow:var(--focus-ring);background:var(--surface-raised)}
.community-comment-form textarea{min-height:52px;max-height:112px;resize:none;transition:min-height var(--duration-base) var(--ease-ios),border-color var(--duration-micro),box-shadow var(--duration-micro),background-color var(--duration-micro)}
.community-comment-form:focus-within textarea{min-height:82px}
.community-body-field{position:relative}
.community-body-field span{display:flex;align-items:center;justify-content:space-between}
.community-body-field span::after{content:"";display:none}
#communityEditBodyField textarea{min-height:150px}
.community-block-composer{display:grid;gap:var(--space-3);min-width:0}
.community-block-composer[hidden],.community-comment-edit-images[hidden],.community-body-field[hidden],.community-title-field[hidden]{display:none!important}
.community-block-heading{display:flex;align-items:end;justify-content:space-between;gap:var(--space-3)}
.community-block-heading>div{display:grid;gap:2px}
.community-block-heading strong{color:var(--text-primary);font-size:13px}
.community-block-heading span{color:var(--text-tertiary);font-size:11px;font-weight:560}
.community-block-count{white-space:nowrap}
.community-block-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}
.community-block-toolbar button,.community-block-toolbar label>span,.community-compact-image-picker>span{display:inline-flex;min-height:40px;align-items:center;justify-content:center;gap:7px;padding:0 var(--space-3);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-secondary);font-size:12px;font-weight:700;cursor:pointer}
.community-block-toolbar button:hover,.community-block-toolbar label:hover>span,.community-compact-image-picker:hover>span{border-color:var(--accent-border);background:var(--accent-softer);color:var(--accent)}
.community-block-toolbar label:has(input:focus-visible)>span,.community-compact-image-picker:has(input:focus-visible)>span,.community-comment-image-picker:has(input:focus-visible)>span{border-color:var(--accent-border);box-shadow:var(--focus-ring)}
.community-block-toolbar svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-block-editor{display:grid;max-height:min(52vh,540px);gap:var(--space-3);overflow:auto;padding:var(--space-3);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary);overscroll-behavior:contain}
.community-editor-block{display:grid;min-width:0;overflow:hidden;border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-raised);transition:border-color var(--duration-micro),opacity var(--duration-micro),transform var(--duration-micro)}
.community-editor-block.is-dragging{opacity:.46}
.community-editor-block.is-drop-target{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.community-editor-block>header{display:flex;min-height:38px;align-items:center;gap:7px;padding:0 7px;border-bottom:var(--hairline);background:var(--surface-secondary)}
.community-editor-block>header>strong{color:var(--text-secondary);font-size:11px;font-weight:760}
.community-block-handle,.community-block-actions button{display:grid;width:30px;height:30px;min-height:30px;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text-tertiary);box-shadow:none}
.community-block-handle{cursor:grab}
.community-block-handle:active{cursor:grabbing}
.community-block-handle:hover,.community-block-actions button:hover{background:var(--surface-tertiary);color:var(--text-primary)}
.community-block-actions{display:flex;align-items:center;gap:2px;margin-left:auto}
.community-block-actions button:disabled{opacity:.3;pointer-events:none}
.community-block-handle svg,.community-block-actions svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-block-handle svg{fill:currentColor;stroke:none}
.community-editor-block>textarea{min-height:128px!important;padding:var(--space-3) var(--space-4)!important;border:0!important;border-radius:0!important;background:var(--surface-raised)!important;box-shadow:none!important}
.community-editor-block>img{display:block;width:100%;height:auto;max-height:380px;object-fit:contain;background:var(--surface-tertiary)}
.community-editor-video{display:grid;background:#111316}
.community-editor-video video{display:block;width:100%;max-height:380px;aspect-ratio:16/9;object-fit:contain;background:#090a0c}
.community-editor-video>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3);padding:9px var(--space-3);border-top:1px solid rgba(255,255,255,.1);color:#b8bec8}
.community-editor-video strong{overflow:hidden;color:#f0f2f5;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.community-editor-video span{flex:0 0 auto;font-size:10px;font-weight:650}
.community-editor-block.is-video-upload{border-color:var(--accent-border)}
.community-video-upload{display:grid;gap:9px;padding:var(--space-4);background:var(--surface-raised)}
.community-video-upload>div{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:var(--space-3)}
.community-video-upload strong{overflow:hidden;color:var(--text-primary);font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.community-video-upload span,.community-video-upload small{color:var(--text-tertiary);font-size:11px;font-weight:650}
.community-video-progress{display:block!important;width:100%;height:6px;overflow:hidden;border-radius:3px;background:var(--surface-tertiary)}
.community-video-progress i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width .16s ease-out}
.community-block-handle:disabled{cursor:default;opacity:.3}
.community-comment-edit-images{display:grid;gap:var(--space-3)}
.community-compact-image-picker{position:relative;display:inline-flex;justify-self:start}
.community-privacy-toggle{display:flex!important;align-items:center;gap:var(--space-3);padding:var(--space-3);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary);cursor:pointer}
.community-privacy-toggle input,.community-comment-privacy input{appearance:none;display:grid;width:20px!important;height:20px!important;min-width:20px;min-height:20px!important;max-width:20px;padding:0!important;flex:0 0 20px;margin:0;place-items:center;align-self:center;border:var(--hairline-strong);border-radius:7px;background:var(--surface);box-shadow:none!important}
.community-privacy-toggle input::before,.community-comment-privacy input::before{content:"";width:9px;height:6px;border:solid var(--on-accent);border-width:0 0 2px 2px;transform:translateY(-1px) rotate(-45deg) scale(0);transition:transform var(--duration-micro) var(--ease-ios)}
.community-privacy-toggle input:checked,.community-comment-privacy input:checked{border-color:var(--accent);background:var(--accent)}
.community-privacy-toggle input:checked::before,.community-comment-privacy input:checked::before{transform:translateY(-1px) rotate(-45deg) scale(1)}
.community-privacy-toggle span{display:grid;min-width:0;gap:1px;line-height:1.35}
.community-privacy-toggle strong{color:var(--text-primary);font-size:14px}
.community-privacy-toggle small{color:var(--text-secondary);font-size:12px}
.community-comment-privacy{display:flex;min-height:42px;align-items:center;gap:var(--space-2);padding:0 var(--space-3);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-secondary);font-size:var(--text-sm);font-weight:650;line-height:1.35;cursor:pointer}
.community-image-picker{position:relative;grid-template-columns:1fr;cursor:pointer}
.community-image-picker input{position:absolute;inset:0;opacity:0;cursor:pointer}
.community-image-picker em{display:flex;min-height:44px;align-items:center;justify-content:center;gap:var(--space-2);border:var(--hairline-strong);border-radius:var(--radius-md);background:var(--surface-secondary);color:var(--text-secondary);font-style:normal;font-weight:650}
.community-image-picker em svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.community-image-picker:hover em{border-color:var(--accent-border);background:var(--accent-softer);color:var(--accent)}
.community-edit-image-fields{display:grid;gap:var(--space-3)}
.community-edit-image-fields[hidden]{display:none}
.community-image-preview{position:relative;display:grid;overflow:hidden;height:clamp(180px,38vh,360px);place-items:center;border:var(--hairline);border-radius:var(--radius-lg);background:var(--surface-tertiary)}
.community-image-preview[hidden]{display:none}
.community-image-preview img{display:block;width:100%;height:100%;object-fit:contain}
.community-image-preview button{position:absolute;top:10px;right:10px;display:grid;width:36px;height:36px;min-height:36px;place-items:center;padding:0;border:1px solid rgba(255,255,255,.38);border-radius:50%;background:rgba(20,22,26,.72);color:#fff;box-shadow:0 3px 12px rgba(0,0,0,.2);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.community-image-preview button:hover{background:rgba(20,22,26,.9)}
.community-image-preview button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.settings-stack{display:grid;gap:var(--space-8)}
.community-account-section{padding-bottom:var(--space-8);border-bottom:var(--hairline)}

@media(max-width:1180px){.community-shell{grid-template-columns:1fr}.community-detail{position:static}.community-detail-inner{height:auto;min-height:0;max-height:none}.community-detail-scroll{overflow:visible;scrollbar-gutter:auto}}
@media(max-width:980px){
  .community-admin-columns{display:none}
  .community-admin-user{grid-template-columns:minmax(180px,1fr) minmax(150px,auto);gap:var(--space-3)}
  .community-admin-identity{grid-column:1}
  .community-admin-activity{grid-column:2;justify-content:flex-end}
  .community-admin-user label{grid-column:span 1}
  .community-admin-actions{grid-column:1/-1}
}
@media(max-width:760px){
  .community-shell{display:block}
  .community-shell .community-detail{display:none}
  .community-shell.detail-open .community-board{display:none}
  .community-shell.detail-open .community-detail{display:block;animation:community-detail-in var(--duration-base) var(--ease-ios) both}
  .community-toolbar{align-items:center;flex-direction:row;margin-bottom:var(--space-3)}
  .community-toolbar button{width:auto;min-width:44px}
  .community-toolbar-actions{flex:0 0 auto}
  .community-notice-bar{min-height:46px;margin-bottom:var(--space-4);padding:0 var(--space-3);gap:7px}
  .community-notice-mark{width:26px;height:26px}
  .community-notice-bar strong,.community-notice-text{font-size:12px}
  .neighbor-menu-button{min-width:44px!important;padding:0 var(--space-3)}
  .community-post{grid-template-columns:minmax(0,1fr);align-items:stretch;padding:var(--space-4)}
  .community-post-open{grid-template-columns:minmax(0,1fr);min-height:0}
  .community-post-open:has(.community-post-thumb){grid-template-columns:minmax(0,1fr) 96px}
  .community-post.selected{background:transparent}
  .community-post-thumb{width:96px;height:72px;grid-column:2;grid-row:2}
  .community-reactions{justify-self:start;flex-wrap:wrap}
  .community-shell.detail-open .community-detail-inner{height:calc(100dvh - 88px - env(safe-area-inset-bottom));min-height:0;grid-template-rows:auto minmax(0,1fr) auto;gap:var(--space-2);overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}
  .community-detail-scroll{display:grid;min-height:0;gap:var(--space-3);overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:auto;scroll-padding:var(--space-3)}
  .community-mobile-detail-bar{position:relative;top:auto;z-index:4;display:flex;min-height:50px;align-items:center;justify-content:center;margin:0;border:var(--hairline);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-micro);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
  .community-mobile-detail-bar button{position:absolute;left:4px;display:grid;width:42px;min-height:42px;place-items:center;padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--accent)}
  .community-mobile-detail-bar button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .community-mobile-detail-bar svg{width:22px;height:22px;stroke:currentColor;stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
  .community-mobile-detail-bar strong{font-size:15px}
  .community-selected-post,.community-comments{padding:18px var(--space-4);border:var(--hairline);border-radius:var(--radius-md);background:var(--surface)}
  .community-selected-post h2{font-size:21px}
  .community-detail-actions{align-items:flex-start;flex-direction:column}
  .community-management-actions{width:100%;justify-content:flex-end}
  .community-detail-image{height:260px}
  .community-rich-content{gap:var(--space-3)}
  .community-content-image{width:calc(100% + var(--space-8));margin:0 calc(var(--space-4) * -1);border-right:0;border-left:0;border-radius:0}
  .community-content-image img{max-height:70vh}
  .community-content-video video{max-height:70vh;aspect-ratio:auto;min-height:210px}
  .community-comment-images{width:100%}
  .community-youtube-frame{border-radius:var(--radius-md)}
  .community-tenor-preview,.community-tenor-comment,.community-tenor-reply{width:100%}
  .community-tenor-frame video{max-height:260px}
  .community-image-preview{height:clamp(180px,34vh,300px)}
  .community-post-dialog,.community-edit-dialog{max-height:94vh}
  .community-post-dialog form,.community-edit-dialog form{max-height:94vh;overflow:auto;overscroll-behavior:contain}
  .community-block-editor{max-height:none;padding:var(--space-2)}
  .community-block-heading{align-items:start}
  .community-block-heading>div>span{max-width:220px}
  .community-block-toolbar>*{flex:1}
  .community-block-toolbar button,.community-block-toolbar label>span{width:100%}
  .community-editor-block>textarea{min-height:112px!important;font-size:16px!important}
  .community-account-card{align-items:flex-start;flex-direction:column}
  .community-account-card .community-account-actions{width:100%}
  .community-account-actions button{flex:1}
  .community-admin-dialog{width:calc(100% - 20px)}
  .neighbor-menu-dialog{width:100%;max-height:92vh}
  .neighbor-menu-page{gap:var(--space-3);padding:var(--space-3) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom))}
  .neighbor-menu-meta{align-items:flex-start;flex-direction:column;gap:var(--space-2)}
  .neighbor-menu-content figure{margin:0 calc(var(--space-4) * -1);border-right:0;border-left:0;border-radius:0}
  .neighbor-menu-content img{width:auto;max-width:100%;max-height:calc(92vh - 210px)}
  .community-admin-page{gap:var(--space-4);padding:var(--space-4)}
  .community-special-admin{padding:var(--space-3)}
  .community-special-admin-row{grid-template-columns:1fr;gap:var(--space-2)}
  .community-special-admin-actions{display:grid;grid-template-columns:1fr 1fr}
  .community-special-admin-actions button{width:100%}
  .community-notice-admin{padding:var(--space-3)}
  .community-notice-admin-controls{grid-template-columns:1fr}
  .community-notice-admin-controls button{width:100%}
  .community-notice-dialog{width:100%;max-height:88vh}
  .community-notice-dialog-page{padding:var(--space-4) var(--space-4) calc(var(--space-5) + env(safe-area-inset-bottom))}
  .community-admin-user{grid-template-columns:1fr;padding:var(--space-4) 0}
  .community-admin-identity,.community-admin-activity,.community-admin-user label,.community-admin-actions{grid-column:1}
  .community-admin-activity{justify-content:flex-start}
  .community-admin-user label>span{position:static;width:auto;height:auto;overflow:visible;clip:auto;color:var(--text-secondary);font-size:11px;white-space:normal}
  .community-admin-actions{display:grid;grid-template-columns:1fr 1fr}
  .community-admin-actions button{width:100%}
  .community-comment-form,.community-login{grid-template-columns:1fr}
  .community-comment-form{padding:11px 12px calc(11px + env(safe-area-inset-bottom));border:var(--hairline);border-radius:var(--radius-md);box-shadow:var(--shadow-soft)}
  .community-comment-form textarea{min-height:48px;max-height:96px}
  .community-comment-form:focus-within textarea{min-height:72px}
  .community-comment-form .community-attachment-list{display:flex;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
  .community-comment-form .community-attachment-list::-webkit-scrollbar{display:none}
  .community-comment-form .community-attachment-list figure{width:62px;min-width:62px}
  .community-comment-privacy{width:100%;justify-content:flex-start}
  .community-comment-controls{display:grid;grid-template-columns:auto 1fr 1fr}
  .community-comment-image-picker>span{padding:0 11px}
  .community-comment-image-picker em{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .community-comment-controls>button,.community-login button{width:100%}
  .community-replies{margin-left:var(--space-2);padding-left:var(--space-3)}
}
@keyframes community-detail-in{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
@keyframes community-admin-spin{to{transform:rotate(360deg)}}
@keyframes tenor-preview-pulse{from{opacity:.62}to{opacity:1}}
