:root{--bg:#2338d6;--ink:#0b1550;--ok:#10b15f;--bad:#ff3b5c;--hl:#ffe14a;--mut:#5b648f}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 'Rubik',system-ui,sans-serif}
.wrap{max-width:1080px;margin:0 auto;padding:28px 20px 90px}
header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;color:#fff;margin-bottom:28px}
h1{font:400 clamp(30px,6.2vw,62px)/1 'Russo One',Impact,sans-serif;margin:0 0 12px;letter-spacing:-.5px;display:flex;align-items:center;gap:clamp(10px,2vw,18px);text-shadow:3px 3px 0 var(--ink)}
h1 em{font-style:normal;color:var(--hl)}
h1 .logo{width:clamp(64px,11vw,112px);height:auto;flex:none;filter:drop-shadow(4px 4px 0 var(--ink));animation:float 4s ease-in-out infinite}
@keyframes float{50%{transform:translateY(-5px) rotate(-2deg)}}
@media(prefers-reduced-motion:reduce){h1 .logo{animation:none}}
.sub{margin:0;max-width:44ch;font-size:18px}
button,input,select,textarea{font:inherit;color:var(--ink)}
button{cursor:pointer}
:focus-visible{outline:3px solid var(--bad);outline-offset:2px}
.chip{background:#fff;border:3px solid var(--ink);border-radius:99px;padding:8px 18px;font-weight:800}
.views,.regs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:22px}
.tab{background:transparent;color:#fff;border:3px solid #fff;border-radius:10px;padding:8px 18px;font-weight:800}
.tab.on{background:var(--hl);color:var(--ink);border-color:var(--ink);box-shadow:4px 4px 0 var(--ink)}
.regs .tab{padding:5px 14px;font-weight:600;font-size:15px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:26px}
.card,.panel,.rec,dialog{background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--hl)}
.card{padding:20px}
.region{display:inline-block;background:var(--ink);color:#fff;border-radius:99px;padding:1px 12px;font-size:14px;font-weight:600}
.card h3{font:400 28px/1.1 'Russo One',Impact,sans-serif;margin:0 0 16px}
.game{margin:0 0 16px;color:var(--mut)}
.nums{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0 2px}
.pct{font:400 clamp(34px,7vw,46px)/1 'Russo One',Impact,sans-serif}
.pct small{font:600 15px 'Rubik',sans-serif;margin-left:6px}
.tot{font-weight:800}
.det{margin:0 0 16px;color:var(--mut);font-size:14px}
.votes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.v{background:#fff;border:3px solid var(--ink);border-radius:10px;padding:9px;font-weight:800}
.v.up.on{background:var(--ok);color:#fff}
.v.down.on{background:var(--bad);color:#fff}
.v:hover{background:var(--hl)}
.link{display:block;margin-top:14px;background:none;border:0;padding:0;color:var(--bad);font-weight:800;text-decoration:underline}
.cols{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:28px;align-items:start}
@media(max-width:820px){.cols{grid-template-columns:1fr}}
.panel{padding:22px}
h2{font:400 22px/1.1 'Russo One',Impact,sans-serif;margin:0 0 14px}
label{display:block;font-weight:600;margin-bottom:12px}
input,select,textarea{display:block;width:100%;margin-top:4px;padding:10px;border:3px solid var(--ink);border-radius:10px;background:#fff}
textarea{resize:vertical}
.go{background:var(--bad);color:#fff;border:3px solid var(--ink);border-radius:10px;padding:10px 18px;font-weight:800;box-shadow:3px 3px 0 var(--ink)}
.go:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}
.ghost{background:none;border:3px solid var(--ink);border-radius:10px;padding:10px 18px;font-weight:800}
.filter{color:#fff}
.filter select{max-width:340px}
.rec{padding:20px;margin-bottom:24px;border-left:14px solid var(--bad)}
.rec h4{margin:8px 0 6px;font-size:21px;line-height:1.2}
.rec p{margin:0 0 8px;white-space:pre-wrap;overflow-wrap:anywhere}
.meta{color:var(--mut);font-size:14px}
.meta time{margin-left:8px}
.coms{margin:14px 0 10px;padding-left:14px;border-left:3px solid var(--hl)}
.com{margin-bottom:8px;font-size:15px;overflow-wrap:anywhere}
.cf{display:flex;gap:8px}
.cf input{margin:0}
.cf button{background:var(--ink);color:#fff;border:0;border-radius:10px;padding:0 16px;font-weight:800}
.empty{background:#fff;border:3px dashed var(--ink);border-radius:14px;padding:20px;font-weight:600}
dialog{max-width:420px;width:calc(100% - 32px);padding:24px}
dialog::backdrop{background:rgba(11,21,80,.7)}
dialog p{margin:0 0 12px}
.row{display:flex;gap:10px;flex-wrap:wrap}
.err{color:var(--bad);font-weight:600;min-height:1.5em}

/* hero com personagem */
.hero{flex-wrap:nowrap;align-items:flex-end;margin-bottom:0;--hh:clamp(230px,40vw,440px)}
.hero-txt{flex:1;min-width:0;padding-bottom:26px}
.hero-pic{position:relative;flex:none}
.hero-pic::before{content:"";position:absolute;left:50%;bottom:20%;width:calc(var(--hh)*.85);aspect-ratio:1;transform:translateX(-50%);background:var(--hl);border:3px solid var(--ink);border-radius:50%}
.hero-pic img{position:relative;display:block;height:var(--hh);width:auto}
.views{margin-top:6px}
/* mecânico das reclamações */
.fixer{--ih:clamp(170px,24vw,260px);--bh:clamp(110px,14vw,140px);position:relative;min-height:var(--bh);margin:calc(var(--ih) - var(--bh) + 14px) 0 30px;padding:18px 22px 18px calc(var(--ih)*.42 + 36px);display:flex;align-items:center;background:var(--hl);border:3px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--ink)}
.fixer img{position:absolute;left:16px;bottom:0;height:var(--ih);width:auto}
.fixer h2{margin-bottom:6px}.fixer p{margin:0}
/* rankings */
.rks{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:26px}
.rk .meta{margin:-6px 0 0}
.rk ol{counter-reset:p;margin:16px 0 0;padding:0;list-style:none}
.rk li{counter-increment:p;position:relative;display:flex;justify-content:space-between;gap:10px;padding:10px 12px 12px 46px;margin-bottom:8px;background:#fff;border:3px solid var(--ink);border-radius:10px;overflow:hidden;font-weight:800}
.rk li:first-child{background:var(--hl)}
.rk li::before{content:counter(p);position:absolute;left:12px;top:50%;transform:translateY(-50%);font:400 22px 'Russo One',Impact,sans-serif}
.rk li i{position:absolute;left:0;bottom:0;height:6px;background:var(--c)}
.rk.ok{--c:var(--ok)}.rk.bad{--c:var(--bad)}.rk.all{--c:var(--bg)}
/* votos definitivos e compartilhar */
.v:disabled{cursor:not-allowed}
.v:disabled:not(.on){opacity:.4}
.v:disabled:not(.on):hover{background:#fff}
.mine{margin:12px 0 0;font-size:14px;font-weight:600;color:var(--ok)}
a.go{display:inline-block;text-decoration:none}
#shareDlg .link{margin-top:16px}
.v,.go,.ghost,.tab,.chip{min-height:44px}
.cf input{min-width:0;flex:1}
@media(max-width:640px){.grid{grid-template-columns:1fr}.hero{gap:8px}.sub{font-size:16px}.tab{padding:8px 14px;font-size:15px}}
@media(max-width:380px){.wrap{padding:20px 14px 70px}.card,.panel,.rec{padding:16px}}

/* cartão com faixa colorida e líder */
.card{overflow:hidden}
.card .top{margin:-20px -20px 18px;padding:16px 20px 14px;background:linear-gradient(135deg,var(--c),color-mix(in srgb,var(--c) 55%,#fff));border-bottom:3px solid var(--ink)}
.card h3{margin:0;font-size:clamp(24px,4vw,30px)}
.lider{display:inline-flex;align-items:center;gap:6px;margin:10px 0 0;padding:3px 12px 3px 9px;background:var(--ink);color:#fff;border-radius:99px;font-size:14px;overflow-wrap:anywhere}
.lider b{color:var(--hl)}
@media(max-width:380px){.card .top{margin:-16px -16px 16px;padding:14px 16px 12px}}
/* barra de progresso com efeitos */
.bar{--st:linear-gradient(45deg,rgba(255,255,255,.28) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.28) 50%,rgba(255,255,255,.28) 75%,transparent 75%);position:relative;height:34px;border:3px solid var(--ink);border-radius:99px;overflow:hidden;background:var(--bad) var(--st);background-size:28px 28px;box-shadow:inset 0 -6px 0 rgba(0,0,0,.14);animation:flow 1.6s linear infinite}
.bar i{display:block;height:100%;width:var(--w);background:var(--ok) var(--st);background-size:28px 28px;border-right:3px solid var(--ink);box-shadow:inset 0 -6px 0 rgba(0,0,0,.16);animation:grow 1.2s cubic-bezier(.2,.8,.2,1) both,flow 1s linear infinite}
.bar::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,0) 55%);pointer-events:none}
.bar::before{content:"";position:absolute;z-index:1;top:0;bottom:0;left:0;width:22%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);transform:translateX(-120%) skewX(-20deg);animation:shine 3.4s ease-in-out infinite;pointer-events:none}
.bar.none{background:#dde1f3;animation:none;box-shadow:none}
.bar.none::before,.bar.none::after{display:none}
.bar.none i,.bar i[style*="--w:0%"]{border-right:0}
@keyframes grow{from{width:0}}
@keyframes flow{to{background-position:28px 0}}
@keyframes shine{0%{transform:translateX(-120%) skewX(-20deg)}55%,100%{transform:translateX(520%) skewX(-20deg)}}
@media(prefers-reduced-motion:reduce){.bar,.bar i,.bar::before{animation:none}}

/* bandeiras de idioma */
.langs{display:flex;gap:8px;justify-content:flex-end;margin-bottom:14px}
.langs button{width:52px;min-height:44px;padding:0;display:grid;place-items:center;background:#fff;border:3px solid var(--ink);border-radius:10px;opacity:.75;transition:transform .15s,opacity .15s}
.langs button:hover{opacity:1;transform:translateY(-2px)}
.langs button.on{opacity:1;background:var(--hl);box-shadow:3px 3px 0 var(--ink)}
.langs img{display:block;width:30px;height:20px;border-radius:3px;box-shadow:0 0 0 1px rgba(11,21,80,.35)}
/* reações com emojis */
.rx{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 4px}
.rxl{width:100%;font-size:14px;font-weight:600;color:var(--mut)}
.rxb{display:inline-flex;align-items:center;gap:6px;min-height:44px;min-width:44px;padding:4px 12px;justify-content:center;background:#fff;border:3px solid var(--ink);border-radius:99px;font-weight:800;transition:transform .12s,background .12s}
.rxb .em{font-size:22px;line-height:1;font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif}
.rxb b{font-size:15px;min-width:.6ch}
.rxb b:empty{display:none}
.rxb:hover{background:var(--hl);transform:translateY(-2px) scale(1.06)}
.rxb.on{background:var(--hl);box-shadow:3px 3px 0 var(--ink)}
.rxb:active{transform:scale(.94)}
/* rodapé */
.foot{margin-top:56px;padding:20px 22px;display:flex;gap:18px;align-items:center;background:var(--ink);color:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--hl)}
.foot img{flex:none;width:54px;height:54px}
.foot p{margin:0}
.foot .f1{font-weight:800;font-size:17px}
.foot .f2{opacity:.85;font-size:15px}
.foot .f3{opacity:.55;font-size:13px;margin-top:6px}
@media(max-width:480px){.foot{flex-direction:column;text-align:center}}

/* categoria: mais reagidas */
.tab.hot{border-color:var(--hl);color:var(--hl)}
.tab.hot.on{color:var(--ink);border-color:var(--ink)}
.tophead{margin:0 0 22px;color:#fff}
.tophead h2{color:var(--hl);text-shadow:3px 3px 0 var(--ink);margin-bottom:6px}
.tophead p{margin:0}
.toprec{border-left-color:var(--hl)}
.toprec .medal{display:inline-block;margin-right:10px;font:400 26px/1 'Russo One',sans-serif;vertical-align:middle}
.hotn{display:inline-block;margin-right:10px;padding:1px 12px;background:var(--hl);border:2px solid var(--ink);border-radius:99px;font-size:14px;font-weight:800}

/* votação por estado */
#gv .filter select{max-width:340px}
.geosum{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0 20px}
.chip2{background:#fff;border:3px solid var(--ink);border-radius:99px;padding:4px 14px;font-weight:600;box-shadow:3px 3px 0 var(--ink)}
.chip2 b{font:400 20px 'Russo One',sans-serif;margin-right:4px}
.chip2.dim{opacity:.8}
.geo{background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--hl);margin-bottom:18px;overflow:hidden}
.geo summary{position:relative;display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:6px 12px;padding:14px 16px 20px;cursor:pointer;list-style:none;min-height:44px}
.geo summary::-webkit-details-marker{display:none}
.geo summary::after{content:"▾";position:absolute;right:14px;top:8px;font-size:12px;color:var(--mut);transition:transform .2s}
.geo[open] summary::after{transform:rotate(180deg)}
.gk{font:400 14px 'Russo One',sans-serif;color:var(--mut)}
.uf{min-width:42px;text-align:center;background:var(--ink);color:#fff;border-radius:8px;padding:2px 8px;font:400 16px 'Russo One',sans-serif}
.gname{font-weight:800;font-size:18px;overflow-wrap:anywhere}
.gname small{font-weight:600;color:var(--mut);font-size:13px}
.gvotes{font-weight:600;color:var(--mut);font-size:14px}
.gpct{font:400 22px 'Russo One',sans-serif;min-width:3.4ch;text-align:right}
.gbar{grid-column:1/-1;display:block;height:10px;background:#e4e7f6;border:2px solid var(--ink);border-radius:99px;overflow:hidden}
.gbar u{display:block;height:100%;background:var(--ok);text-decoration:none;border-right:2px solid var(--ink)}
.gbody{padding:0 16px 16px;border-top:3px dashed var(--ink)}
.gbody h5{margin:16px 0 8px;font:400 15px 'Russo One',sans-serif;text-transform:uppercase;letter-spacing:.5px}
.gsv{position:relative;display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:2px 10px;padding:6px 0 12px;font-size:14px}
.gsv .dot{width:14px;height:14px;border-radius:50%;background:var(--c);border:2px solid var(--ink)}
.gsv .gn{font-weight:800}.gsv .gs{color:var(--mut)}.gsv b{min-width:3.6ch;text-align:right}
.gsv i{position:absolute;left:0;right:0;bottom:2px;height:6px;border-radius:99px;background:#eceffa;overflow:hidden}
.gsv i::before{content:"";display:block;height:100%;width:var(--w);background:var(--c);border-radius:99px}
.cities{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.cities li{border:3px solid var(--ink);border-radius:10px;padding:8px 12px 2px;background:#f7f8ff}
.cities .ch{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:4px}
.cities .ch span{color:var(--mut);font-size:14px;font-weight:600}
.geonote{margin:22px 0 0;color:#fff;opacity:.85;font-size:14px}
@media(max-width:480px){.geo summary{grid-template-columns:auto 1fr auto}.gk{display:none}.gvotes{grid-column:2}.gpct{grid-column:3}}

/* ---------- conta: abas, checkbox, código de login ---------- */
dialog form[hidden]{display:none}
.seg{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px}
.seg button{background:#fff;border:3px solid var(--ink);border-radius:10px;padding:8px;font-weight:800;min-height:44px}
.seg button.on{background:var(--hl);box-shadow:3px 3px 0 var(--ink)}
.chk{display:flex;align-items:flex-start;gap:10px;font-weight:500;font-size:14px;line-height:1.4}
.chk input{width:22px;height:22px;margin:1px 0 0;padding:0;flex:none;accent-color:var(--bad)}
.chk a{color:var(--bad);font-weight:700}
input.mono,.codebox{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em}
input.mono{text-transform:uppercase}
.codebox{display:block;margin:0 0 14px;padding:14px 10px;text-align:center;font-size:clamp(18px,5.4vw,24px);font-weight:800;background:var(--hl);border:3px dashed var(--ink);border-radius:10px;user-select:all;overflow-wrap:anywhere}
#accDlg .row,#codeDlg .row{margin-top:4px}
#accName{overflow-wrap:anywhere}

/* ---------- aviso de cookies ---------- */
.ck{position:fixed;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));z-index:50;max-width:760px;margin:0 auto;display:flex;gap:14px;align-items:center;padding:14px 16px;background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--hl)}
.ck[hidden]{display:none}
.ck p{margin:0;font-size:14px;flex:1}
.ck a{color:var(--bad);font-weight:700}
@media(max-width:560px){.ck{flex-direction:column;align-items:stretch}}

/* ---------- texto indexável (SEO) e links legais ---------- */
.about{margin-top:44px;padding:24px;background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--hl)}
.about h2{font-size:clamp(20px,3.4vw,26px)}
.about h3{font:400 18px/1.2 'Russo One',Impact,sans-serif;margin:18px 0 8px}
.about p{margin:0 0 8px}
.about ol,.about ul{margin:0;padding-left:22px}
.srvlist{columns:2 220px;column-gap:28px}
.srvlist li{margin-bottom:4px;break-inside:avoid}
.flinks{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 0}
.flinks a{color:#fff;font-size:14px;font-weight:600;text-underline-offset:3px}
.flinks a:hover{color:var(--hl)}
@media(max-width:480px){.flinks{justify-content:center}}
.nojs{margin:0;padding:12px 16px;background:var(--hl);color:var(--ink);font-weight:800;text-align:center}

/* ---------- páginas legais ---------- */
.legal-top{align-items:center}
.legal-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font:400 clamp(22px,4vw,32px)/1 'Russo One',Impact,sans-serif;text-shadow:3px 3px 0 var(--ink)}
.legal-brand img{filter:drop-shadow(3px 3px 0 var(--ink))}
a.chip{display:inline-flex;align-items:center;text-decoration:none;color:var(--ink)}
.doc{max-width:860px;margin:0 auto;padding:clamp(18px,4vw,36px);background:#fff;border:3px solid var(--ink);border-radius:14px;box-shadow:6px 6px 0 var(--hl)}
.doc h1{display:block;text-shadow:none;letter-spacing:0;font:400 clamp(26px,5vw,40px)/1.1 'Russo One',Impact,sans-serif;margin:6px 0 8px;overflow-wrap:anywhere}
.doc h2{font-size:clamp(19px,3vw,23px);margin:28px 0 10px}
.doc p{margin:0 0 12px;overflow-wrap:anywhere}
.doc ul{margin:0 0 14px;padding-left:22px}
.doc li{margin-bottom:6px;overflow-wrap:anywhere}
.doc a{color:var(--bad);font-weight:600}
.doc code{background:#eef0fb;padding:1px 6px;border-radius:6px;font-size:.92em}
.doc-meta,.crumbs{color:var(--mut);font-size:14px;margin:0 0 6px}
.crumbs a{color:var(--mut)}
.doc table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:0 0 16px;font-size:14.5px}
.doc th,.doc td{border:2px solid var(--ink);padding:8px 10px;text-align:left;vertical-align:top;min-width:120px}
.doc th{background:var(--hl)}
.doc-contact{margin-top:28px;padding-top:16px;border-top:3px dashed var(--ink)}
.legal-foot{max-width:860px;margin:30px auto 0;color:#fff;font-size:14px;text-align:center}
.legal-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 18px;margin-bottom:12px}
.legal-nav a{color:#fff;font-weight:600}
.legal-nav span{color:var(--hl);font-weight:800}
.legal-foot p{margin:0;opacity:.8}


/* ---------- ajustes responsivos e comentários acessíveis ---------- */
html{scroll-behavior:smooth;scroll-padding-top:16px}
img,svg,video,canvas{max-width:100%;height:auto}
button,input,select,textarea{max-width:100%}
.wrap{width:100%;min-width:0}
.grid>*{min-width:0}
.card,.panel,.rec,.doc{overflow-wrap:anywhere}
.cf{display:flex;flex-direction:column;align-items:stretch;gap:8px}
.cf textarea{width:100%;min-width:0;resize:vertical;border:2px solid var(--ink);border-radius:8px;padding:10px}
.cf button,.reply-btn,.fmt{min-height:40px}
.coms{display:grid;gap:10px;margin:14px 0}
.com{min-width:0;overflow-wrap:anywhere;background:#f4f5ff;border-radius:9px;padding:10px}
.com a,.rec a{overflow-wrap:anywhere}
.reply{margin:10px 0 0 16px;padding:10px;border-left:3px solid var(--hl);background:#fff;border-radius:6px}
.reply-btn{display:inline-flex;align-items:center;margin:6px 0 0 8px;padding:4px 10px;background:transparent;border:1px solid var(--ink);border-radius:7px;font-weight:600}
.reply-form{margin-top:10px}
.chk{display:flex;align-items:flex-start;gap:9px;min-width:0}
.chk input{flex:none;margin-top:5px}
.privacy-choice{margin:8px 0 12px}
.format-tools{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fmt{min-width:40px;padding:6px 10px;border:2px solid var(--ink);border-radius:7px;background:#fff;font-weight:800}
.fmt:nth-child(2){font-style:italic}
.fmt:nth-child(3){text-decoration:underline}
.format-hint{font-size:12px;color:var(--mut);overflow-wrap:anywhere}
.back-top{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:1000;width:48px;height:48px;display:grid;place-items:center;border:3px solid var(--ink);border-radius:50%;background:var(--hl);color:var(--ink);font-size:25px;font-weight:800;box-shadow:3px 3px 0 var(--ink);transition:transform .18s,opacity .18s}
.back-top:hover{transform:translateY(-3px)}
[hidden]{display:none!important}
@media(max-width:760px){
  .wrap{padding:18px 14px 80px}
  .grid{grid-template-columns:minmax(0,1fr);gap:16px}
  .card,.panel,.rec{padding:15px;box-shadow:4px 4px 0 var(--hl)}
  header{gap:12px}
  h1{font-size:clamp(26px,7vw,42px);overflow-wrap:anywhere}
  h1 .logo{width:clamp(52px,14vw,76px)}
  .sub{font-size:16px}
  .views,.regs{gap:8px}
  .tab{padding:8px 12px}
  .cols{grid-template-columns:minmax(0,1fr)}
  .cf{width:100%}
  .format-hint{flex-basis:100%}
}
@media(max-width:420px){
  body{font-size:15px}
  .wrap{padding-inline:10px}
  h1{gap:8px;letter-spacing:-.8px}
  .card h3{font-size:24px}
  .votes{gap:7px}
  .v{padding:8px 5px}
  .back-top{width:44px;height:44px;right:12px;bottom:12px}
  .reply{margin-left:8px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .back-top{transition:none}
}

/* Perfis administrativos: avaliações e ranking da comunidade */
.profile-heading h2{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.profile-notice{margin-top:14px;padding:13px 15px;border:1px solid #d7c77b;border-left:5px solid #e4b929;border-radius:10px;background:#fff8d9;color:#423711;line-height:1.55}
.profile-notice i{margin-right:5px}
.profile-rank-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px 0 24px}
.profile-stat{min-width:0;padding:16px;border:2px solid var(--ink);border-radius:12px;background:var(--panel,#fff);box-shadow:3px 3px 0 var(--hl);display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:10px}
.profile-stat>i{grid-row:span 2;font-size:24px;color:var(--ink)}
.profile-stat strong{min-width:0;overflow-wrap:anywhere;font-size:clamp(18px,2.5vw,26px)}
.profile-stat span{font-size:12px;color:var(--mut)}
.profile-city{margin:22px 0 28px}
.profile-city>h3{display:flex;align-items:center;gap:9px;margin-bottom:13px;font-size:clamp(22px,3vw,30px)}
.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.profile-card{min-width:0;overflow:hidden;border:2px solid var(--ink);border-radius:14px;padding:16px;background:var(--panel,#fff);box-shadow:4px 4px 0 var(--hl)}
.profile-card-head{display:flex;align-items:center;gap:11px;min-width:0}
.profile-avatar{flex:none;width:46px;height:46px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;background:var(--hl);font-size:21px}
.profile-title{min-width:0;flex:1}.profile-role{font-size:12px;color:var(--mut);font-weight:700;text-transform:uppercase;letter-spacing:.04em}.profile-title h4{margin:3px 0 0;overflow-wrap:anywhere;font-size:clamp(17px,2vw,22px)}
.profile-position{flex:none;padding:5px 8px;border-radius:7px;background:#eef0ff;font-weight:800}
.profile-score{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:17px;text-align:center}
.profile-score>div{min-width:0;padding:10px 4px;background:#f4f5ff;border-radius:8px}
.profile-score strong{display:block;font-size:clamp(17px,2.2vw,24px);overflow-wrap:anywhere}.profile-score span{display:block;font-size:11px;color:var(--mut)}
.profile-progress{height:9px;margin-top:12px;overflow:hidden;border:1px solid var(--ink);border-radius:99px;background:#ffe1e1}.profile-progress i{display:block;height:100%;background:#39c77a;transition:width .25s ease}
.profile-vote-detail{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;font-size:13px;margin:9px 0 17px}.profile-vote-detail span:first-child{color:#147a43}.profile-vote-detail span:last-child{color:#b22b38}
.profile-form{padding-top:14px;border-top:1px solid #dedff0}.profile-form h5,.profile-comments h5{margin:0 0 10px;font-size:16px}
.profile-vote-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}
.profile-vote{min-height:43px;border:2px solid var(--ink);border-radius:8px;background:#fff;font-weight:800;cursor:pointer}.profile-vote.positive{color:#147a43}.profile-vote.negative{color:#b22b38}.profile-vote.selected.positive{background:#d8f9e6;box-shadow:inset 0 0 0 2px #39c77a}.profile-vote.selected.negative{background:#ffe1e1;box-shadow:inset 0 0 0 2px #e26a76}
.profile-label{display:grid;gap:6px;margin:10px 0;font-size:13px;font-weight:700}.profile-label select,.profile-label textarea{width:100%;min-width:0;border:2px solid var(--ink);border-radius:8px;padding:10px;background:#fff;color:#171717;font:inherit}.profile-label textarea{resize:vertical;line-height:1.5}
.profile-anon{display:flex;align-items:flex-start;gap:8px;margin:10px 0;font-size:12px;line-height:1.45}.profile-anon input{flex:none;margin-top:3px}
.profile-submit{width:100%;min-height:44px;border:2px solid var(--ink);border-radius:8px;padding:10px;background:var(--hl);color:var(--ink);font-weight:800;cursor:pointer}.profile-submit:disabled{opacity:.6;cursor:wait}.profile-form-hint{font-size:11px;color:var(--mut);line-height:1.4;margin:8px 0 0}
.profile-comments{margin-top:16px;padding-top:13px;border-top:1px solid #dedff0}.profile-comment{padding:10px 0;border-bottom:1px solid #e7e8f2;overflow-wrap:anywhere}.profile-comment:last-child{border-bottom:0}.profile-comment-meta{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:12px}.profile-comment-meta span{color:var(--mut)}.profile-comment p{margin:7px 0;font-size:13px;line-height:1.5}.profile-comment small{font-size:11px;color:var(--mut)}
.profile-card button:focus-visible,.profile-card select:focus-visible,.profile-card textarea:focus-visible{outline:3px solid #3b82f6;outline-offset:2px}
@media(max-width:760px){.profile-grid{grid-template-columns:minmax(0,1fr)}.profile-rank-summary{grid-template-columns:minmax(0,1fr)}.profile-stat{padding:12px}.profile-card{padding:13px}.profile-score span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.profile-progress i{transition:none}}


/* Modal de avisos, confirmações e cópia: substitui diálogos nativos do navegador. */
.message-dialog{max-width:460px;width:calc(100% - 32px);padding:26px;border:3px solid var(--ink);border-radius:18px;box-shadow:8px 8px 0 var(--hl);color:var(--ink)}
.message-dialog::backdrop{background:rgba(11,21,80,.72);backdrop-filter:blur(3px)}
.message-dialog h2{margin:0 0 10px;font-size:clamp(20px,4vw,26px);overflow-wrap:anywhere}
.message-dialog-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}
.message-dialog-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:12px;border:2px solid var(--ink);border-radius:13px;background:var(--hl);font-size:21px}
.message-dialog-value{display:block;width:100%;margin:14px 0;padding:12px;border:2px solid var(--ink);border-radius:10px;font:inherit;overflow-wrap:anywhere;resize:vertical}
.message-dialog-actions{justify-content:flex-end;margin-top:18px}
.message-dialog-actions button{min-height:44px;min-width:100px}
@media(max-width:480px){.message-dialog{padding:20px}.message-dialog-actions{flex-direction:column-reverse}.message-dialog-actions button{width:100%}}


/* Notificações e instalação PWA */
.hero-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.notification-open{position:relative}.notification-open b{display:inline-grid;place-items:center;min-width:19px;height:19px;padding:0 4px;border-radius:999px;background:#ff4d67;color:#fff;font-size:.72rem}.notification-dialog{width:min(650px,calc(100vw - 24px));max-height:min(88dvh,850px);overflow:auto;border:1px solid #34456b;border-radius:20px;background:#111a30;color:#f3f6ff;padding:clamp(16px,3vw,26px);box-shadow:0 24px 80px #0009}.notification-dialog::backdrop{background:#050a16bb;backdrop-filter:blur(5px)}.notification-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.notification-head h2{margin:0 0 6px}.notification-head p,.notification-pwa-note{color:#aebbd7;font-size:.9rem}.icon-close{border:0;border-radius:10px;background:#253250;color:#fff;font-size:1.5rem;width:40px;height:40px;cursor:pointer}.notification-permissions{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;background:#192642;padding:12px;border-radius:12px;margin:14px 0}.notification-permissions p{margin:0;flex:1;min-width:180px;font-size:.88rem;color:#c7d3eb}.notification-prefs{display:grid;gap:8px}.notification-prefs>label{display:flex;align-items:flex-start;gap:12px;padding:12px;border:1px solid #2d3b59;border-radius:12px;cursor:pointer}.notification-prefs>label:has(input:checked){border-color:#506be8;background:#192443}.notification-prefs input{width:18px;height:18px;accent-color:#7185ff;margin-top:2px;flex-shrink:0}.notification-prefs span{display:grid;gap:3px}.notification-prefs small{color:#aebbd7;line-height:1.4}.notification-prefs .row{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.notification-recent{margin-top:20px}.notification-recent h3{font-size:1rem}.notification-item{padding:10px 12px;margin:7px 0;border-radius:10px;background:#192642;border-left:3px solid #6478ff}.notification-item.unread{border-left-color:#3ce0b3}.notification-item strong{display:block}.notification-item p{margin:4px 0;color:#c2cee5;font-size:.9rem}.notification-item time{font-size:.75rem;color:#8fa1c5}.notification-pwa-note{margin:18px 0 0;line-height:1.5}.notification-item a{color:#aebaff;text-decoration:underline}@media(max-width:520px){.hero-actions{width:100%}.hero-actions .chip{flex:1;justify-content:center}.notification-dialog{padding:15px;border-radius:16px}.notification-permissions{align-items:stretch}.notification-permissions button{width:100%}.notification-prefs .row>*{width:100%}}

/* Correção global de overflow horizontal e adaptação real à largura disponível. */
html,body{max-width:100%;width:100%;overflow-x:clip}
body{min-width:0}
*,*::before,*::after{box-sizing:border-box}
.wrap,main,#conteudo,section,header,footer,nav,form,article,aside,.card,.panel,.rec,.doc,.hero-txt,.hero-pic,.cols,.grid,.rks,.profile-grid,.profile-card,.notification-dialog,.message-dialog{min-width:0;max-width:100%}
.wrap{width:100%;padding-left:clamp(10px,2.5vw,20px);padding-right:clamp(10px,2.5vw,20px)}
img,svg,video,canvas,iframe{max-inline-size:100%}
button,a,input,select,textarea,summary,code,pre{overflow-wrap:anywhere}
input,select,textarea{min-width:0}
.grid,.cols,.rks,.profile-grid,.profile-rank-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.hero{width:100%;max-width:100%;min-width:0}
.hero-txt{min-width:0;overflow-wrap:anywhere}
.hero h1{min-width:0;max-width:100%}
.hero h1 span{min-width:0;overflow-wrap:anywhere}
.hero-pic{min-width:0;max-width:42%;}
.hero-pic img{max-width:100%;object-fit:contain}
.views,.regs,.langs,.hero-actions,.row,.format-tools{max-width:100%;min-width:0}
.tab,.chip{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.fixer{min-width:0;max-width:100%;overflow:hidden}
.fixer>div{min-width:0;overflow-wrap:anywhere}
.fixer img{max-width:35%;object-fit:contain;object-position:bottom left}
.rec,.com,.reply,.profile-comment,.notification-item,.message-dialog-text{min-width:0;overflow-wrap:anywhere;word-break:normal}
.profile-position{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.profile-card-head,.profile-vote-detail,.notification-head{min-width:0;flex-wrap:wrap}
.notification-dialog,.message-dialog,dialog{max-width:calc(100vw - 24px);min-width:0}
@media(max-width:760px){
  .hero{flex-wrap:wrap;align-items:flex-start;gap:12px}
  .hero-txt{flex:1 1 100%;width:100%;padding-bottom:0}
  .hero-pic{display:none}
  .grid,.cols,.rks,.profile-grid,.profile-rank-summary{grid-template-columns:minmax(0,1fr)}
  .views,.regs{align-items:stretch}
  .views .tab,.regs .tab{flex:1 1 auto;min-width:0}
  .fixer{padding:14px;min-height:0;margin:24px 0;}
  .fixer img{display:none}
  .profile-score{grid-template-columns:repeat(3,minmax(0,1fr))}
  .profile-stat{grid-template-columns:auto minmax(0,1fr)}
  .notification-permissions p{min-width:0}
}
@media(max-width:420px){
  .wrap{padding-left:10px;padding-right:10px}
  h1{font-size:clamp(24px,8vw,34px);gap:7px}
  h1 .logo{width:clamp(42px,13vw,56px)}
  .views .tab,.regs .tab{padding:8px 9px;font-size:14px}
  .profile-score{gap:4px}
  .profile-score>div{padding:8px 2px}
  .profile-score span{font-size:10px;overflow-wrap:anywhere}
  .cf button{width:100%;min-height:44px}
  .rec{border-left-width:7px}
}


/* Perfis públicos e área de comunidade */
.user-profile-link{display:inline;border:0;background:transparent;color:var(--ink);font:inherit;font-weight:800;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;padding:0;cursor:pointer;overflow-wrap:anywhere}
.user-profile-link:disabled{cursor:default;text-decoration:none}
.community-heading{margin-bottom:18px}
.community-layout{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr);gap:18px;align-items:start}
.community-create,.community-thread{min-width:0;padding:18px}
.community-create h3,.community-post-form h4{margin-top:0}
.community-main{min-width:0}
.community-topic-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.community-topic-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left;min-width:0;width:100%;padding:16px;border:2px solid var(--ink);border-radius:12px;background:var(--panel,#fff);color:var(--ink);cursor:pointer;box-shadow:3px 3px 0 var(--hl);overflow-wrap:anywhere}
.community-topic-card:hover{transform:translateY(-1px)}
.community-topic-card strong{font-size:1.05rem}
.community-topic-card p{margin:0;overflow-wrap:anywhere}
.community-topic-card small{color:var(--muted,#666);line-height:1.5}
.community-category{font-size:.75rem;font-weight:800;border-radius:999px;background:var(--hl);padding:4px 9px}
.community-thread-head{display:flex;gap:12px;align-items:flex-start;border-bottom:1px solid var(--line,#ddd);padding-bottom:14px;margin-bottom:14px}
.community-thread-head>div{min-width:0;flex:1}
.community-thread-head h3{margin:2px 0 6px;overflow-wrap:anywhere}
.community-thread-head p{margin:0;overflow-wrap:anywhere}
.community-posts{display:grid;gap:12px;margin:14px 0 22px}
.community-post{min-width:0;border:1px solid var(--line,#ddd);border-radius:12px;padding:14px;background:var(--panel,#fff);overflow-wrap:anywhere}
.community-post-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.community-post-meta time{font-size:.78rem;color:var(--muted,#666)}
.community-post-text{overflow-wrap:anywhere;word-break:normal}
.community-media{display:block;max-width:100%;margin-top:12px}
.community-media img{display:block;max-width:100%;max-height:520px;object-fit:contain;border-radius:10px}
.community-media iframe{display:block;width:100%;aspect-ratio:16/9;border:0;border-radius:10px}
.community-video{display:block;width:100%;max-height:520px;margin-top:12px;border-radius:10px;background:#000}
.community-media-link{overflow-wrap:anywhere}
.community-post-form{border-top:2px solid var(--line,#ddd);padding-top:18px}
.community-post-form small{display:block;margin:-3px 0 12px;color:var(--muted,#666);line-height:1.45}
.user-profile-dialog{width:min(620px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;border:2px solid var(--ink);border-radius:18px;padding:22px;background:var(--panel,#fff);color:var(--ink);box-shadow:8px 8px 0 var(--hl)}
.user-profile-dialog::backdrop{background:#101323a8;backdrop-filter:blur(3px)}
.user-profile-head{display:flex;align-items:center;gap:12px;min-width:0;margin-bottom:18px}
.user-profile-head>div:nth-child(2){min-width:0;flex:1}
.user-profile-head h2{margin:0;overflow-wrap:anywhere}
.user-profile-head p{margin:4px 0 0;color:var(--muted,#666)}
.user-profile-avatar{width:54px;height:54px;flex:0 0 54px;display:grid;place-items:center;border:2px solid var(--ink);border-radius:50%;font-size:1.3rem;background:var(--hl)}
.user-profile-details dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:18px 0}
.user-profile-details dl>div{min-width:0;padding:10px;border-radius:9px;background:var(--soft,#f4f4f4)}
.user-profile-details dt{font-size:.8rem;color:var(--muted,#666)}
.user-profile-details dd{margin:4px 0 0;font-weight:750;overflow-wrap:anywhere}
.user-profile-bio{overflow-wrap:anywhere;line-height:1.6}
.user-profile-edit{border-top:2px solid var(--line,#ddd);padding-top:16px;margin-top:18px}
.user-profile-security{font-size:.8rem;color:var(--muted,#666);margin-top:18px}
@media(max-width:760px){.community-layout{grid-template-columns:minmax(0,1fr)}.community-topic-list{grid-template-columns:minmax(0,1fr)}.community-create,.community-thread{padding:13px}.user-profile-dialog{padding:16px}.user-profile-details dl{grid-template-columns:minmax(0,1fr)}}


/* Redes sociais no rodapé: layout responsivo e isolado dos estilos existentes. */
.social-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:10px;
  margin:16px 0;
  min-width:0;
}
.social-links a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:40px;
  max-width:100%;
  padding:8px 12px;
  border:1px solid var(--line,#d7dbe5);
  border-radius:12px;
  color:inherit;
  text-decoration:none;
  font-weight:700;
  line-height:1.2;
  overflow-wrap:anywhere;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease;
}
.social-links a:hover{
  transform:translateY(-2px);
  border-color:var(--hl,#8b8c88);
  background:var(--soft,#f4f4f4);
}
.social-links a:focus-visible{
  outline:3px solid var(--hl,#8b8c88);
  outline-offset:3px;
}
.social-links img{
  display:block;
  width:22px;
  height:22px;
  flex:0 0 22px;
  object-fit:contain;
}
@media(max-width:480px){
  .social-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .social-links a{justify-content:flex-start;padding:9px 10px;font-size:.9rem}
}

/* Ajustes finais de organização e responsividade dos rodapés e links */
a,
a:visited,
a:hover,
a:active,
a:focus {
  text-decoration: none;
}

/* Links sem sublinhado, mantendo realce acessível ao foco por teclado. */
a:focus-visible {
  outline: 3px solid var(--hl, #ffe14a);
  outline-offset: 3px;
  border-radius: 3px;
}

.user-profile-link,
.user-profile-link:hover,
.user-profile-link:focus {
  text-decoration: none;
}

.foot {
  min-width: 0;
  align-items: flex-start;
  gap: clamp(12px, 2.5vw, 20px);
  padding: clamp(14px, 3vw, 22px);
}
.foot > div { min-width: 0; flex: 1 1 0; }
.foot p, .legal-foot p { overflow-wrap: anywhere; }
.foot .social-links, .legal-foot .social-links { justify-content: center; }
.flinks, .legal-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 8px 16px;
  min-width: 0;
}
.flinks a, .legal-nav a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-decoration: none;
  text-underline-offset: initial;
}
.flinks a:hover, .legal-nav a:hover { text-decoration: none; color: var(--hl); }
.legal-foot {
  width: 100%;
  padding: 0 clamp(4px, 2vw, 14px) 24px;
  overflow-wrap: anywhere;
}
.legal-foot > p { line-height: 1.6; }
.social-links { max-width: 100%; }
.social-links a { text-decoration: none !important; }

@media (max-width: 600px) {
  .foot {
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-top: 36px;
  }
  .foot > img { width: 48px; height: 48px; }
  .foot > div { width: 100%; }
  .foot .f1 { font-size: 1rem; line-height: 1.45; }
  .foot .f2 { margin-top: 6px; line-height: 1.5; }
  .flinks { gap: 10px 14px; }
  .flinks a { font-size: 13px; }
  .legal-foot { margin-top: 24px; }
  .legal-nav { gap: 10px 14px; }
}
@media (max-width: 360px) {
  .social-links { grid-template-columns: minmax(0, 1fr); }
  .social-links a { justify-content: center; }
  .flinks, .legal-nav { flex-direction: column; gap: 8px; }
  .foot { padding: 14px; }
}

/* Comunidade: feed social com avatares e tópicos em destaque */
.community-heading .tophead,.community-heading p{max-width:760px}
.community-layout{grid-template-columns:minmax(220px,.65fr) minmax(0,1.7fr);gap:22px}
.community-topic-list{grid-template-columns:1fr;gap:10px}
.community-topic-card{border:1px solid var(--line,#d8dce3);border-radius:16px;box-shadow:none;padding:18px;transition:border-color .18s,transform .18s,box-shadow .18s}
.community-topic-card:hover{border-color:var(--hl);box-shadow:0 5px 18px #0000000b;transform:translateY(-2px)}
.community-topic-card strong{font-size:1.12rem}
.community-topic-card small{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.community-category{background:color-mix(in srgb,var(--hl) 18%,transparent);color:var(--ink);letter-spacing:.02em}
.community-thread{border-radius:18px}
.community-posts{gap:0}
.community-post{padding:18px 16px;border:0;border-bottom:1px solid var(--line,#e5e7eb);border-radius:0;background:transparent}
.community-post:first-child{border-top:1px solid var(--line,#e5e7eb)}
.community-post-meta{justify-content:flex-start;margin-bottom:12px}
.community-author{display:flex;align-items:center;gap:11px;min-width:0}
.community-author>div{display:grid;gap:2px}
.community-avatar{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:50%;background:#e8edf2;border:1px solid var(--line,#ddd)}
.community-avatar-mini{width:22px;height:22px;flex-basis:22px}
.community-post-date{font-size:.76rem;color:var(--muted,#777)}
.community-post-text{font-size:1rem;line-height:1.65}
.community-post-form{border-top:1px solid var(--line,#ddd)}
@media(max-width:760px){.community-layout{grid-template-columns:1fr}.community-create{order:0}.community-main{order:1}.community-post{padding:15px 8px}}


/* Comunidade social: ações, seguidores e contagem de membros */
.community-stats{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:0 0 16px;padding:14px 18px;border:1px solid var(--line,#e5e7eb);border-radius:15px;background:var(--panel,#fff)}
.community-stats strong{font-size:1.05rem}.community-stats span{color:var(--muted,#666);font-size:.9rem}
.community-topic-card-wrap{min-width:0;display:flex;flex-direction:column;gap:8px;align-items:stretch}.community-topic-card-wrap .community-topic-card{height:100%}
.community-follow-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:max-content;max-width:100%;padding:8px 13px;border:1px solid var(--line,#d8dce3);border-radius:999px;background:var(--panel,#fff);color:var(--ink,#222);font:inherit;font-size:.86rem;font-weight:650;cursor:pointer}.community-follow-btn:hover,.community-follow-btn.is-following{border-color:var(--hl);background:color-mix(in srgb,var(--hl) 10%,var(--panel,#fff))}.community-follow-btn.compact{margin-left:auto;align-self:center}
.community-post-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;padding-top:10px;border-top:1px solid var(--line,#e5e7eb)}
.community-post-actions button{display:inline-flex;align-items:center;gap:6px;border:0;border-radius:8px;padding:7px 10px;background:transparent;color:var(--muted,#666);font:inherit;font-size:.85rem;cursor:pointer}.community-post-actions button:hover{background:var(--soft,#f5f5f5);color:var(--ink,#222)}
.community-comments{display:grid;gap:9px;margin-top:10px}.community-comment{display:flex;align-items:flex-start;gap:9px;padding:8px 10px;border-radius:10px;background:var(--soft,#f7f7f8)}.community-comment p{margin:3px 0;overflow-wrap:anywhere}.community-comment small{font-size:.75rem;color:var(--muted,#777)}
.community-comment-form{display:flex;gap:8px;margin-top:4px}.community-comment-form input{flex:1;min-width:0;border:1px solid var(--line,#d8dce3);border-radius:999px;padding:10px 13px;background:var(--panel,#fff);color:var(--ink,#222)}.community-comment-form button{width:42px;flex:0 0 42px;border:0;border-radius:50%;background:var(--hl);color:#fff;cursor:pointer}
.profile-follow-stats{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin:14px 0}.profile-follow-stats span{color:var(--muted,#666);font-size:.9rem}.profile-follow-stats strong{color:var(--ink,#222)}
@media(max-width:600px){.community-stats{align-items:flex-start;flex-direction:column;gap:4px}.community-post-actions{gap:2px}.community-post-actions button{padding:7px 6px;font-size:.8rem}.community-follow-btn.compact{font-size:.78rem;padding:6px 10px}}

/* Destaque para o destino de uma URL amigável de servidor. */
.server-title-link { color: inherit; text-decoration: none; }
.server-title-link:hover, .server-title-link:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.card.route-highlight { outline: 3px solid var(--c, #ffe14a); outline-offset: 4px; transition: outline-color .2s ease; }

.community-topic-card { text-decoration: none; }

/* Ranking competitivo de perfis administrativos com atualizacao visual */
.profile-leaderboard-wrap{margin:28px 0 12px;padding:clamp(14px,2.5vw,24px);border:2px solid var(--ink);border-radius:18px;background:var(--panel,#fff);box-shadow:5px 5px 0 var(--hl)}
.leaderboard-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:20px}
.leaderboard-heading h2{display:flex;align-items:center;gap:9px;margin:0;font-size:clamp(22px,3vw,31px)}
.leaderboard-heading>div>p{margin:7px 0 0;color:var(--mut);line-height:1.5}
.live-ranking{display:inline-flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #9be2b8;border-radius:999px;background:#e9fff1;color:#126c39;font-size:12px;font-weight:800;white-space:nowrap}
.live-ranking i{font-size:8px;animation:livePulse 1.7s infinite}
.leader-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.leader-category{min-width:0;border:1px solid #d9dcf0;border-radius:13px;padding:14px;background:color-mix(in srgb,var(--panel,#fff) 94%,var(--hl) 6%)}
.leader-category-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:12px}
.leader-category-head h3{margin:0;font-size:clamp(16px,2vw,21px)}
.leader-category-head p{margin:5px 0 0;color:var(--mut);font-size:12px;line-height:1.45}
.leader-category-head>span{flex:none;padding:5px 7px;border-radius:7px;background:#eef0ff;color:#343a88;font-size:11px;font-weight:800}
.leader-list{display:grid;gap:9px}
.leader-profile{display:flex;align-items:center;gap:10px;min-width:0;padding:11px;border:1px solid #e0e3f1;border-radius:11px;background:var(--panel,#fff);animation:leaderEnter .38s ease both;animation-delay:var(--rank-delay,0ms);transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.leader-profile:hover{transform:translateY(-2px);border-color:var(--hl);box-shadow:0 4px 13px #171e4b16}
.leader-medal{flex:none;display:grid;place-items:center;min-width:34px;height:34px;padding:0 5px;border-radius:10px;background:#f0f1f8;font-size:13px;font-weight:900}
.leader-medal.gold{background:#fff1b8}.leader-medal.silver{background:#e7ebf2}.leader-medal.bronze{background:#f7ddca}
.leader-profile-main{flex:1;min-width:0}
.leader-profile-title{display:grid;gap:3px;min-width:0}.leader-profile-title strong{overflow-wrap:anywhere;font-size:15px}
.leader-profile-score{display:block;margin-top:6px;color:var(--mut);font-size:11px;font-weight:700}
.leader-progress{height:6px;margin-top:7px;overflow:hidden;border-radius:99px;background:#ffe5e7}
.leader-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#36b978,#8ee0a8);transition:width .65s cubic-bezier(.2,.8,.2,1)}
.leader-profile-main small{display:block;margin-top:6px;color:var(--mut);font-size:10px;line-height:1.4}
.leader-rank-badge{flex:none;max-width:90px;padding:5px 7px;border-radius:7px;background:#f0f1ff;color:#383e8a;text-align:center;font-size:10px;font-weight:800}
.close-contest{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:14px;border:1px solid #f1c65b;border-left:5px solid #e5a900;border-radius:12px;background:linear-gradient(100deg,#fff5ce,#fffaf0);color:#4b3700;animation:contestGlow 2.8s ease-in-out infinite}
.close-contest>i{flex:none;font-size:24px}.close-contest div{display:grid;gap:4px}.close-contest strong{font-size:16px}.close-contest span{font-size:13px;line-height:1.45}
.ranking-live-note{margin:15px 0 0;color:var(--mut);font-size:11px;text-align:right}
@keyframes livePulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.78)}}
@keyframes leaderEnter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
@keyframes contestGlow{0%,100%{box-shadow:0 0 0 #e5a90000}50%{box-shadow:0 0 0 3px #e5a90020}}
@media(max-width:760px){.leader-categories{grid-template-columns:minmax(0,1fr)}.leaderboard-heading{align-items:stretch}.live-ranking{align-self:flex-start}.leader-profile{gap:8px;padding:9px}.leader-rank-badge{max-width:72px;font-size:9px}}
@media(prefers-reduced-motion:reduce){.live-ranking i,.leader-profile,.close-contest{animation:none}.leader-profile,.leader-progress i{transition:none}}
