body[data-page="forum"] { background: #101729; }
body[data-page="forum"] [hidden] { display: none !important; }
.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; }
.forum-shell { min-height: 80vh; padding-bottom: 100px; }
.forum-shell .container { width: min(1440px, calc(100% - 48px)); }
.forum-hero { position: relative; display:flex; justify-content:space-between; align-items:center; gap:35px; margin-top:32px; margin-bottom:28px; min-height:218px; padding:36px 46px; border:1px solid rgba(128,243,237,.2); border-radius:22px; overflow:hidden; background: radial-gradient(450px 260px at 80% 45%,rgba(109,81,212,.45),transparent 75%),radial-gradient(530px 280px at 15% 100%,rgba(30,189,184,.2),transparent 80%),linear-gradient(115deg,#1b2a49,#252a5d); }
.forum-hero::after { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:35px 35px; pointer-events:none; }
.forum-hero > * { position:relative; z-index:1; }
.forum-kicker { color:#80f3ed; font-size:11px; font-weight:800; letter-spacing:.2em; }
.forum-hero h1 { max-width:800px; font-size:clamp(32px,3.3vw,54px); letter-spacing:-.05em; line-height:1.04; margin:10px 0 16px; }
.forum-hero h1 em { font-style:normal; color:#80f3ed; }
.forum-hero p { color:#c8d4e4; max-width:620px; margin:0; }
.forum-hero-art { min-width:190px; height:155px; border:1px solid rgba(139,236,237,.25); border-radius:25px; display:grid; place-items:center; transform:rotate(8deg); background:linear-gradient(135deg,rgba(33,57,92,.7),rgba(69,51,118,.65)); box-shadow:0 25px 55px rgba(0,0,0,.25); }
.forum-hero-art span { font-family:var(--font-head); font-size:63px; font-weight:800; color:#84f3ed; line-height:1; text-shadow:0 0 22px rgba(128,243,237,.36); }
.forum-hero-art i { position:absolute; top:13px; right:18px; color:#d0a3ff; font-size:22px; font-style:normal; }
.forum-hero-art b { position:absolute; bottom:15px; letter-spacing:.19em; font-size:9px; color:#dce6f6; }
.forum-layout { display:grid; grid-template-columns:225px minmax(0,1fr) 270px; align-items:start; gap:22px; }
.forum-left, .forum-info-card, .forum-rules { border:1px solid rgba(230,244,255,.1); background:#171f35; border-radius:16px; }
.forum-left { position:sticky; top:82px; padding:21px 12px; }
.forum-side-head { padding:0 13px 13px; color:#9cacc6; font-size:10px; font-weight:800; letter-spacing:.18em; }
.forum-communities { display:grid; gap:3px; }
.forum-community-link { width:100%; display:block; border:0; background:transparent; color:#bdc9db; text-align:left; padding:11px 13px; border-radius:10px; font:600 13px var(--font-body); cursor:pointer; }
.forum-community-link:hover, .forum-community-link.active { color:#f7fbff; background:rgba(127,239,232,.1); }
.forum-community-link.active { box-shadow:inset 3px 0 var(--community-color,#80f3ed); }
.forum-side-divider { height:1px; background:rgba(255,255,255,.09); margin:18px 11px; }
.forum-side-link { display:flex; justify-content:space-between; color:#a7b6ca; padding:9px 13px; font-size:12px; }
.forum-side-link:hover { color:#80f3ed; }
.forum-toolbar { display:flex; justify-content:space-between; align-items:end; gap:16px; margin:3px 0 19px; }
.forum-toolbar h2 { margin-top:5px; font-size:clamp(23px,2vw,30px); letter-spacing:-.04em; }
.forum-search { height:48px; display:flex; align-items:center; gap:10px; background:#1b2640; border:1px solid rgba(230,244,255,.12); border-radius:12px; padding:0 6px 0 17px; }
.forum-search > span { color:#80f3ed; font-size:27px; line-height:1; }
.forum-search input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:#fff; font:14px var(--font-body); }
.forum-search input::placeholder { color:#899bb7; }
.forum-search button { border:0; padding:9px 13px; color:#0b2630; background:#80f3ed; border-radius:8px; font-weight:800; cursor:pointer; }
.forum-filters { display:flex; gap:6px; margin:17px 0; }
.forum-filters button { border:1px solid transparent; border-radius:9px; padding:8px 13px; background:transparent; color:#a9bad1; font:700 12px var(--font-body); cursor:pointer; }
.forum-filters button:hover, .forum-filters button.active { color:#8ef5ed; background:rgba(128,243,237,.1); border-color:rgba(128,243,237,.2); }
.forum-posts { display:grid; gap:10px; }
.forum-post-card { display:grid; grid-template-columns:42px minmax(0,1fr); gap:15px; border:1px solid rgba(230,244,255,.1); border-radius:16px; background:#182139; padding:20px 24px 18px 16px; }
.forum-post-card:hover { border-color:rgba(128,243,237,.23); }
.forum-votes { align-self:start; display:flex; flex-direction:column; align-items:center; gap:3px; min-width:36px; padding:4px 2px; background:#111a2d; border-radius:11px; }
.forum-votes strong { font-size:13px; }
.forum-vote { border:0; background:transparent; color:#96a7c1; font-size:12px; line-height:1; padding:7px; cursor:pointer; }
.forum-vote:hover,.forum-vote.selected { color:#80f3ed; }
.forum-post-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px; min-height:27px; color:#95a8c2; font-size:11px; }
.forum-community-pill { display:inline-flex; align-items:center; gap:5px; color:var(--community-color); font-weight:800; }
.forum-community-pill span { font-size:15px; }
.forum-author { display:inline-flex; align-items:center; gap:6px; color:#dbe4f0; }
.forum-avatar { width:20px; height:20px; border-radius:50%; background:#31456a; color:#dff; display:inline-grid; place-items:center; font-size:10px; font-weight:800; overflow:hidden; }
.forum-avatar img { width:100%; height:100%; object-fit:cover; }
.forum-staff { color:#80f3ed; font-size:9px; border:1px solid rgba(128,243,237,.35); padding:1px 4px; border-radius:4px; }
.forum-pin { color:#89ecda; font-weight:700; }
.forum-post-title { display:block; width:100%; text-align:left; border:0; background:transparent; padding:0; margin:9px 0; color:#f8fbff; font:700 clamp(17px,1.55vw,21px) var(--font-head); cursor:pointer; }
.forum-post-title:hover { color:#80f3ed; }
.forum-post-detail h1 { margin:10px 0; font-size:clamp(23px,2.3vw,32px); }
.forum-game { display:inline-block; color:#b7d9ff; background:rgba(93,144,234,.13); border:1px solid rgba(93,144,234,.22); border-radius:6px; padding:3px 7px; font-size:11px; margin-bottom:10px; }
.forum-post-body { color:#bdcadd; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.6; margin:4px 0 12px; font-size:13px; }
.forum-post-detail .forum-post-body { color:#e2eaf5; font-size:14px; margin:17px 0 25px; }
.forum-post-actions,.forum-comment-actions { display:flex; align-items:center; flex-wrap:wrap; gap:4px; border-top:1px solid rgba(255,255,255,.06); padding-top:9px; }
.forum-action { border:0; border-radius:7px; padding:7px 9px; background:transparent; color:#9aacc5; font:600 11px var(--font-body); cursor:pointer; }
.forum-action:hover { background:rgba(128,243,237,.1); color:#80f3ed; }
.forum-action.forum-danger:hover { color:#ff929f; background:rgba(255,90,100,.1); }
.forum-right { display:grid; gap:14px; position:sticky; top:82px; }
.forum-info-card,.forum-rules { padding:21px; }
.forum-info-icon { display:grid; place-items:center; width:39px; height:39px; background:#284d62; color:#88f7ec; border-radius:12px; margin-bottom:18px; font-size:23px; }
.forum-info-card h3 { font-size:19px; margin-bottom:9px; }
.forum-info-card p,.forum-rules li { color:#aab9cf; font-size:12px; line-height:1.65; }
.forum-info-stats { display:flex; gap:28px; margin:20px 0; padding:15px 0; border-top:1px solid rgba(255,255,255,.07); border-bottom:1px solid rgba(255,255,255,.07); }
.forum-info-stats div { display:grid; gap:0; }
.forum-info-stats strong { font-size:19px; color:#8ff4ef; }
.forum-info-stats span { color:#9eb0c8; font-size:10px; }
.forum-info-card .btn { width:100%; }
.forum-rules ol { padding-left:18px; margin:15px 0 0; }
.forum-rules li { margin-bottom:10px; }
.forum-feedback { padding:12px 15px; border:1px solid rgba(128,243,237,.3); border-radius:9px; color:#a8fff4; background:rgba(128,243,237,.08); font-size:12px; margin:10px 0; }
.forum-feedback.error { border-color:rgba(255,100,120,.35); background:rgba(255,100,120,.08); color:#ffb3bc; }
.forum-loading,.forum-empty { min-height:230px; border:1px dashed rgba(230,244,255,.18); border-radius:15px; display:grid; align-content:center; justify-items:center; gap:7px; color:#9fb2ce; text-align:center; padding:24px; }
.forum-empty span { color:#80f3ed; font-size:30px; }.forum-empty h3 { font-size:20px; color:#f5f9ff; }.forum-empty p { font-size:13px; }
.forum-pagination { display:flex; align-items:center; justify-content:center; gap:16px; margin:25px 0; color:#9eb0c7; font-size:12px; }.forum-pagination .btn { padding:8px 12px; }
.forum-back { border:0; background:transparent; color:#8df0e9; text-align:left; cursor:pointer; padding:0 0 15px; font-weight:800; }
.forum-discussion { border:1px solid rgba(230,244,255,.1); border-radius:16px; background:#182139; padding:24px; }.forum-discussion h2 { font-size:20px; margin-bottom:20px; }
.forum-comment-form { margin:14px 0 25px; }.forum-comment-form textarea { display:block; width:100%; resize:vertical; border:1px solid rgba(230,244,255,.15); border-radius:10px; padding:13px; background:#111b30; color:#f6fbff; font:13px var(--font-body); }.forum-comment-form-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:9px; }
.forum-muted { color:#8fa3bd; font-size:11px; }.forum-comment { border-top:1px solid rgba(255,255,255,.09); padding:18px 0 5px; }.forum-reply { margin-left:28px; padding-left:18px; border-left:2px solid rgba(128,243,237,.17); }.forum-comment-meta { display:flex; align-items:center; gap:8px; color:#9eb0ca; font-size:11px; }.forum-comment-body { white-space:pre-wrap; overflow-wrap:anywhere; color:#d7e2f0; font-size:13px; margin:9px 0; }.forum-comment-actions { border:0; padding:0; }.forum-comment-actions .forum-votes { flex-direction:row; min-width:0; }.forum-comment-actions .forum-votes strong { font-size:11px; }
.forum-dialog { width:min(620px,calc(100% - 24px)); max-height:calc(100vh - 32px); overflow:auto; border:1px solid rgba(128,243,237,.28); border-radius:18px; background:#1b2540; color:#f5f8ff; box-shadow:0 40px 120px rgba(0,0,0,.65); padding:27px; }.forum-dialog::backdrop { background:rgba(4,9,19,.82); backdrop-filter:blur(5px); }.forum-dialog-head { display:flex; align-items:start; justify-content:space-between; gap:15px; margin-bottom:22px; }.forum-dialog-head h2 { font-size:26px; margin-top:7px; }.forum-dialog-head button { color:#adc0d8; border:0; background:transparent; font-size:27px; cursor:pointer; }.forum-dialog label { display:grid; gap:7px; margin:13px 0; font-size:12px; font-weight:700; }.forum-dialog label small { color:#95a8bf; font-weight:400; }.forum-dialog input,.forum-dialog textarea,.forum-dialog select { width:100%; border:1px solid rgba(230,244,255,.16); border-radius:9px; padding:11px 12px; background:#111a2d; color:#f6fbff; font:13px var(--font-body); }.forum-dialog textarea { resize:vertical; }.forum-dialog input:focus,.forum-dialog textarea:focus,.forum-dialog select:focus { outline:2px solid rgba(128,243,237,.45); }.forum-dialog-actions { display:flex; justify-content:end; gap:9px; margin-top:19px; }
.forum-report-item { padding:12px 0; border-top:1px solid rgba(255,255,255,.1); font-size:11px; }.forum-report-item p { overflow-wrap:anywhere; color:#bdcadb; }
@media (max-width:1100px) { .forum-layout { grid-template-columns:190px minmax(0,1fr); }.forum-right { position:static; grid-column:2; grid-template-columns:repeat(2,minmax(0,1fr)); }.forum-right #forum-moderation { grid-column:1/-1; } }
@media (max-width:720px) { .forum-shell .container { width:calc(100% - 24px); }.forum-hero { margin-top:12px; padding:27px; min-height:180px; }.forum-hero-art { display:none; }.forum-layout { display:block; }.forum-left { position:static; border:0; background:transparent; padding:0; margin-bottom:21px; }.forum-side-head,.forum-side-divider,.forum-side-link { display:none; }.forum-communities { display:flex; overflow:auto; gap:7px; padding:3px 0 8px; }.forum-community-link { width:auto; flex:none; border:1px solid rgba(255,255,255,.12); background:#1a2742; white-space:nowrap; padding:8px 11px; }.forum-toolbar { align-items:center; }.forum-toolbar .btn { padding:9px 10px; font-size:10px; }.forum-post-card { grid-template-columns:32px minmax(0,1fr); gap:10px; padding:14px 12px 13px 8px; }.forum-post-meta { gap:5px; }.forum-post-actions .forum-action { font-size:10px; padding:6px; }.forum-discussion { padding:16px; }.forum-reply { margin-left:12px; padding-left:10px; } }
@media (max-width:720px) { .forum-right { grid-template-columns:1fr; margin-top:22px; } }

/* banner com a identidade do Nexo */
.forum-hero { background: radial-gradient(circle at 82% 45%, rgba(65, 215, 255, .30), transparent 42%), radial-gradient(circle at 12% 0%, rgba(113, 84, 255, .22), transparent 45%), linear-gradient(135deg, #14233f, #1f1b4a 70%); border-color: rgba(103, 232, 255, .38); }
.forum-hero-art { position: relative; transform: none; border: 0; background: none; box-shadow: none; min-width: 250px; height: 230px; display: flex; align-items: center; justify-content: center; flex-direction: column; }
.forum-hero-art::before { content: ""; position: absolute; width: 230px; height: 230px; border-radius: 50%; background: radial-gradient(circle, rgba(88, 224, 255, .38), rgba(120, 90, 255, .12) 55%, transparent 70%); filter: blur(4px); }
.forum-hero-art img { position: relative; width: 190px; height: auto; filter: drop-shadow(0 18px 28px rgba(60, 200, 255, .35)); animation: forum-nexo-float 5s ease-in-out infinite; }
.forum-hero-art b { position: static; margin-top: 8px; letter-spacing: .16em; font-size: 9.5px; color: #bfeaff; }
.forum-hero-art .forum-nexo-bubble { position: absolute; top: 4px; right: 0; z-index: 2; padding: 7px 13px; border-radius: 14px 14px 14px 3px; background: rgba(12, 22, 44, .88); border: 1px solid rgba(103, 232, 255, .55); color: #e8fbff; font-size: 12.5px; font-weight: 700; box-shadow: 0 8px 20px rgba(0, 0, 0, .3); font-family: inherit; text-shadow: none; line-height: 1.2; letter-spacing: 0; }
@keyframes forum-nexo-float { 0%, 100% { transform: translateY(0) rotate(-2deg); } 50% { transform: translateY(-9px) rotate(2deg); } }
@media (prefers-reduced-motion: reduce) { .forum-hero-art img { animation: none; } }
@media (max-width: 720px) { .forum-hero-art { display: flex; min-width: 0; height: 150px; order: -1; } .forum-hero-art img { width: 120px; } .forum-hero-art::before { width: 150px; height: 150px; } .forum-hero { flex-direction: column; align-items: flex-start; gap: 8px; } }
