/* ============================================================
   NEXORA · Screen / Community — Social Learning Network
   Premium, learning-first. Tokens only.
   ============================================================ */
.community-screen{ gap:clamp(1rem,1vw,1.4rem); animation: community-enter .42s var(--ease-out) both }
@keyframes community-enter{ from{opacity:0; transform:translateY(6px)} to{opacity:1; transform:none} }
html.nx-reduced-motion .community-screen{ animation:none }

/* ---------- Offline banner (theme tokens) ------------------ */
.community-offline{ display:flex; align-items:center; gap:.6rem; padding:.7rem 1rem; border-radius:var(--radius-md); background:var(--surface-2); color:var(--text-2); border:1px solid var(--border-strong); font-family:var(--font-mono); font-size:.75rem; font-weight:600 }
.community-offline .icon{ width:16px; height:16px; flex:none }

/* ---------- Header ------------------------------------------ */
.community-head{ align-items:center }
.community-head-copy{ min-width:0; flex:1 1 420px }
.community-head-meta{ display:flex; flex-wrap:wrap; gap:.6rem 1.1rem; margin-top:.85rem }
.community-head-meta .w-meta{ display:inline-flex; align-items:center; gap:.4rem; font-family:var(--font-mono); font-size:.72rem; color:var(--text-2) }
.community-head-meta .w-meta .icon{ width:14px; height:14px; color:var(--text-3); flex:none }

/* Notifications popover */
.c-notif-wrap{ position:relative }
.c-notif-panel{ position:absolute; top:calc(100% + .5rem); right:0; z-index:50; width:min(340px, calc(100vw - 2rem)); padding:1rem 1.1rem; border-radius:var(--radius-md); background:var(--bg-elevated); border:1px solid var(--border-strong); box-shadow:var(--shadow-lg); display:grid; gap:.7rem }
.c-notif-panel .panel-head{ margin-bottom:0 }
.c-notif-item{ display:flex; gap:.7rem; align-items:flex-start; padding:.6rem .65rem; border-radius:var(--radius-sm); background:var(--surface-2); border:1px solid var(--border) }
.c-notif-item .icon-tile{ width:34px; height:34px; flex:none }
.c-notif-item .row-body b{ font-size:.82rem }
.c-notif-item .row-body span{ font-size:.66rem }
.c-notif-empty{ padding:.8rem .4rem; text-align:center }

/* ---------- Trending banner (preserve #c-join) -------------- */
.trend-banner{ display:flex; align-items:center; gap:1rem; padding:1rem 1.25rem }
.trend-flame{ color:var(--text-1); border-color:transparent; background:var(--surface-2) }
.trend-body{ flex:1; min-width:0 }
.trend-body b{ display:block; font-family:var(--font-display); color:var(--text-1); margin-bottom:.2rem }
.trend-body .mono{ font-size:.7rem; color:var(--text-3) }
#c-join.is-joined{ pointer-events:none; color:var(--text-1) !important; background:var(--surface-2) !important }

/* ---------- People rows (preserve #c-people) ---------------- */
.person-row .avatar{ position:relative }
.person-status{ position:absolute; right:-1px; bottom:-1px; width:9px; height:9px; border-radius:50%; background:var(--success); border:2px solid var(--bg-elevated) }
.connect-btn.is-sent{ color:var(--text-1) !important; background:var(--surface-2) !important; pointer-events:none }

/* ---------- Search ------------------------------------------ */
.community-search-wrap{ display:grid; gap:.5rem }
.community-search{ display:flex; align-items:center; gap:.7rem; padding:.8rem 1.1rem; border-radius:var(--radius-md); background:var(--surface-inset); border:1px solid var(--border); box-shadow:var(--inset-well) }
.community-search:focus-within{ border-color:var(--accent-border); box-shadow:var(--focus-ring) }
.community-search > .icon{ color:var(--text-3); flex:none }
.community-search input{ flex:1; min-width:0; background:none; border:0; outline:none; font-size:.98rem; color:var(--text-1) }
.community-search input::placeholder{ color:var(--text-3) }
.community-search kbd{ font-family:var(--font-mono); font-size:.68rem; color:var(--text-3); padding:.15rem .45rem; border-radius:5px; background:var(--surface-2); border:1px solid var(--border) }
.community-results{ display:grid; gap:.35rem; padding:.5rem; border-radius:var(--radius-md); background:var(--bg-elevated); border:1px solid var(--border); box-shadow:var(--hi-top), var(--elev-3); max-height:360px; overflow:auto }
.community-results .hit{ display:flex; align-items:center; gap:.7rem; padding:.6rem .7rem; border-radius:var(--radius-sm); text-decoration:none; transition:background var(--dur-fast) }
.community-results .hit:hover{ background:var(--surface-2) }
.community-results .hit b{ display:block; font-family:var(--font-display); font-size:.9rem; color:var(--text-1) }
.community-results .hit span{ font-family:var(--font-mono); font-size:.66rem; color:var(--text-3) }

/* ---------- Categories -------------------------------------- */
.community-categories{ display:flex; gap:.5rem; overflow-x:auto; scrollbar-width:none; padding-bottom:.2rem }
.community-categories::-webkit-scrollbar{ display:none }
.cat-chip{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .9rem; border-radius:999px; font-family:var(--font-mono); font-size:.72rem; background:var(--surface-2); border:1px solid var(--border); color:var(--text-3); cursor:pointer; white-space:nowrap; min-height:40px }
.cat-chip.is-active{ background:var(--accent-soft); color:var(--accent-text); border-color:var(--accent-border) }

/* ---------- Discovery --------------------------------------- */
.community-discovery{ padding:1rem 1.1rem }
.discovery-scroll{ display:flex; gap:.6rem; overflow-x:auto; scrollbar-width:none; padding-bottom:.2rem }
.discovery-scroll::-webkit-scrollbar{ display:none }
.discovery-chip{ display:inline-flex; align-items:center; gap:.4rem; padding:.45rem .85rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); font-family:var(--font-mono); font-size:.72rem; color:var(--text-2); cursor:pointer; white-space:nowrap; min-height:40px }
.discovery-chip.is-followed{ background:var(--accent-soft); color:var(--accent-text); border-color:var(--accent-border) }

/* ---------- Composer ---------------------------------------- */
.community-composer{ padding:.9rem 1rem; display:grid; gap:.75rem }
.composer-entry{ display:flex; align-items:center; gap:.85rem; cursor:pointer }
.composer-placeholder{ flex:1; min-width:0; padding:.7rem .9rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); font-size:.9rem; color:var(--text-3) }
.composer-actions{ display:flex; gap:.4rem; flex-wrap:wrap }
.composer-chip{ display:inline-flex; align-items:center; gap:.35rem; padding:.4rem .7rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); font-family:var(--font-mono); font-size:.68rem; color:var(--text-2) }
.composer-types{ display:flex; gap:.5rem; flex-wrap:wrap; border-top:1px solid var(--border); padding-top:.75rem }
.composer-type{ display:inline-flex; align-items:center; gap:.4rem; padding:.5rem .85rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); font-family:var(--font-mono); font-size:.72rem; color:var(--text-2); cursor:pointer; min-height:40px; transition:transform var(--dur-fast) var(--ease-out), background var(--dur) var(--ease-out), color var(--dur-fast) var(--ease-out) }
.composer-type:hover{ background:var(--surface-3); color:var(--text-1); transform:translateY(-1px) }
.composer-type .icon{ width:15px; height:15px }

/* ---------- Layout ------------------------------------------ */
.community-layout{ display:grid; grid-template-columns: 1.65fr .95fr; gap:var(--content-gutter); align-items:start }
@media (max-width: 1120px){ .community-layout{ grid-template-columns:1fr } }
.community-feed{ min-width:0 }
.feed-stack{ display:grid; gap:.9rem }
.community-rail{ display:grid; gap:var(--content-gutter); align-content:start }

/* ---------- Post card --------------------------------------- */
.post-card{ display:grid; gap:.75rem; padding:1.1rem 1.15rem; border-radius:var(--radius-md); background:var(--bg-elevated); border:1px solid var(--border); box-shadow:var(--hi-top), var(--elev-1); animation:post-in .3s var(--ease-out) both }
@keyframes post-in{ from{opacity:0; transform:translateY(8px)} to{opacity:1; transform:none} }
html.nx-reduced-motion .post-card{ animation:none }
.post-card.is-highlight{ border-color:var(--border-strong) }
.post-card.is-achievement{ border-color:var(--border-strong); background:linear-gradient(var(--bg-elevated), var(--bg-elevated)) padding-box }
.post-head{ display:flex; align-items:center; gap:.75rem }
.post-head .avatar{ width:36px; height:36px; font-size:.85rem; flex:none }
.post-author{ flex:1; min-width:0 }
.post-author b{ display:flex; align-items:center; gap:.35rem; font-family:var(--font-display); font-size:.92rem; color:var(--text-1) }
.post-author b .icon{ width:.9em; height:.9em; color:var(--text-1) }
.post-author .post-badge{ display:inline-flex; align-items:center; gap:.2rem; font-family:var(--font-mono); font-size:.62rem; color:var(--text-2); border:1px solid var(--border-strong); border-radius:999px; padding:.05rem .4rem }
.post-author span{ display:block; font-family:var(--font-mono); font-size:.66rem; color:var(--text-3) }
.post-menu{ margin-left:auto; min-width:40px; min-height:40px }
.post-content{ font-size:.92rem; line-height:1.55; color:var(--text-1); white-space:pre-wrap; word-break:break-word }
.post-content .post-title{ display:block; font-family:var(--font-display); font-size:1.02rem; font-weight:600; color:var(--text-1); margin-bottom:.3rem }
.post-media{ border-radius:var(--radius-sm); overflow:hidden; border:1px solid var(--border) }
.post-media img{ display:block; width:100%; max-height:420px; object-fit:cover }
.post-topics{ display:flex; flex-wrap:wrap; gap:.4rem; align-items:center }
.post-topic{ font-family:var(--font-mono); font-size:.62rem; padding:.2rem .55rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); color:var(--text-3); text-decoration:none }
a.post-topic:hover{ color:var(--text-1); border-color:var(--border-strong) }
.post-tag{ font-family:var(--font-mono); font-size:.62rem; padding:.2rem .55rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); color:var(--text-3) }
.post-learning{ display:inline-flex; align-items:center; gap:.35rem; font-family:var(--font-mono); font-size:.68rem; color:var(--text-2); padding:.25rem .6rem; border-radius:999px; background:var(--surface-2); border:1px solid var(--border); text-decoration:none }
a.post-learning:hover{ color:var(--text-1); border-color:var(--border-strong) }
.post-visibility{ display:inline-flex; align-items:center; gap:.25rem; font-family:var(--font-mono); font-size:.62rem; color:var(--text-3) }

/* Poll */
.post-poll{ display:grid; gap:.4rem; margin-top:.2rem }
.poll-option{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; padding:.6rem .75rem; border-radius:var(--radius-sm); background:var(--surface-2); border:1px solid var(--border); font-size:.82rem; cursor:pointer; min-height:40px; transition:border-color var(--dur-fast), background var(--dur-fast) }
.poll-option:hover{ border-color:var(--border-strong) }
.poll-option.voted{ border-color:var(--accent-border); background:var(--accent-soft) }
.poll-option.is-winner{ border-color:var(--success-border) }
.poll-bar{ height:4px; border-radius:999px; background:var(--surface-3); overflow:hidden; margin-top:.25rem }
.poll-fill{ height:100%; background:var(--accent); transition:width .3s var(--ease-out) }

/* Engagement bar */
.post-actions{ display:flex; align-items:center; gap:.4rem; padding-top:.2rem; border-top:1px solid var(--border); margin-top:.2rem; flex-wrap:wrap }
.post-action{ display:inline-flex; align-items:center; gap:.35rem; padding:.45rem .6rem; border-radius:999px; font-family:var(--font-mono); font-size:.72rem; color:var(--text-2); cursor:pointer; border:1px solid transparent; background:none; min-height:40px; transition:background var(--dur-fast), color var(--dur-fast) }
.post-action.is-active{ background:var(--surface-2); border-color:var(--border); color:var(--text-1) }
.post-action:hover{ background:var(--surface-2) }
.post-action .icon{ width:16px; height:16px }
.post-action.is-liked .icon{ animation:heart-pop .3s var(--ease-spring) }
@keyframes heart-pop{ 0%{transform:scale(1)} 40%{transform:scale(1.3)} 100%{transform:scale(1)} }
html.nx-reduced-motion .post-action.is-liked .icon{ animation:none }
.post-action.is-saved .icon{ transform:translateY(-1px) }
.post-actions .spacer{ flex:1 }

/* Comments */
.post-comments{ display:grid; gap:.5rem; margin-top:.4rem; padding-top:.6rem; border-top:1px solid var(--border) }
.comment{ display:flex; gap:.6rem; align-items:flex-start }
.comment .avatar{ width:28px; height:28px; font-size:.7rem; flex:none }
.comment-body{ flex:1; min-width:0; background:var(--surface-2); border:1px solid var(--border); border-radius:var(--radius-md); padding:.55rem .7rem }
.comment-body.is-accepted{ border-color:var(--text-1) }
.comment-body b{ font-size:.82rem; color:var(--text-1) }
.comment-body p{ font-size:.82rem; color:var(--text-2); margin-top:.15rem; white-space:pre-wrap; word-break:break-word }
.comment-body .comment-edited{ font-family:var(--font-mono); font-size:.62rem; color:var(--text-3) }
.comment-actions{ display:flex; gap:.6rem; margin-top:.35rem; font-family:var(--font-mono); font-size:.68rem; color:var(--text-3); align-items:center; flex-wrap:wrap }
.comment-actions button{ background:none; border:0; padding:.2rem .3rem; border-radius:6px; font-family:var(--font-mono); font-size:.68rem; color:var(--text-3); cursor:pointer; min-height:32px }
.comment-actions button:hover{ color:var(--text-1) }
.comment-replies{ display:grid; gap:.5rem; margin:.45rem 0 0 .55rem; padding-left:.8rem; border-left:1px solid var(--border) }
.comment-input{ display:flex; gap:.5rem; align-items:center; margin-top:.4rem }
.comment-input input{ flex:1; padding:.55rem .75rem; border-radius:999px; border:1px solid var(--border); background:var(--bg-elevated); color:var(--text-1); outline:none }
.comment-input input:focus{ border-color:var(--accent-border); box-shadow:var(--focus-ring) }
.comment-sort{ display:flex; gap:.5rem; align-items:center; justify-content:flex-end; font-family:var(--font-mono); font-size:.68rem; color:var(--text-3) }

/* Empty / error / skeleton */
.empty-state{ display:grid; place-items:center; text-align:center; gap:.4rem; padding:2rem 1rem; border-radius:var(--radius-md); background:var(--surface-2); border:1px dashed var(--border-strong) }
.empty-state p{ font-size:.9rem; font-weight:600; color:var(--text-1) }
.empty-state span{ font-size:.78rem; color:var(--text-3); max-width:28ch; line-height:1.5 }
.empty-state .btn{ margin-top:.5rem }
.feed-error{ display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.8rem 1rem; border-radius:var(--radius-md); background:var(--surface-2); border:1px solid var(--border-strong); font-family:var(--font-mono); font-size:.74rem; color:var(--text-2) }
.feed-skeleton{ display:grid; gap:.9rem }
.skeleton{ position:relative; overflow:hidden; background:var(--surface-2); border-radius:var(--radius-md); min-height:18px }
.skeleton::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255,255,255,.42), transparent); transform:translateX(-100%); animation:shimmer 1.15s infinite }
[data-theme="dark"] .skeleton::after{ background:linear-gradient(90deg, transparent, rgba(255,255,255,.06), transparent) }
@keyframes shimmer{ 100%{ transform:translateX(100%) } }
html.nx-reduced-motion .skeleton::after{ animation:none }

/* ---------- Create Post — Floating Dock (portal to body, z-index above shell) ----------- */
.community-drawer-backdrop{ position:fixed; inset:0; z-index:300; background:color-mix(in srgb, var(--n-1000) 42%, transparent); backdrop-filter:none; -webkit-backdrop-filter:none; opacity:0; visibility:hidden; transition:opacity .18s var(--ease-out), visibility .18s }
.community-drawer-backdrop:not([hidden]){ opacity:1; visibility:visible }
.community-drawer-backdrop[hidden]{ display:block !important; pointer-events:none }
[data-theme="dark"] .community-drawer-backdrop{ background:rgba(0,0,0,.58) }
[data-theme="dark"] .community-drawer-backdrop:not([hidden]){ background:rgba(0,0,0,.66) }
.community-drawer{ position:fixed; top:calc(var(--tb-top) + var(--tb-h) + 16px); right:20px; width:min(440px, calc(100vw - 32px)); height:min(640px, calc(100dvh - var(--tb-top) - var(--tb-h) - 32px)); min-height:420px; max-height:calc(100dvh - var(--tb-top) - var(--tb-h) - 32px); background:var(--bg-elevated); border:1px solid var(--border-strong); border-radius:20px; box-shadow:var(--hi-top), var(--elev-3); z-index:301; display:flex; flex-direction:column; overflow:hidden; transform:translate3d(10px,-8px,0) scale(.97); opacity:0; visibility:hidden; transition:transform .24s cubic-bezier(.2,.8,.2,1), opacity .18s var(--ease-out), visibility .24s; will-change:transform, opacity }
.community-drawer:not([hidden]){ transform:none; opacity:1; visibility:visible }
.community-drawer[hidden]{ display:flex !important; pointer-events:none }
[data-theme="light"] .community-drawer{ background:var(--bg-elevated); border-color:var(--border-strong) }
[data-theme="dark"] .community-drawer{ background:var(--bg-elevated); border-color:rgba(255,255,255,.10) }
html.nx-reduced-motion .community-drawer{ transition:none }
.community-drawer-head{ display:flex; align-items:center; justify-content:space-between; gap:.8rem; padding:.95rem 1rem .9rem 1.1rem; border-bottom:1px solid var(--border); background:var(--bg-elevated); flex:none; border-radius:20px 20px 0 0 }
.community-drawer-head h3{ font-family:var(--font-display); font-size:1.02rem; font-weight:700; color:var(--text-1); line-height:1.2 }
.community-drawer-head #c-drawer-close{ display:grid; place-items:center; width:31px; height:31px; border-radius:9px; color:var(--text-3); transition:background .16s var(--ease-out), color .16s var(--ease-out), transform .16s var(--ease-out) }
.community-drawer-head #c-drawer-close:hover{ background:var(--surface-2); color:var(--text-1); transform:translateY(-1px) }
.community-drawer-body{ flex:1; overflow:auto; padding:1rem 1.1rem 1.1rem; display:grid; gap:.95rem; align-content:start; scrollbar-width:none; background:var(--bg-elevated) }
.community-drawer-body textarea{ width:100%; padding:.85rem .9rem; border-radius:16px; border:1px solid color-mix(in srgb, var(--border) 86%, transparent); background:color-mix(in srgb, var(--bg-page) 86%, var(--bg-elevated) 14%); color:var(--text-1); resize:vertical; min-height:118px; font-size:.92rem; font-family:var(--font-body); line-height:1.6; box-shadow:var(--inset-well); transition:border-color .17s var(--ease-out), box-shadow .17s var(--ease-out), background .17s var(--ease-out) }
.community-drawer-body textarea:focus{ outline:none; border-color:var(--accent-border); box-shadow:var(--focus-ring) }
.community-drawer-body textarea::placeholder{ color:var(--text-3) }
.community-drawer-body .field{ display:grid; gap:.45rem }
.community-drawer-body .field-label{ font-family:var(--font-mono); font-size:.62rem; letter-spacing:.06em; text-transform:uppercase; color:var(--text-3) }
.community-drawer-body .input{ width:100%; padding:.65rem .8rem; border-radius:12px; border:1px solid var(--border); background:var(--bg-elevated); color:var(--text-1); font-size:.88rem; font-family:var(--font-body); outline:none; transition:border-color .16s var(--ease-out), box-shadow .16s var(--ease-out) }
.community-drawer-body .input:focus{ border-color:var(--accent-border); box-shadow:var(--focus-ring) }
.community-drawer-body .chip-row{ display:flex; flex-wrap:wrap; gap:.4rem }
.community-drawer-body .chip{ display:inline-flex; align-items:center; gap:.3rem; padding:.42rem .72rem; border-radius:999px; background:color-mix(in srgb, var(--surface-2) 80%, transparent); border:1px solid color-mix(in srgb, var(--border) 75%, transparent); font-family:var(--font-mono); font-size:.68rem; color:var(--text-2); cursor:pointer; min-height:32px; transition:background .16s var(--ease-out), color .16s var(--ease-out), border-color .16s var(--ease-out), transform .16s var(--ease-out) }
.community-drawer-body .chip:hover{ transform:translateY(-1px); border-color:var(--border-strong) }
.community-drawer-body .chip.is-active{ background:var(--accent-soft); color:var(--accent-text); border-color:var(--accent-border); box-shadow:var(--elev-2-hover) }
.c-attach{ display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; padding-top:.1rem }
.c-attach .btn{ border-radius:999px }
.c-image-preview{ position:relative; border-radius:16px; overflow:hidden; border:1px solid color-mix(in srgb, var(--border) 80%, transparent); box-shadow:var(--elev-1) }
.c-image-preview img{ display:block; width:100%; max-height:220px; object-fit:cover }
.c-image-preview button{ position:absolute; top:.5rem; right:.5rem; background:var(--bg-elevated); border:1px solid var(--border); border-radius:999px; box-shadow:var(--shadow-sm) }
.community-drawer-body .u-flex.u-sb.u-ac{ position:sticky; bottom:-1.1rem; margin:0 -1.1rem -1.1rem; padding:.85rem 1.1rem; background:var(--bg-elevated); border-top:1px solid var(--border); border-radius:0 0 20px 20px; z-index:1 }
.community-drawer-body .u-flex.u-sb.u-ac #c-drawer-submit{ border-radius:999px; padding:.6rem 1.1rem; font-weight:650; box-shadow:var(--elev-2) }
.community-drawer-body .u-flex.u-sb.u-ac #c-drawer-count{ font-weight:600 }
@media (max-width:767px){ .community-drawer{ top:auto; right:10px; left:10px; bottom:10px; width:auto; height:min(78dvh,640px); min-height:0; transform:translate3d(0,16px,0) scale(.985) } .community-drawer:not([hidden]){ transform:none } .community-drawer-body{ padding:1rem .95rem 1rem } }
@media (max-width:420px){ .community-drawer{ right:6px; left:6px; bottom:6px; height:min(84dvh,640px) } .community-drawer-head{ padding:.85rem .9rem .8rem } .community-drawer-body{ padding:.9rem .9rem 1rem } }

/* ---------- Bottom sheets (menu / report) ------------------- */
.community-sheet-backdrop{ position:fixed; inset:0; background:rgba(0,0,0,.32); backdrop-filter:blur(2px); z-index:46 }
.community-sheet{ position:fixed; left:50%; bottom:0; transform:translateX(-50%); width:min(420px,100vw); max-height:80vh; overflow:auto; background:var(--bg-elevated); border:1px solid var(--border-strong); border-bottom:0; border-radius:var(--radius-lg) var(--radius-lg) 0 0; box-shadow:var(--hi-top), var(--elev-3); z-index:47; display:grid; gap:.4rem; padding:.9rem; animation:sheet-in .26s var(--ease-out) both }
@keyframes sheet-in{ from{transform:translate(-50%,100%)} to{transform:translate(-50%,0)} }
html.nx-reduced-motion .community-sheet{ animation:none }
.community-sheet-menu .sheet-item{ display:flex; align-items:center; gap:.75rem; width:100%; padding:.75rem .85rem; border-radius:var(--radius-sm); background:none; border:0; font-family:var(--font-body); font-size:.9rem; color:var(--text-1); cursor:pointer; text-align:left; min-height:44px }
.community-sheet-menu .sheet-item:hover{ background:var(--surface-2) }
.community-sheet-menu .sheet-item.danger{ color:var(--danger) }
.community-sheet-menu .sheet-item .icon{ width:18px; height:18px; color:var(--text-3) }
.community-sheet-menu .sheet-item.danger .icon{ color:var(--danger) }
.community-sheet .community-drawer-head{ padding:.5rem .4rem .7rem }
.c-report-reasons{ display:grid; gap:.4rem }
.c-report-reason{ display:flex; align-items:center; gap:.6rem; padding:.6rem .7rem; border-radius:var(--radius-sm); background:var(--surface-2); border:1px solid var(--border); cursor:pointer; font-size:.86rem; color:var(--text-1); min-height:44px }
.c-report-reason:hover{ border-color:var(--border-strong) }
.c-report-reason input{ accent-color:var(--text-1) }

/* ---------- Profile preview --------------------------------- */
.profile-preview{ position:fixed; width:280px; padding:1rem; border-radius:var(--radius-md); background:var(--bg-elevated); border:1px solid var(--border-strong); box-shadow:var(--shadow-lg); z-index:45; display:grid; gap:.6rem }
.profile-preview .pp-head{ display:flex; align-items:center; gap:.7rem }
.profile-preview .pp-head b{ font-size:.95rem; color:var(--text-1) }

/* ---------- Muted authors + author avatar button ------------- */
.post-card.is-muted{ opacity:.6 }
.post-card.is-muted:hover{ opacity:.85 }
.post-head .avatar.c-author{ padding:0; cursor:pointer; appearance:none; -webkit-appearance:none; background:var(--n-900); color:var(--n-0) }
.post-head .avatar.c-author:focus-visible{ outline:2px solid var(--focus); outline-offset:2px }

/* ---------- Toast -------------------------------------------- */
.c-toast{ position:fixed; left:50%; bottom:calc(1.25rem + env(safe-area-inset-bottom)); transform:translate(-50%, 20px); z-index:120; max-width:min(88vw, 420px); padding:.7rem 1.1rem; border-radius:var(--radius-full); background:var(--text-1); color:var(--bg-elevated); font-family:var(--font-mono); font-size:.78rem; font-weight:600; box-shadow:var(--shadow-lg); opacity:0; pointer-events:none; transition:opacity var(--dur) var(--ease-out), transform var(--dur) var(--ease-out) }
.c-toast.is-show{ opacity:1; transform:translate(-50%, 0) }
html.nx-reduced-motion .c-toast{ transition:none }

/* ---------- Focus + motion ---------------------------------- */
:focus-visible{ outline:2px solid var(--focus); outline-offset:2px; border-radius:4px }

/* ---------- Responsive -------------------------------------- */
@media (max-width:1120px){ .trend-banner{ flex-wrap:wrap } }
@media (max-width:767px){
  .composer-actions{ display:none }
  .community-head-meta{ gap:.5rem .8rem }
  .c-notif-panel{ position:fixed; top:calc(var(--tb-top) + var(--tb-h) + .6rem); right:var(--tb-side); left:var(--tb-side); width:auto }
}
