/* Viravoto — near-black, light text, red only for the brand mark and a few key details.
   Data colours (green/blue/amber/grey) keep their meaning and are never replaced by red. */

@font-face{font-family:"Newsreader";src:url(/fonts/newsreader-latin.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";src:url(/fonts/newsreader-latin-ext.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";src:url(/fonts/plex-latin-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(/fonts/plex-latin-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(/fonts/plex-latin-600.woff2) format("woff2");font-weight:600 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Plex";src:url(/fonts/plex-latin-ext-400.woff2) format("woff2");font-weight:400;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";src:url(/fonts/plex-latin-ext-500.woff2) format("woff2");font-weight:500;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Plex";src:url(/fonts/plex-latin-ext-600.woff2) format("woff2");font-weight:600 700;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  color-scheme:dark;
  --bg:#0f0e0d;--surface:#151412;--surface-2:#1c1b18;--surface-3:#24221f;
  --line:#2a2824;--line-strong:#3b3833;
  --text:#f3f0ea;--soft:#d6d2ca;--muted:#a19c92;--faint:#79746b;
  --red:#e8302a;--red-soft:#ff6a5f;
  --green:#56d797;--blue:#6f8bf0;--amber:#c99a45;--gray:#686860;
  --paid:#d8b46a;
  --serif:"Newsreader",Georgia,"Times New Roman",serif;
  --sans:"Plex",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --radius:14px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:calc(76px + env(safe-area-inset-bottom))}
button,input,select,textarea{font:inherit;color:inherit}
button,a,select,summary{touch-action:manipulation}
a{color:inherit;text-decoration:none}
button{cursor:pointer;background:none;border:0}
button:disabled{cursor:not-allowed;opacity:.55}
:focus-visible{outline:2px solid var(--soft);outline-offset:3px;border-radius:6px}
h1,h2,h3,p{margin:0}
h1{font:600 26px/1.15 var(--serif);letter-spacing:-.3px}
h2{font-size:14px;font-weight:600}
h2 small{font-weight:400;font-size:12px;color:var(--muted)}
.muted{color:var(--muted)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:8px;background:var(--text);color:var(--bg);padding:8px 12px;border-radius:8px;z-index:50}
.skip:focus{left:8px}
select{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:999px;padding:8px 12px;cursor:pointer;min-height:38px}

/* ---------- header ---------- */
.topbar{position:sticky;top:0;z-index:20;background:rgba(15,14,13,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:8px 20px;padding:10px 16px}
.brand{display:inline-flex;align-items:center;gap:8px;font:600 24px/1 var(--serif);letter-spacing:-.6px}
.brand-star{width:20px;height:20px;fill:var(--red);flex-shrink:0}
.tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none;grid-column:1/-1;grid-row:2;margin:0 -16px;padding:0 12px}
.tabs::-webkit-scrollbar{display:none}
.tabs a{position:relative;padding:9px 12px 11px;color:var(--muted);font-size:14px;white-space:nowrap;border-radius:8px}
.tabs a:hover{color:var(--text)}
.tabs a[aria-current=page]{color:var(--text);font-weight:600}
.tabs a[aria-current=page]::after{content:"";position:absolute;left:12px;right:12px;bottom:3px;height:2px;border-radius:2px;background:var(--red)}
.topright{display:flex;align-items:center;gap:10px;justify-self:end}
.live-pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.live-pill i{width:7px;height:7px;border-radius:50%;background:var(--faint)}
.live-pill.on i{background:var(--red);box-shadow:0 0 0 0 rgba(232,48,42,.6);animation:pulse 2.4s infinite}
.live-label{display:none}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(232,48,42,.5)}70%{box-shadow:0 0 0 7px rgba(232,48,42,0)}100%{box-shadow:0 0 0 0 rgba(232,48,42,0)}}
@media (prefers-reduced-motion:reduce){.live-pill.on i{animation:none}*{transition:none!important;animation:none!important}}
.account-button{border:1px solid var(--line-strong);border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;min-height:38px;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.account-button:hover{border-color:var(--muted)}
.identity-strip{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 16px;padding:10px 16px 0;font-size:12px;color:var(--faint)}
.identity-strip strong{color:var(--soft);font-weight:500}

/* ---------- live strip ---------- */
.live-strip{padding:12px 16px 0}
.live-strip-inner{position:relative;overflow:hidden;border:1px solid var(--line);background:var(--surface);border-radius:var(--radius);padding:12px 14px 14px;display:grid;grid-template-columns:1fr auto;gap:4px 12px;align-items:center}
.live-strip-inner.paid{border-color:#4a3f2a;background:linear-gradient(180deg,#1b1813,#151412)}
.strip-label{grid-column:1/-1;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);display:flex;gap:8px;align-items:center}
.paid .strip-label{color:var(--paid)}
.strip-text{font:500 18px/1.35 var(--serif);color:var(--text);overflow-wrap:anywhere}
.strip-meta{font-size:12px;color:var(--muted);margin-top:2px}
.strip-share{align-self:end;font-size:12px;color:var(--muted);border:1px solid var(--line-strong);border-radius:999px;padding:6px 12px;white-space:nowrap}
.strip-progress{position:absolute;left:0;bottom:0;height:2px;background:var(--paid);transition:width 1s linear}

/* ---------- layout ---------- */
.workspace{display:flex;flex-direction:column;gap:14px;padding:14px 16px 20px;max-width:1440px;margin:0 auto}
.sidebar{order:0}
main{order:1;min-width:0}
.community{order:2}
.rightbar{order:3;display:flex;flex-direction:column;gap:14px}
.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}

/* filters (collapsed on phones) */
.filters{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
.filters summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;cursor:pointer;font-weight:600;min-height:46px}
.filters summary::-webkit-details-marker{display:none}
.filters summary::after{content:"";width:8px;height:8px;border-right:1.5px solid var(--muted);border-bottom:1.5px solid var(--muted);transform:rotate(45deg);margin:-4px 4px 0 auto}
.filters[open] summary::after{transform:rotate(-135deg);margin-top:4px}
.filters summary small{font-weight:400;font-size:12px;text-align:right}
.filters-body{display:flex;flex-direction:column;gap:12px;padding:0 12px 14px}
.search{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:999px;padding:0 12px;min-height:40px}
.search svg{width:16px;fill:none;stroke:var(--muted);stroke-width:1.6;flex-shrink:0}
.search input{background:none;border:0;min-width:0;width:100%;outline:none;font-size:14px;padding:8px 0}
.search input::placeholder{color:var(--faint)}
.search kbd{display:none}
.filterbar{display:flex;gap:8px;flex-wrap:wrap}
.filterbar select{flex:1;min-width:92px;font-size:13px}
.segments{display:inline-flex;align-items:center;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:3px;white-space:nowrap}
.segments a,.segments button{padding:6px 12px;color:var(--muted);font-size:13px;border-radius:999px;line-height:1.3;display:block;min-height:32px}
.segments .selected,.segments a[aria-current=page]{color:var(--text);background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:600}
.sidebar .panel{padding:14px 8px}
.sidebar h2{padding:0 6px 10px}
.role{display:flex;align-items:center;width:100%;text-align:left;gap:8px;padding:8px;border-radius:8px;font-size:13px;min-height:40px}
.role.selected,.activity-row.selected{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-strong)}
.role-label{flex:1;font-weight:500;white-space:nowrap}
.mini-bar{width:52px;height:4px;display:flex;background:#2a2824;border-radius:2px;overflow:hidden}
.mini-bar span{height:100%}
.role-number{font:600 17px var(--serif);min-width:24px;text-align:right}
.role-total{color:var(--faint);font-size:11px;white-space:nowrap}
.activity-row{display:flex;text-align:left;align-items:center;gap:10px;width:100%;padding:9px 8px;border-radius:8px}
.activity-row strong{font-size:13px;font-weight:600}
.activity-row small{font-size:11px;display:block;color:var(--muted);margin-top:2px}
.activity-number{margin-left:auto;text-align:right}
.activity-number b{font:600 22px var(--serif);display:block}
.activity-number span{font-size:11px;color:var(--faint)}
.side-ranking{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);margin:14px 6px 10px;padding-top:12px}
.side-ranking h2{padding:0}
.activity>p{font-size:12px;padding:0 6px 2px}
.demo-note{display:flex;gap:6px;padding:2px 6px;color:var(--muted);font-size:12px}
.demo-note .demo-dot{flex-shrink:0;margin-top:6px}
.demo-note strong{color:var(--soft);font-weight:500}
.demo-note p{margin-top:2px;line-height:1.55}
.side-actions{display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;padding:0 6px}
.demolabel{color:var(--muted);font-size:12px;width:100%}
.demolabel i,.demo-dot{display:inline-block;background:var(--amber);width:7px;height:7px;border-radius:50%;margin-right:6px}
.textbutton{color:var(--muted);font-size:13px;padding:8px 0;text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px}
.textbutton:hover{color:var(--text)}

/* avatars & dots */
.avatar{width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#10261b;background:var(--green);font-size:10px;font-weight:700;border:2px solid #74e2ad;flex-shrink:0}
.avatar.blue{background:#91a5ef;border-color:var(--blue);color:#121f3d}
.avatar.gray{background:#3d3b37;border-color:#5a5750;color:#d3cfc6}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:var(--green);margin-right:6px}
.dot.blue{background:var(--blue)}.dot.amber{background:var(--amber)}.dot.gray{background:var(--gray)}

/* ---------- main panel ---------- */
.heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin:4px 0 6px}
.heading p{color:var(--muted);font-size:12px;margin-top:6px}
.outline-button{border:1px solid var(--line-strong);border-radius:999px;padding:8px 14px;background:var(--surface-2);font-size:13px;min-height:38px;white-space:nowrap}
.outline-button:hover{border-color:var(--muted)}
.outline-button svg{width:11px;height:11px;vertical-align:middle;margin-left:6px;fill:none;stroke:currentColor;stroke-width:1.6}
.map-area{position:relative;display:flex;flex-direction:column;align-items:center;padding-top:6px}
.map{width:100%;max-width:400px;height:auto;aspect-ratio:340/365;overflow:visible}
.brazil{fill:#1a1916;stroke:#3a3731;stroke-width:1.2}
.state-divider{fill:none;stroke:#35322d;stroke-width:1;opacity:.7}
.map-state{cursor:pointer;outline:none}
.map-state circle{stroke:var(--bg);stroke-width:2;transition:r .2s}
.map-state:hover circle,.map-state:focus circle{r:7}
.map-state text{font:600 9px var(--sans);fill:#c9c5bc;pointer-events:none}
.map-stat{order:-1;align-self:flex-start;display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:8px;margin-bottom:4px}
.map-stat b{font:600 56px/.95 var(--serif);letter-spacing:-2px}
.map-stat span{font-size:14px;color:var(--muted)}
.map-stat p{grid-column:1/-1;font-weight:600;font-size:15px;margin-top:6px}
.map-stat p small{font-weight:400;color:var(--muted);font-size:12px}
.map-stat>small{grid-column:1/-1;color:var(--faint);font-size:12px}
.map-caption{align-self:flex-end;font-size:11px;color:var(--faint);margin-top:2px}
.avatar-rail{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 0 8px;mask-image:linear-gradient(to right,#000 92%,transparent)}
.avatar-rail::-webkit-scrollbar{display:none}
.avatar-rail button{padding:0}
.avatar-rail .avatar{width:32px;height:32px;font-size:9px}
.legend{display:flex;gap:6px 16px;padding:6px 2px 16px;flex-wrap:wrap;font-size:12px;color:var(--soft)}
.legend b{color:var(--text)}
.sponsor-slot:empty{display:none}
.sponsor-line{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 2px;margin:0 0 16px}
.sponsor-mark{width:34px;height:34px;border-radius:8px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;font:600 16px var(--serif);flex-shrink:0;color:var(--soft)}
.sponsor-copy{min-width:0;flex:1}
.sponsor-copy small{display:block;font-size:11px;color:var(--faint);letter-spacing:.04em}
.sponsor-copy strong{font-weight:600}
.sponsor-copy span{display:block;color:var(--muted);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sponsor-go{font-size:13px;color:var(--soft);white-space:nowrap}
.chart-panel{padding:14px}
.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:12px}
.panel-heading .legend{padding:0;gap:12px;font-size:11px}
.chart{display:flex;align-items:flex-end;gap:4px;height:98px;padding-top:19px}
.chart-column{flex:1;min-width:0;text-align:center;position:relative}
.chart-total{font-size:10px;color:var(--soft);position:absolute;bottom:calc(100% + 3px);left:0;right:0}
.chart-bars{display:flex;flex-direction:column-reverse;border-radius:2px 2px 0 0;overflow:hidden;min-height:1px}
.chart-bars span{width:100%;display:block}
.chart-labels{display:flex;gap:4px;color:var(--faint);font-size:10px;border-top:1px solid var(--line-strong);padding-top:7px}
.chart-labels span{text-align:center;flex:1}
.chart-labels b{color:var(--text)}
.empty{padding:40px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.empty h2{font:600 20px var(--serif)}
.empty p{color:var(--muted);max-width:360px}

/* right column (engagement, posts) */
.rightbar .panel{padding:14px}
.metrics{display:flex;justify-content:space-between;gap:9px;margin-top:14px}
.metrics b{font:600 28px var(--serif);display:block}
.metrics span{font-size:12px;color:var(--muted)}
.metric-note{font-size:11px;color:var(--faint);margin-top:10px}
.mini-post{display:flex;gap:10px;border-bottom:1px solid var(--line);padding:13px 0;text-align:left}
.mini-post:last-child{border:0}
.mini-post .avatar{width:28px;height:28px;font-size:8px}
.post-body{min-width:0;flex:1}
.post-name{font-weight:600;font-size:13px}
.post-time{float:right;font-size:11px;color:var(--faint)}
.post-meta{color:var(--muted);font-size:11px;margin-left:5px;white-space:nowrap}
.mini-post p{font-size:13px;color:var(--soft);margin:4px 0 7px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.post-footer{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:11px;color:var(--muted)}
.status{display:inline-flex;align-items:center;border-radius:4px;background:var(--surface-3);padding:2px 7px;white-space:nowrap;font-size:11px;color:var(--soft)}
.status .dot{width:6px;height:6px}
.party-tag{display:inline-block;padding:1px 5px;background:var(--surface-3);color:var(--soft);border-radius:3px;font-size:10px;line-height:1.3}
.all-posts{display:block;text-align:center;font-size:13px;color:var(--muted);padding-top:12px}
.post-open{color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}

/* tables */
.table-panel{min-height:300px}
.table-header{padding:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.table-header h1{font:600 18px var(--serif)}
.table-header small{font:400 12px var(--sans);color:var(--muted);margin-left:6px}
.table-scroll{overflow:auto;-webkit-overflow-scrolling:touch}
.data-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}
.data-table th{text-align:left;font-size:12px;font-weight:400;color:var(--muted);padding:9px 14px;border-bottom:1px solid var(--line)}
.data-table td{padding:11px 14px;border-bottom:1px solid var(--line)}
.data-table tbody tr:hover{background:var(--surface-2)}
.data-table .numeric{text-align:right}
.identity{display:flex;gap:11px;align-items:center}
.identity strong{font-size:13px}
.identity small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.identity-button{text-align:left;padding:0}
.rank{font-size:12px;color:var(--muted);width:18px}
.rank.top{color:var(--paid)}
.timeline{display:flex;gap:3px}
.timeline i{width:8px;height:14px;border:1px solid #3a3731;border-radius:2px}
.timeline i.support{background:var(--green);border-color:var(--green)}
.timeline i.mention{background:var(--blue);border-color:var(--blue)}
.networks{display:flex;gap:4px}
.network-button{border:1px solid var(--line-strong);border-radius:6px;font-size:11px;padding:4px 7px;color:var(--soft)}
.table-foot{padding:12px 14px;color:var(--faint);font-size:11px;white-space:normal}
.posts-header{padding:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}
.posts-controls{display:flex;gap:7px;flex-wrap:wrap}
.full-post{padding:16px 14px;display:flex;gap:10px;border-top:1px solid var(--line)}
.full-post p{font-size:14px;line-height:1.6;margin:8px 0 11px;color:var(--soft)}

/* ---------- mural ---------- */
.mural-panel{padding:14px}
.mural-heading{margin-bottom:10px}
.mural-heading h2{font:600 19px var(--serif);display:flex;align-items:center;gap:8px}
.mural-heading h2::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--red)}
.mural-sub{font-size:12px}
.compose-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;border:1px solid var(--line-strong);background:var(--surface-2);border-radius:12px;padding:10px 10px 10px 14px;color:var(--faint);min-height:48px}
.compose-trigger b{color:var(--bg);background:var(--text);border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}
.compose-trigger:hover{border-color:var(--muted)}
.mural-list{list-style:none;margin:6px 0 0;padding:0}
.mural-item{border-bottom:1px solid var(--line);padding:14px 2px}
.mural-item:last-child{border-bottom:0}
.mural-item.fresh{animation:fresh 1.6s ease-out}
@keyframes fresh{from{background:#22201b}to{background:transparent}}
.mural-top{display:flex;align-items:baseline;gap:8px;font-size:12px;color:var(--muted)}
.mural-top strong{color:var(--text);font-weight:600;font-size:13px}
.mural-top time{margin-left:auto;color:var(--faint);white-space:nowrap}
.mural-text{margin:6px 0 8px;font-size:15px;line-height:1.5;color:var(--soft);overflow-wrap:anywhere;white-space:pre-line}
.mural-actions{display:flex;gap:16px;font-size:12px}
.mural-actions button,.mural-actions a{color:var(--faint);padding:4px 0;min-height:28px}
.mural-actions button:hover,.mural-actions a:hover{color:var(--text)}
.paid-tag{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--paid);border:1px solid #4a3f2a;border-radius:4px;padding:1px 6px}
.mural-empty{color:var(--muted);padding:18px 2px;font-size:14px}
.more{display:block;margin:6px auto 0}
.mural-foot{font-size:12px;color:var(--faint);border-top:1px solid var(--line);padding-top:12px;margin-top:6px}
.mural-foot a{text-decoration:underline;text-underline-offset:3px}

/* ---------- action bar & buttons ---------- */
.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:8px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:rgba(15,14,13,.94);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--line)}
.action-bar>*{flex:1}
.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--text);color:#141210;border-radius:999px;padding:11px 18px;font-weight:600;font-size:15px;min-height:46px;text-align:center}
.primary-button:hover{background:#fff;color:#000}
.ghost-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);border-radius:999px;padding:11px 16px;font-weight:500;font-size:15px;min-height:46px;color:var(--soft)}
.ghost-button:hover{border-color:var(--muted);color:var(--text)}
.danger-button{border:1px solid #6b2a26;color:#ffb4ad;border-radius:999px;padding:8px 14px;font-size:13px}

/* ---------- footer ---------- */
.site-footer{max-width:1440px;margin:0 auto;padding:20px 16px 28px;border-top:1px solid var(--line);color:var(--faint);font-size:12px;display:flex;flex-direction:column;gap:6px}
.site-footer strong{color:var(--soft)}
.site-footer a{text-decoration:underline;text-underline-offset:3px}

/* ---------- dialog / sheets ---------- */
dialog{border:1px solid var(--line-strong);background:var(--surface);color:var(--text);border-radius:18px 18px 0 0;padding:22px 18px calc(22px + env(safe-area-inset-bottom));width:100%;max-width:100%;max-height:92vh;margin:auto 0 0;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.66)}
dialog h2{font:600 22px/1.2 var(--serif);padding-right:36px}
dialog h3{font-size:14px;margin:18px 0 6px}
dialog p{color:var(--soft);line-height:1.55}
dialog p+p{margin-top:8px}
dialog a{text-decoration:underline;text-underline-offset:3px}
.close{position:absolute;right:12px;top:12px;font-size:24px;line-height:1;width:40px;height:40px;border-radius:50%;color:var(--muted)}
.close:hover{background:var(--surface-3);color:var(--text)}
.notice{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13px;color:var(--soft);margin-top:12px}
.notice.warn{border-color:#5a4520;background:#1d1810}
.notice.ok{border-color:#2c5a43;background:#111c16}
.form{display:flex;flex-direction:column;gap:12px;margin-top:16px}
.form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--soft)}
.form input,.form textarea,.form select{background:var(--surface-2);border:1px solid var(--line-strong);border-radius:10px;padding:11px 12px;font-size:16px;color:var(--text);width:100%}
.form textarea{min-height:110px;resize:vertical;line-height:1.5}
.form input:focus,.form textarea:focus{outline:2px solid var(--soft);outline-offset:1px}
.counter{align-self:flex-end;font-size:12px;color:var(--faint)}
.counter.over{color:var(--red-soft)}
.error{color:#ffb4ad;font-size:13px;min-height:1em}
.option-list{display:flex;flex-direction:column;gap:8px}
.option{display:flex!important;flex-direction:row!important;align-items:center;gap:12px!important;border:1px solid var(--line-strong);border-radius:12px;padding:12px;cursor:pointer}
.option input{width:auto!important;accent-color:var(--text)}
.option:has(input:checked){border-color:var(--soft);background:var(--surface-2)}
.option-main{flex:1}
.option-main strong{display:block;color:var(--text);font-size:15px}
.option-main span{font-size:12px;color:var(--muted)}
.option-price{font:600 20px var(--serif);color:var(--text)}
.preview{border:1px solid #4a3f2a;background:#1b1813;border-radius:12px;padding:12px 14px;margin-top:4px}
.preview .paid-tag{margin-bottom:6px}
.preview p{font:500 17px/1.35 var(--serif);color:var(--text);overflow-wrap:anywhere}
.preview small{color:var(--muted);font-size:12px}
.conditions{font-size:12px;color:var(--muted);line-height:1.6;margin:0;padding-left:18px}
.order{border:1px solid var(--line-strong);border-radius:12px;padding:12px 14px;margin-top:10px}
.order-top{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--muted)}
.order-text{font:500 16px/1.4 var(--serif);margin:6px 0;overflow-wrap:anywhere}
.order-status{font-size:13px;color:var(--soft)}
.steps{display:flex;gap:4px;margin:10px 0 6px}
.steps i{flex:1;height:3px;border-radius:2px;background:var(--line-strong)}
.steps i.done{background:var(--soft)}
.steps i.now{background:var(--paid)}
.pix{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12px;text-align:center}
.pix img{width:220px;height:220px;background:#fff;border-radius:10px;padding:8px}
.pix code{display:block;max-width:100%;overflow-wrap:anywhere;font-size:11px;color:var(--muted);background:var(--surface-2);border-radius:8px;padding:8px}
.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.login-options{display:flex;flex-direction:column;gap:10px;margin-top:16px}
.divider{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:12px;margin:6px 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.toast{position:fixed;left:50%;bottom:calc(86px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--text);color:var(--bg);padding:10px 16px;border-radius:999px;font-size:14px;font-weight:500;z-index:60;max-width:calc(100% - 32px);text-align:center}
.cf-turnstile{min-height:65px}

/* ---------- share page ---------- */
.share-body{padding-bottom:0}
.share-page{max-width:560px;margin:0 auto;padding:28px 16px 40px;display:flex;flex-direction:column;gap:20px;min-height:100vh}
.share-card{border:1px solid var(--line-strong);background:var(--surface);border-radius:18px;padding:22px 20px}
.share-card .paid-tag{margin-bottom:10px}
.share-text{font:500 26px/1.3 var(--serif);overflow-wrap:anywhere;white-space:pre-line}
.share-meta{color:var(--muted);margin-top:14px;font-size:14px}
.share-note{color:var(--faint);margin-top:8px;font-size:12px}
.share-foot{color:var(--faint);font-size:12px;margin-top:auto}

/* ---------- static pages ---------- */
.doc-page{max-width:720px;margin:0 auto;padding:28px 16px 60px}
.doc-page h1{margin:22px 0 6px}
.doc-page h2{font:600 19px var(--serif);margin:26px 0 8px}
.doc-page p,.doc-page li{color:var(--soft);line-height:1.65}
.doc-page ul{padding-left:20px}
.doc-page a{text-decoration:underline;text-underline-offset:3px}

/* ---------- tablet / desktop ---------- */
@media (min-width:720px){
  .topbar{grid-template-columns:auto 1fr auto;padding:12px 20px}
  .tabs{grid-column:auto;grid-row:auto;margin:0;padding:0;justify-content:center}
  .live-label{display:inline}
  .identity-strip,.live-strip{padding-left:20px;padding-right:20px}
  .workspace{padding:16px 20px 24px}
  dialog{border-radius:18px;max-width:520px;margin:auto;padding:26px 24px}
  .search kbd{display:inline;color:var(--faint);border:1px solid var(--line-strong);border-radius:5px;font-size:10px;padding:1px 4px}
  .map-area{display:grid;grid-template-columns:minmax(0,1fr) 220px;align-items:start;gap:0 12px}
  .map-stat{order:0;grid-column:2;grid-row:1;align-self:center}
  .map{grid-column:1;grid-row:1/3;justify-self:center}
  .map-caption{grid-column:2;grid-row:2;align-self:end}
  .action-bar{left:auto;right:20px;bottom:20px;width:auto;border:1px solid var(--line-strong);border-radius:999px;padding:8px}
  .action-bar>*{flex:none}
  body{padding-bottom:0}
  .toast{bottom:90px}
}
@media (min-width:1100px){
  .workspace{display:grid;grid-template-columns:270px minmax(0,1fr) 360px;grid-template-areas:"side main community" "side right community";align-items:start;gap:18px}
  .sidebar{grid-area:side;position:sticky;top:76px}
  main{grid-area:main}
  .community{grid-area:community;position:sticky;top:76px;max-height:calc(100vh - 92px);display:flex}
  .community .mural-panel{display:flex;flex-direction:column;min-height:0;flex:1}
  .mural-list{overflow:auto;min-height:0;flex:1}
  .rightbar{grid-area:right;display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .filters summary{display:none}
  .filters{border:0;background:none}
  .filters-body{padding:0}
  .workspace.wide{grid-template-columns:270px minmax(0,1fr);grid-template-areas:"side main"}
  .workspace.wide .rightbar,.workspace.wide .community{display:none}
  .action-bar .primary-button{display:none}
}
[hidden]{display:none!important}
.all-posts svg,.post-open svg{width:11px;height:11px;vertical-align:middle;margin-left:6px;fill:none;stroke:currentColor;stroke-width:1.6}
.search kbd{white-space:nowrap}
@media (max-width:719px){.action-bar .primary-button,.action-bar .ghost-button{font-size:14px;padding:10px 12px;min-height:44px}}
.data-flag{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;letter-spacing:.02em;border-radius:4px;padding:2px 7px;margin-right:6px}
.data-flag::before{content:"";width:6px;height:6px;border-radius:50%}
.data-flag.demo{color:#e9c88a;background:#2a2213}.data-flag.demo::before{background:var(--amber)}
.data-flag.real{color:#b9c6f7;background:#171d33}.data-flag.real::before{background:var(--blue)}
.doc-page .brand,.share-page .brand{text-decoration:none}
/* dot map */
.dotmap{max-width:460px;aspect-ratio:392/342}
.uf-shape{fill:#181715;stroke:#34312c;stroke-width:.9;cursor:pointer;transition:fill .15s}
.uf-shape:hover{fill:#1f1e1b}
.uf-shape.on{fill:#22201c;stroke:#6b665d}
.dot-p{stroke:rgba(15,14,13,.55);stroke-width:.5;cursor:pointer;transition:opacity .2s}
.dot-p.dim{opacity:.18}
.dot-p:hover{stroke:#fff;stroke-width:1}
.uf-label{cursor:pointer;outline:none}
.uf-label text{font:600 8.5px var(--sans);fill:#e9e5dd;paint-order:stroke;stroke:#0f0e0d;stroke-width:2.6px;stroke-linejoin:round}
.uf-label .frac{font-weight:500;fill:#a9a399}
.uf-label.on text,.uf-label:focus text{fill:#fff}
.uf-label.on .frac{fill:#fff}
.leader{stroke:#57534b;stroke-width:.6}
.rail-more{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:32px;border-radius:999px;border:1px solid var(--line-strong);font-size:12px;color:var(--muted);padding:0 10px;flex-shrink:0}
@media (min-width:720px){.map-area{grid-template-columns:minmax(0,1fr) 200px}}
.dotmap{max-width:600px;width:100%}
@media (min-width:1100px){.map-area{grid-template-columns:minmax(0,1fr) 170px}.map-stat b{font-size:52px}}

.hunt-card{padding:14px;display:flex;flex-direction:column;gap:10px}
.hunt-card h2{font:600 17px var(--serif)}
.hunt-card p{font-size:13px;color:var(--muted)}
.hunt-card .ghost-button{font-size:14px;min-height:42px}
@media (min-width:1100px){.community{flex-direction:column;gap:14px}.hunt-card{flex-shrink:0}}

/* ---------- Identidade: cores do PT e da campanha ----------
   Vermelho #E4142C (PT). Amarelo #FFD401, azul #0034D0 e verde #02B825 (peças "Lula pelo Brasil").
   No painel essas cores carregam dados: verde = apoiou, azul = falou, amarelo = não falou. O azul é
   clareado para ser legível no fundo escuro. Sem logo do partido: o site é independente. */
@font-face{font-family:"BarlowC";src:url(/fonts/barlow-cond-latin-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"BarlowC";src:url(/fonts/barlow-cond-latin-ext-700.woff2) format("woff2");font-weight:700;font-display:swap;unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"BarlowC";src:url(/fonts/barlow-cond-latin-600.woff2) format("woff2");font-weight:600;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{
  --red:#e4142c;--red-soft:#ff4d5e;
  --green:#14c24a;--blue:#5b85ff;--amber:#ffd401;--gray:#5c5952;
  --pt-yellow:#ffd401;--pt-blue:#0034d0;--pt-green:#02b825;
  --display:"BarlowC","Arial Narrow",var(--sans);
}
.topbar{border-top:3px solid var(--red)}
.brand{font:700 28px/1 var(--display);letter-spacing:-.2px}
h1,.heading h1{font:700 30px/1 var(--display);text-transform:uppercase;letter-spacing:.2px}
.table-header h1{font:700 22px/1 var(--display);text-transform:uppercase}
.map-stat b,.metrics b,.activity-number b,.role-number{font-family:var(--display);font-weight:700;letter-spacing:-.5px}
.map-stat b{font-size:64px}
.map-stat p{font-family:var(--display);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.2px}
.mural-heading h2,.hunt-card h2,.empty h2,dialog h2,.admin-sec h2,.doc-page h2{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.2px}
.mural-heading h2{font-size:22px}
dialog h2{font-size:26px}
.doc-page h1{font-size:34px}
.strip-label,.sponsor-copy small,.paid-tag{font-family:var(--display);font-weight:600;letter-spacing:.06em}
/* buttons: red pills like the party site's calls to action */
.primary-button{background:var(--red);color:#fff;font-family:var(--display);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.4px}
.primary-button:hover{background:#f7263d;color:#fff}
.compose-trigger b{background:var(--red);color:#fff;font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-size:15px}
.ghost-button{font-family:var(--display);font-weight:700;text-transform:uppercase;letter-spacing:.4px;font-size:16px}
.tabs a[aria-current=page]::after{height:3px}
/* data colours */
.avatar{background:var(--green);border-color:#4ee07e;color:#04230e}
.avatar.blue{background:#a9bfff;border-color:var(--blue);color:#0a1c55}
.data-flag.demo{color:#ffe36a;background:#2b2508}
.data-flag.demo::before{background:var(--amber)}
.data-flag.real{color:#b7c9ff;background:#121c3d}
/* a discreet flag stripe under the live strip */
.live-strip-inner::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(var(--pt-green) 0 33%,var(--pt-yellow) 33% 66%,var(--pt-blue) 66%)}
.live-strip-inner.paid::before{background:var(--paid)}
.live-strip-inner{padding-left:18px}
@media (max-width:719px){.brand{font-size:26px}h1,.heading h1{font-size:28px}.map-stat b{font-size:58px}}

/* ---------- v4: reference parity ---------- */
.hide-mobile{display:none!important}
.show-mobile{display:inline}
@media (min-width:720px){.hide-mobile{display:inline-flex!important}.show-mobile{display:none!important}}
.countdown{font-size:13px;color:var(--soft);white-space:nowrap;align-items:center}
.countdown b{color:var(--text);font-weight:600}
#countdown-m{margin-right:8px;color:var(--soft);font-weight:500}
.clock{font:500 13px var(--sans);font-variant-numeric:tabular-nums;color:var(--muted);align-items:center;gap:6px}
.clock::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--blue)}
/* avatars with photos and status rings */
.avatar{overflow:hidden;position:relative}
.avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 20%;display:block}
.avatar.amber{background:#3a3214;border-color:var(--amber);color:#ffe36a}
.avatar.gray{border-color:#4a4740}
.avatar.sel,.avatar-rail button.sel .avatar,.avatar-rail .sel{box-shadow:0 0 0 2px var(--bg),0 0 0 4px #fff}
.dot.quiet{background:#8a857b}
.dot.gray{background:transparent;box-shadow:inset 0 0 0 1.5px #6a665e}
/* heading actions, crumbs */
.heading-actions{display:flex;gap:8px;align-items:center}
.icon-button{width:38px;height:38px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface-2);display:inline-flex;align-items:center;justify-content:center}
.icon-button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.icon-button:hover{border-color:var(--muted)}
.crumbs{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);margin:2px 0 4px}
.crumbs button{color:var(--soft);text-decoration:underline;text-underline-offset:3px;padding:6px 0}
.crumbs b{color:var(--text)}
/* map: big number over the map, hollow "no data" dots, zoom */
.map-area{position:relative;display:block;padding-top:0}
.dotmap{display:block;margin:0 auto;max-width:640px}
.map-stat{position:static;margin-bottom:6px}
.collect-line{grid-column:1/-1;display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--soft);margin-top:4px}
.collect-line i{width:7px;height:7px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
.collect-line.idle{color:var(--faint)}
.dot-p.hollow{stroke:#6a665e;fill:none}
.dot-p.sel{stroke:#fff!important;stroke-width:1.4px!important;r:4.5}
.uf-shape.off{fill:#141311;stroke:#2a2824}
.city-label{fill:#d8d3ca;paint-order:stroke;stroke:#0f0e0d;stroke-linejoin:round;font-family:var(--sans);font-weight:500;pointer-events:none}
.uf-label text{font-size:8px}
.uf-label .uf{font-weight:700;fill:#f3efe8}
.map-caption{display:block;text-align:right;margin-top:2px}
@media (min-width:720px){
  .map-area{min-height:360px}
  .map-stat{position:absolute;top:6px;right:0;margin:0;pointer-events:none;text-shadow:0 2px 12px rgba(0,0,0,.8);max-width:240px}
  .map-stat b{font-size:72px}
  .map-stat .collect-line{pointer-events:auto}
  .dotmap{max-width:600px;margin:0 auto 0 0}
}
/* chart to election day */
.chart-column.future .chart-bars{background:transparent;border-top:1px dashed #3d3a35}
.chart-column.last .chart-bars{border-top:2px solid var(--red)}
.chart-labels span.future{color:#5f5b54}
.chart-labels small{display:block;font-size:9px;color:var(--red-soft);white-space:nowrap;margin-left:-14px;margin-right:-14px}
/* person panel */
.person-panel{position:fixed;z-index:40;inset:0;background:var(--surface);overflow:auto;padding:14px 16px calc(24px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.pp-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.pp-nav{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted)}
.pp-nav button,.pp-close{width:38px;height:38px;border-radius:50%;border:1px solid var(--line-strong);font-size:20px;line-height:1;color:var(--soft)}
.pp-nav button:hover,.pp-close:hover{border-color:var(--muted);color:var(--text)}
.pp-close{border:0;font-size:26px}
.pp-id{display:flex;flex-direction:column;gap:12px}
.pp-id .avatar{width:76px;height:76px;font-size:20px;border-width:3px}
.pp-id h2{font:700 30px/1.05 var(--display);text-transform:none;letter-spacing:0}
.pp-id p{color:var(--muted);font-size:13px;margin-top:4px}
.pp-status{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:14px 0;font-size:13px}
.pp-status .status{font-size:13px;padding:3px 8px}
.pp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pp-stats b{display:block;font:700 30px/1 var(--display)}
.pp-stats span{font-size:12px;color:var(--muted)}
.person-panel h3{font:700 15px var(--display);text-transform:uppercase;letter-spacing:.4px;color:var(--soft);margin:20px 0 8px}
.pp-nets{list-style:none;margin:0;padding:0}
.pp-nets li{display:grid;grid-template-columns:22px 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line);font-size:14px}
.pp-nets .net-icon{grid-row:1/3;color:var(--soft);text-align:center}
.pp-nets a{text-decoration:none;color:var(--text);overflow:hidden;text-overflow:ellipsis}
.pp-nets a:hover{text-decoration:underline}
.pp-nets small{grid-column:2;font-size:11px;color:var(--faint)}
.pp-nets b{grid-column:3;grid-row:1/3;font-size:12px;color:var(--muted);font-weight:500}
.pp-days{display:grid;grid-template-columns:repeat(14,1fr);gap:4px}
.pp-days i{aspect-ratio:1;border-radius:3px;background:#22201c;border:1px solid #2f2c28}
.pp-days i.mention{background:var(--blue);border-color:var(--blue)}
.pp-days i.support{background:var(--green);border-color:var(--green)}
.pp-post{border-top:1px solid var(--line);padding:12px 0}
.pp-post-top{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.pp-post p{font-size:14px;color:var(--soft);margin:6px 0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.pp-post-foot{display:flex;justify-content:space-between;font-size:12px}
.pp-post-foot a{color:var(--soft);text-decoration:underline;text-underline-offset:3px;margin-left:auto}
.pp-post-foot small{color:var(--faint)}
.pp-source{font-size:12px;color:var(--faint);margin-top:18px;border-top:1px solid var(--line);padding-top:12px}
.pp-source a{text-decoration:underline}
@media (min-width:1100px){
  .person-panel{inset:auto;top:76px;right:20px;bottom:20px;width:380px;border:1px solid var(--line-strong);border-radius:var(--radius);box-shadow:0 24px 60px rgba(0,0,0,.5)}
  .pp-id{flex-direction:column}
  body.panel-open .action-bar{display:none}
}
/* live activity toasts */
.activity-toasts{position:fixed;z-index:35;left:16px;right:16px;bottom:calc(84px + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;pointer-events:none}
.activity-toast{pointer-events:auto;display:flex;align-items:center;gap:10px;text-align:left;background:rgba(28,27,24,.96);border:1px solid var(--line-strong);border-radius:14px;padding:10px 14px 10px 10px;box-shadow:0 12px 30px rgba(0,0,0,.45);animation:toastIn .35s ease-out;max-width:380px;position:relative;overflow:hidden}
.activity-toast .avatar{width:40px;height:40px}
.activity-toast strong{display:block;font-size:14px}
.activity-toast small{display:block;font-size:12px;color:var(--muted)}
.activity-toast em{display:inline-flex;gap:6px;align-items:center;font-style:normal;font-size:11px;font-weight:600;color:var(--amber);background:#2b2508;border-radius:999px;padding:2px 8px;margin-top:4px}
.activity-toast em i{font-style:normal;letter-spacing:1px;font-size:8px}
.activity-toast::after{content:"";position:absolute;left:0;bottom:0;height:2px;background:var(--amber);animation:toastBar 7s linear forwards}
.activity-toast.out{opacity:0;transform:translateY(8px);transition:.35s}
@keyframes toastIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@keyframes toastBar{from{width:100%}to{width:0}}
@media (min-width:720px){.activity-toasts{left:310px;right:auto;bottom:24px}}
/* fixes after visual review */
.dotmap{overflow:hidden}
.countdown{display:inline-block}
.countdown.hide-mobile{display:none!important}
@media (min-width:720px){
  .countdown.hide-mobile{display:inline-block!important}
  .map-area{display:grid;grid-template-columns:minmax(0,1fr) 190px;align-items:start;gap:0 8px;min-height:0}
  .map-stat{position:static;grid-column:2;grid-row:1;align-self:center;text-shadow:none;max-width:none}
  .map-stat b{font-size:64px}
  .dotmap{grid-column:1;grid-row:1;max-width:620px;margin:0 auto}
  .map-caption{grid-column:1/-1}
  .activity-toasts{left:20px;bottom:20px}
}
@media (max-width:719px){
  .map-area{display:flex;flex-direction:column}
  .map-stat{order:-1}
  .chart{gap:2px}
  .chart-total{font-size:8px}
  .chart-labels{gap:2px}
  .chart-labels span:not(:has(b)){visibility:hidden}
  .chart-labels small{margin-left:-20px;margin-right:0}
}

/* Municipal discovery keeps geography available even with no matching profiles. */
.municipal-tools{border:1px solid var(--line-strong);border-left:3px solid #ed1235;border-radius:12px;padding:14px;margin:12px 0 16px;background:#191816}.municipal-tools h2{margin:0 0 8px}.municipal-tools label{display:block;font-size:13px;margin:8px 0}.municipal-tools select,.municipal-tools input{width:100%;min-height:44px;background:#24231f;color:#f4f1e9;border:1px solid #555148;border-radius:8px;padding:10px;font:inherit}.municipal-tools p,.city-results small{font-size:12px;color:#c4beb2;margin:10px 0 0}.city-results{display:flex;gap:6px;flex-wrap:wrap;max-height:152px;overflow:auto;margin-top:10px}.city-results button{min-height:44px;padding:8px 12px;border:1px solid #555148;border-radius:8px;background:#24231f;color:#f4f1e9;font:inherit;font-size:13px}.city-results button[aria-pressed=true]{border-color:#ed1235;background:#551627}.city-results small{flex-basis:100%}.city-selected{fill:#fff!important;opacity:1;stroke:#ed1235;stroke-width:.5}.municipal-tools~.map-area{display:flex;flex-direction:column}.municipal-tools~.map-area .dotmap{width:100%;max-width:720px}.municipal-tools~.map-area .map-stat{order:1;align-self:flex-start;margin:10px 0}.municipal-tools~.map-area .map-caption{order:2}#main{scroll-margin-top:80px}

@media(max-width:719px){#main{scroll-margin-top:120px}.city-results{max-height:104px}}
