:root{
  --paper:#F7F5F0;
  --paper-dim:#EFEBE3;
  --ink:#13161C;
  --ink-soft:#4B5160;
  --line:#E3DED2;
  --signal:#1E40FF;
  --signal-dim:#EEF1FF;
  --urgent:#FF4B2E;
  --urgent-dim:#FFF0EC;
  --calm:#12876F;
  --calm-dim:#E8F5F1;
  --card:#FFFFFF;
  --radius:14px;
  --shadow: 0 1px 2px rgba(19,22,28,.04), 0 8px 24px -12px rgba(19,22,28,.12);
}
[data-theme="dark"]{
  --paper:#0F1115;
  --paper-dim:#15181E;
  --ink:#F2F1ED;
  --ink-soft:#9AA0AC;
  --line:#262A33;
  --signal:#6E86FF;
  --signal-dim:#1A1F33;
  --urgent:#FF6A50;
  --urgent-dim:#2A1712;
  --calm:#3FCBA8;
  --calm-dim:#0E2620;
  --card:#181B22;
  --shadow: 0 1px 2px rgba(0,0,0,.3), 0 12px 30px -14px rgba(0,0,0,.6);
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Inter',sans-serif;
  transition:background .35s ease, color .35s ease;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%; display:block;}
a{color:inherit; text-decoration:none;}
.eyebrow{
  font-family:'JetBrains Mono',monospace;
  font-size:11px;
  letter-spacing:.09em;
  text-transform:uppercase;
  font-weight:500;
}
.wrap{max-width:1240px; margin:0 auto; padding:0 24px;}

#pulse-bar{
  position:fixed; top:0; left:0; height:3px; width:0%;
  background:linear-gradient(90deg,var(--signal),var(--calm));
  z-index:999; transition:width .1s linear;
}

.utility{
  background:var(--ink); color:var(--paper);
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px;
}
[data-theme="dark"] .utility{background:#08090C;}
.utility .wrap{display:flex; justify-content:space-between; align-items:center; height:34px; letter-spacing:.02em;}
.utility-left{display:flex; gap:18px; opacity:.85;}
.utility-right{display:flex; gap:16px; align-items:center;}
.theme-toggle{
  background:none; border:1px solid rgba(255,255,255,.25); color:inherit;
  font-family:inherit; font-size:11px; letter-spacing:.05em; text-transform:uppercase;
  border-radius:20px; padding:3px 10px; cursor:pointer; transition:.2s;
}
.theme-toggle:hover{border-color:rgba(255,255,255,.6);}

header.main{
  position:sticky; top:0; z-index:60;
  background:var(--paper); border-bottom:1px solid var(--line);
  backdrop-filter:blur(10px);
}
.header-row{display:flex; align-items:center; justify-content:space-between; height:76px; gap:24px;}
.logo{
  font-family:'Fraunces',serif; font-weight:700; font-size:28px; letter-spacing:-.01em;
  display:flex; align-items:baseline; gap:6px;
}
.logo img.logo-img{height:34px; width:auto; display:block;}
.logo .plus{color:var(--urgent); font-size:20px;}
.logo .tagline{
  font-family:'JetBrains Mono',monospace; font-size:10px; color:var(--ink-soft);
  letter-spacing:.08em; text-transform:uppercase; margin-left:10px; font-weight:500;
  border-left:1px solid var(--line); padding-left:10px; display:none;
}
@media(min-width:900px){.logo .tagline{display:inline;}}

nav.cats{display:flex; gap:2px; overflow-x:auto; scrollbar-width:none;}
nav.cats::-webkit-scrollbar{display:none;}
nav.cats a{
  font-size:13.5px; font-weight:600; padding:9px 13px; border-radius:8px;
  white-space:nowrap; color:var(--ink-soft); transition:.15s;
}
nav.cats a:hover{background:var(--paper-dim); color:var(--ink);}
nav.cats a.active{color:var(--signal); background:var(--signal-dim);}

.header-actions{display:flex; align-items:center; gap:14px;}
.icon-btn{
  width:38px; height:38px; border-radius:50%; border:1px solid var(--line);
  display:flex; align-items:center; justify-content:center; background:var(--card);
  cursor:pointer; color:var(--ink); transition:.2s;
}
.icon-btn:hover{border-color:var(--signal); color:var(--signal);}
.streak-chip{
  display:flex; align-items:center; gap:6px; background:var(--calm-dim); color:var(--calm);
  padding:6px 12px; border-radius:20px; font-size:12.5px; font-weight:700;
  font-family:'JetBrains Mono',monospace;
}

.ticker{
  background:var(--urgent-dim); border-bottom:1px solid var(--line);
  overflow:hidden; white-space:nowrap; position:relative;
}
.ticker-inner{display:flex; align-items:center; height:42px;}
.ticker-tag{
  flex:0 0 auto; background:var(--urgent); color:#fff; font-weight:800; font-size:11px;
  letter-spacing:.07em; padding:5px 14px; border-radius:20px; margin-left:24px; margin-right:16px;
  font-family:'JetBrains Mono',monospace;
}
.ticker-track{display:flex; gap:48px; animation:scrollTicker 32s linear infinite; align-items:center;}
.ticker-track span{font-size:13.5px; font-weight:600; color:var(--ink); opacity:.85;}
.ticker-track span::after{content:"•"; margin-left:48px; color:var(--urgent); opacity:.6;}
@keyframes scrollTicker{from{transform:translateX(0);} to{transform:translateX(-50%);}}

.hero{padding:36px 0 44px;}
.hero-grid{display:grid; grid-template-columns:1.6fr 1fr; gap:22px;}
@media(max-width:860px){.hero-grid{grid-template-columns:1fr;}}

.lead-card{
  position:relative; border-radius:var(--radius); overflow:hidden; background:var(--card);
  box-shadow:var(--shadow); min-height:440px; display:flex; flex-direction:column; justify-content:flex-end;
}
.lead-img{
  position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(15,17,21,0) 30%, rgba(10,11,14,.92) 100%),
    linear-gradient(135deg,#2F3E8C 0%, #1E2A5E 45%, #0F1220 100%);
  background-size: cover;
  background-position: center;
}
.lead-img.tem-imagem{
  background:
    linear-gradient(180deg, rgba(15,17,21,0) 30%, rgba(10,11,14,.92) 100%),
    var(--lead-bg-image) center / cover no-repeat;
}
.lead-img::after{
  content:"";
  position:absolute; inset:0; opacity:.16;
  background-image: radial-gradient(circle at 20% 30%, #fff 0, transparent 2px),
                     radial-gradient(circle at 70% 60%, #fff 0, transparent 2px),
                     radial-gradient(circle at 40% 80%, #fff 0, transparent 2px);
  background-size: 140px 140px;
}
.lead-content{position:relative; z-index:2; padding:28px 30px 30px; color:#fff;}
.tag-row{display:flex; gap:8px; margin-bottom:14px; align-items:center;}
.tag{
  font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; padding:4px 10px; border-radius:20px;
}
.tag.urgente{background:var(--urgent); color:#fff;}
.tag.categoria{background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.25);}
.lead-content h1{
  font-family:'Fraunces',serif; font-weight:600; font-size:clamp(26px,3.4vw,40px);
  line-height:1.12; letter-spacing:-.01em; margin-bottom:12px; max-width:22ch;
}
.lead-meta{display:flex; gap:16px; align-items:center; font-size:12.5px; opacity:.8; font-family:'JetBrains Mono',monospace;}

.side-stack{display:flex; flex-direction:column; gap:16px;}
.mini-card{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:16px; display:flex; gap:14px; align-items:flex-start; box-shadow:var(--shadow);
  transition:.2s; cursor:pointer;
}
.mini-card:hover{transform:translateY(-2px); border-color:var(--signal);}
.mini-thumb{
  flex:0 0 84px; height:84px; border-radius:9px;
  background:linear-gradient(135deg,var(--c1),var(--c2));
  background-size: cover; background-position: center;
}
.mini-body h3{
  font-family:'Fraunces',serif; font-weight:600; font-size:16.5px; line-height:1.28; margin:6px 0 8px;
}
.mini-body .eyebrow{color:var(--signal);}

.section-head{
  display:flex; align-items:baseline; justify-content:space-between; margin-bottom:18px; gap:16px;
}
.section-head h2{
  font-family:'Fraunces',serif; font-weight:600; font-size:23px; display:flex; align-items:center; gap:10px;
}
.section-head h2 .pulse-dot{
  width:9px; height:9px; border-radius:50%; background:var(--urgent);
  box-shadow:0 0 0 0 rgba(255,75,46,.5); animation:pulseDot 1.8s infinite;
}
@keyframes pulseDot{
  0%{box-shadow:0 0 0 0 rgba(255,75,46,.45);}
  70%{box-shadow:0 0 0 9px rgba(255,75,46,0);}
  100%{box-shadow:0 0 0 0 rgba(255,75,46,0);}
}
.see-all{font-size:13px; font-weight:700; color:var(--signal); display:flex; align-items:center; gap:4px;}

.trending{padding:8px 0 46px;}
.rail{
  display:flex; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding:6px 2px 14px;
  scrollbar-width:thin;
}
.rail::-webkit-scrollbar{height:6px;}
.rail::-webkit-scrollbar-thumb{background:var(--line); border-radius:6px;}
.trend-card{
  scroll-snap-align:start; flex:0 0 270px; background:var(--card); border-radius:var(--radius);
  border-left:4px solid var(--cat-color, var(--signal)); box-shadow:var(--shadow);
  padding:16px; display:flex; flex-direction:column; gap:10px; transition:.2s; position:relative;
}
.trend-card:hover{transform:translateY(-3px);}
.trend-thumb{
  height:120px; border-radius:9px; background:linear-gradient(135deg,var(--c1),var(--c2));
  background-size: cover; background-position: center;
  position:relative; overflow:hidden;
}
.trend-rank{
  position:absolute; top:8px; left:8px; background:rgba(0,0,0,.55); color:#fff; font-family:'JetBrains Mono',monospace;
  font-size:11px; font-weight:700; padding:3px 8px; border-radius:20px; backdrop-filter:blur(4px);
}
.trend-cat{color:var(--cat-color, var(--signal)); font-weight:700;}
.trend-card h3{font-family:'Fraunces',serif; font-size:16px; font-weight:600; line-height:1.3;}
.trend-foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto;}
.read-time{font-size:11.5px; color:var(--ink-soft); font-family:'JetBrains Mono',monospace;}
.save-btn{
  width:30px; height:30px; border-radius:50%; border:1px solid var(--line); background:var(--card);
  display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--ink-soft); transition:.15s;
}
.save-btn svg{width:15px; height:15px;}
.save-btn.saved{background:var(--calm); border-color:var(--calm); color:#fff;}
.save-btn:active{transform:scale(.85);}

.cat-section{padding:10px 0 46px;}
.cat-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:18px;}
@media(max-width:900px){.cat-grid{grid-template-columns:1fr;}}
.feature-story{
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden;
  box-shadow:var(--shadow); display:flex; flex-direction:column;
}
.feature-story .thumb{height:190px; background:linear-gradient(135deg,var(--c1),var(--c2)); background-size: cover; background-position: center;}
.feature-story .body{padding:20px;}
.feature-story h3{font-family:'Fraunces',serif; font-size:21px; font-weight:600; line-height:1.25; margin:8px 0 10px;}
.feature-story p{font-size:14px; color:var(--ink-soft); line-height:1.55;}

.list-story{
  display:flex; gap:14px; padding:14px 0; border-bottom:1px solid var(--line); align-items:flex-start;
}
.list-story:last-child{border-bottom:none; padding-bottom:0;}
.list-thumb{
  flex:0 0 76px; height:76px; border-radius:8px; background:linear-gradient(135deg,var(--c1),var(--c2));
  background-size: cover; background-position: center;
}
.list-story h4{font-family:'Fraunces',serif; font-size:15px; font-weight:600; line-height:1.32; margin-top:4px;}
.cat-col{background:var(--card); border:1px solid var(--line); border-radius:var(--radius); padding:18px; box-shadow:var(--shadow);}
.cat-col-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:4px;}
.cat-col-head .eyebrow{color:var(--cat-color);}

.newsletter{padding:54px 0;}
.nl-card{
  background:var(--calm-dim); border:1px solid var(--calm); border-radius:20px; padding:38px;
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
}
.nl-copy h2{font-family:'Fraunces',serif; font-size:24px; font-weight:600; margin-bottom:8px;}
.nl-copy p{font-size:14px; color:var(--ink-soft); max-width:42ch;}
.nl-form{display:flex; gap:10px; flex-wrap:wrap;}
.nl-form input{
  padding:13px 16px; border-radius:10px; border:1px solid var(--line); font-family:inherit; font-size:14px;
  min-width:230px; background:var(--card); color:var(--ink);
}
.nl-form button{
  padding:13px 22px; border-radius:10px; border:none; background:var(--calm); color:#fff; font-weight:700;
  font-size:14px; cursor:pointer; transition:.2s;
}
.nl-form button:hover{background:#0d6c5a;}

footer{background:var(--ink); color:#9AA0AC; padding:48px 0 24px;}
[data-theme="dark"] footer{background:#08090C;}
.foot-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:28px; margin-bottom:36px;}
@media(max-width:760px){.foot-grid{grid-template-columns:1fr 1fr;}}
.foot-logo{font-family:'Fraunces',serif; font-size:22px; font-weight:700; color:#fff; margin-bottom:10px;}
.foot-grid h5{color:#fff; font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; font-family:'JetBrains Mono',monospace;}
.foot-grid a{display:block; font-size:13.5px; padding:5px 0; color:#9AA0AC; transition:.15s;}
.foot-grid a:hover{color:#fff;}
.foot-bottom{border-top:1px solid rgba(255,255,255,.08); padding-top:20px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; font-size:12px;}

#toast{
  position:fixed; bottom:26px; left:50%; transform:translateX(-50%) translateY(20px);
  background:var(--ink); color:var(--paper); padding:13px 22px; border-radius:30px; font-size:13.5px; font-weight:600;
  display:flex; align-items:center; gap:10px; box-shadow:0 12px 30px -8px rgba(0,0,0,.4);
  opacity:0; pointer-events:none; transition:.3s ease; z-index:200;
}
#toast.show{opacity:1; transform:translateX(-50%) translateY(0);}
#toast .dot{width:8px; height:8px; border-radius:50%; background:var(--calm);}

.vazio{
  padding:28px; text-align:center; color:var(--ink-soft); font-size:14px;
  border:1px dashed var(--line); border-radius:var(--radius);
}

.post{padding:40px 0 20px; max-width:760px;}
.post-head .tag-row{margin-bottom:16px;}
.post-tag{font-weight:700;}
.post-title{
  font-family:'Fraunces',serif; font-weight:600; font-size:clamp(28px,4.2vw,44px);
  line-height:1.14; letter-spacing:-.01em; margin-bottom:14px;
}
.post-subtitle{font-size:18px; color:var(--ink-soft); line-height:1.5; margin-bottom:18px;}
.post-meta{display:flex; gap:14px; align-items:center; font-size:13px; color:var(--ink-soft); font-family:'JetBrains Mono',monospace; margin-bottom:28px;}
.post-cover{
  width:100%; aspect-ratio:16/9; border-radius:var(--radius); background-size:cover; background-position:center;
  margin:0 0 32px; box-shadow:var(--shadow);
}
.post-body{font-size:18px; line-height:1.75; color:var(--ink);}
.post-body p{margin-bottom:20px;}
.post-body h2,.post-body h3{font-family:'Fraunces',serif; font-weight:600; margin:32px 0 14px; line-height:1.3;}
.post-body img{border-radius:10px; margin:24px 0;}
.post-body a{color:var(--signal); text-decoration:underline;}
.post-body blockquote{
  border-left:3px solid var(--signal); padding-left:18px; margin:24px 0;
  font-family:'Fraunces',serif; font-style:italic; font-size:20px; color:var(--ink-soft);
}

.pagination{
  display:flex; align-items:center; justify-content:center; gap:20px; margin-top:36px;
  font-family:'JetBrains Mono',monospace; font-size:13px;
}
.pagination a{color:var(--signal); font-weight:700;}
.pagination span{color:var(--ink-soft);}

::selection{background:var(--signal); color:#fff;}

@media(max-width:680px){
  .wrap{padding:0 16px;}
  .utility-left span{white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:60vw; display:inline-block;}
  .header-row{height:auto; padding:12px 0; flex-wrap:wrap; gap:10px;}
  .logo{font-size:22px;}
  .logo img.logo-img{height:28px;}
  nav.cats{order:3; width:100%; flex:1 0 100%;}
  .hero{padding:24px 0 32px;}
  .lead-card{min-height:320px;}
  .lead-content{padding:20px;}
  .lead-content h1{font-size:clamp(22px,6vw,30px);}
  .side-stack{gap:12px;}
  .mini-card{padding:12px; gap:10px;}
  .mini-thumb{flex-basis:64px; height:64px;}
  .section-head h2{font-size:19px;}
  .trend-card{flex-basis:230px;}
  .cat-col{padding:14px;}
  .feature-story .thumb{height:150px;}
  .nl-card{padding:24px; flex-direction:column; align-items:flex-start;}
  .nl-form{width:100%;}
  .nl-form input{min-width:0; flex:1;}
  .foot-grid{grid-template-columns:1fr; gap:24px;}
  .post-subtitle{font-size:16px;}
  .post-body{font-size:16px;}
}
