
/* ================= temas ================= */
html[data-theme="nevoa"]{
  --bg:#C6D8EA; --panel:#8B97A4; --panel-2:#A6B5C5;
  --line:#9AA8B7; --line-2:#7B8691;
  --text:#141617; --dim:#3C4147; --faint:#50575E;
  --accent:#0B3D75; --accent-ink:#FFFFFF;
  --amber:#965c0d; --violet:#453a82; --clay:#8E473A; --steel:#2E5F86;
  --grid:rgba(11,61,117,0.08);
  --glow-a:rgba(11,61,117,0.15); --glow-b:rgba(91,81,156,0.12);
}
html[data-theme="aco"]{
  --bg:#1B3148; --panel:#253A50; --panel-2:#2E4358;
  --line:#33475B; --line-2:#4B5C6E;
  --text:#F1F3F4; --dim:#B6BDC5; --faint:#96A0AA;
  --accent:#A8D8FF; --accent-ink:#181E24;
  --amber:#D9922E; --violet:#998FDF; --clay:#CF8679; --steel:#699EC8;
  --grid:rgba(255,255,255,0.03);
  --glow-a:rgba(168,216,255,0.17); --glow-b:rgba(153,143,223,0.11);
}
html[data-theme="ardosia"]{
  --bg:#142639; --panel:#1F3042; --panel-2:#28384A;
  --line:#2D3D4E; --line-2:#455463;
  --text:#F1F2F3; --dim:#A9B0B7; --faint:#8C959E;
  --accent:#8CC8FF; --accent-ink:#141C24;
  --amber:#D9922E; --violet:#8D82DB; --clay:#C97869; --steel:#5892C1;
  --grid:rgba(255,255,255,0.03);
  --glow-a:rgba(140,200,255,0.17); --glow-b:rgba(141,130,219,0.11);
}
html[data-theme="cobalto"]{
  --bg:#0D1B2E; --panel:#182537; --panel-2:#222E40;
  --line:#263344; --line-2:#404B5A;
  --text:#F0F1F2; --dim:#A0A6AD; --faint:#838B94;
  --accent:#6FB6FF; --accent-ink:#101924;
  --amber:#D9922E; --violet:#8478D8; --clay:#C46B5B; --steel:#4B8ABC;
  --grid:rgba(255,255,255,0.03);
  --glow-a:rgba(111,182,255,0.17); --glow-b:rgba(132,120,216,0.11);
}
html[data-theme="meianoite"]{
  --bg:#080F18; --panel:#131A22; --panel-2:#1D232C;
  --line:#222830; --line-2:#3C4149;
  --text:#F0F1F1; --dim:#9C9FA3; --faint:#7F8388;
  --accent:#5EA8FF; --accent-ink:#0D1824;
  --amber:#D9922E; --violet:#7C6FD6; --clay:#C0604F; --steel:#3F82B8;
  --grid:rgba(255,255,255,0.03);
  --glow-a:rgba(94,168,255,0.17); --glow-b:rgba(124,111,214,0.11);
}
html[data-theme="indigo"]{
  --bg:#121230; --panel:#1D1D39; --panel-2:#262642;
  --line:#2B2B46; --line-2:#44445B;
  --text:#F1F1F3; --dim:#A0A0AC; --faint:#858594;
  --accent:#9D8CFF; --accent-ink:#161424;
  --amber:#D9922E; --violet:#8073D7; --clay:#C36656; --steel:#4586BA;
  --grid:rgba(255,255,255,0.03);
  --glow-a:rgba(157,140,255,0.17); --glow-b:rgba(128,115,215,0.11);
}
html[data-theme="cobre"]{
  --bg:#14161B; --panel:#1F2025; --panel-2:#282A2E;
  --line:#2D2E33; --line-2:#45474B;
  --text:#F1F1F1; --dim:#A1A2A4; --faint:#86878A;
  --accent:#E9A64A; --accent-ink:#21170A;
  --amber:#D9922E; --violet:#8073D7; --clay:#C36656; --steel:#4586BA;
  --grid:rgba(255,255,255,0.03);
  --glow-a:rgba(233,166,74,0.17); --glow-b:rgba(128,115,215,0.11);
}

/* ================= scrollbar ================= */
::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--accent); }

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;background:var(--bg);color:var(--text);
  font-family:"Space Grotesk",system-ui,sans-serif;font-size:16px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  background-image:
    linear-gradient(var(--grid) 1px,transparent 1px),
    linear-gradient(90deg,var(--grid) 1px,transparent 1px),
    radial-gradient(circle at 14% 0%,var(--glow-a),transparent 30%),
    radial-gradient(circle at 90% 18%,var(--glow-b),transparent 28%);
  background-size:48px 48px,48px 48px,auto,auto;
  background-attachment:fixed,fixed,fixed,fixed;
  transition:background-color .3s ease,color .3s ease;
}
a{color:inherit; transition: color 0.2s ease;}
h1,h2,h3{margin:0;font-weight:500;line-height:1.25}
.wrap{max-width:70rem;margin:0 auto;padding:0 clamp(1.2rem,5vw,3rem)}

/* ================= i18n ================= */
.en{display:none}
html[data-lang="en"] .pt{display:none}
html[data-lang="en"] .en{display:inline}

/* ================= barra ================= */
.statusbar{
  border-bottom:1px solid var(--line);
  background: color-mix(in srgb, var(--bg) 85%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  position:sticky;top:0;z-index:40;
  transition: all 0.3s ease;
}
.statusbar .wrap{
  display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1.5rem;
  padding-top:.8rem;padding-bottom:.8rem;
  font-family:"JetBrains Mono",monospace;font-size:.7rem;letter-spacing:.04em;color:var(--faint);
}
.statusbar b{font-weight:500;color:var(--text)}
.brand{
  display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;
  color:var(--text);font-weight:600;letter-spacing:.09em;text-transform:uppercase;
  font-size:.7rem;white-space:nowrap;
}
.brand:hover{color:var(--accent)}
.pulse{width:8px;height:8px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:.5rem}
@media(prefers-reduced-motion:no-preference){
  .pulse{animation:beat 3s ease-out infinite}
  @keyframes beat{0%{box-shadow:0 0 0 0 var(--glow-a)}70%{box-shadow:0 0 0 8px transparent}100%{box-shadow:0 0 0 0 transparent}}
}
.ctrl{margin-left:auto;display:flex;gap:.75rem; align-items:center;}
.ctrl button{
  font:inherit;font-size:.7rem;letter-spacing:.06em;
  background:transparent;color:var(--faint);border:1px solid var(--line-2);
  padding:.3rem .6rem;cursor:pointer;border-radius:4px;transition:all .2s ease;
}
.ctrl button:hover,.ctrl button:focus-visible{color:var(--text);border-color:var(--accent); background: var(--glow-a);}
.ctrl button b{color:var(--text);font-weight:600}
.themes{display:flex;align-items:center;gap:.35rem}
.themes button{
  width:22px;height:22px;padding:0;border:1px solid var(--line-2);background:transparent;
  border-radius:50%;cursor:pointer;display:grid;place-items:center;transition:all .2s cubic-bezier(0.4, 0, 0.2, 1);
}
.themes button:hover{border-color:var(--accent);transform:scale(1.15)}
.themes button i{width:14px;height:14px;border-radius:50%;display:block}
.themes button[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 3px var(--glow-a); transform:scale(1.1)}
#tname{color:var(--text);min-width:5.5rem;letter-spacing:.04em; font-weight:500;}

/* ================= herói ================= */
.hero{
  display:grid;gap:clamp(2.5rem,5vw,4rem);align-items:center;
  padding:clamp(3rem,8vw,5.5rem) 0 clamp(3rem,6vw,4.5rem);
  border-bottom:1px solid var(--line);
}
@media(min-width:1020px){.hero{grid-template-columns:minmax(0,1.2fr) minmax(420px,.8fr)}}
.hero-name{
  margin:0 0 .5rem;font-family:"JetBrains Mono",monospace;color:var(--text);
  font-size:clamp(.85rem,1.5vw,1rem);letter-spacing:.3em;text-transform:uppercase;
  font-weight:600;
}
.kicker{
  margin:0 0 1.5rem;color:var(--accent);font-family:"JetBrains Mono",monospace;
  font-size:.75rem;letter-spacing:.15em;text-transform:uppercase; font-weight:500;
}
.sig{
  margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--line);
  font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--faint);
  display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;letter-spacing:.05em;
}
.sig b{color:var(--dim);font-weight:500}
.hero h1{
  margin:0;font-size:clamp(2.5rem,7vw,5rem);line-height:1.05;
  letter-spacing:-.03em;font-weight:600;
}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero-copy{
  margin:1.8rem 0 0;max-width:48ch;font-size:clamp(1.05rem,1.5vw,1.2rem);
  color:var(--dim);line-height:1.65; font-weight: 300;
}
.hero-copy b{color:var(--text);font-weight:500}
.acid{
  margin:1.5rem 0 0;padding-left:1.2rem;border-left:3px solid var(--amber);
  color:var(--amber);font-family:"JetBrains Mono",monospace;font-size:.85rem;line-height:1.6;
}
.cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.btn{
  display:inline-flex;align-items:center;min-height:48px;padding:0 1.5rem;
  border:1px solid var(--line-2);text-decoration:none;font-size:.9rem;
  transition:all .2s ease;border-radius:6px; font-weight: 500;
}
.btn:hover,.btn:focus-visible{border-color:var(--accent);color:var(--accent); background: var(--glow-a); transform: translateY(-2px);}
.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent);font-weight:600; box-shadow: 0 4px 14px var(--glow-a);}
.btn.primary:hover,.btn.primary:focus-visible{color:var(--accent-ink);filter:brightness(1.1); transform: translateY(-2px); box-shadow: 0 6px 20px var(--glow-a);}

/* painel de leitura */
.readout{
  position:relative;overflow:hidden;border:1px solid var(--line-2);
  background:var(--panel);border-radius:8px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.15);
}
.readout::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(transparent 50%,rgba(0,0,0,.05) 50%);background-size:100% 4px;
}
.rd-bar{
  display:flex;align-items:center;gap:.5rem;height:44px;padding:0 1.2rem;
  border-bottom:1px solid var(--line);color:var(--faint);
  font-family:"JetBrains Mono",monospace;font-size:.7rem; background: var(--panel-2);
}
.rd-bar i{width:10px;height:10px;border-radius:50%;display:block}
.rd-bar i:nth-child(1){background: #FF5F56; border: 1px solid #E0443E;}
.rd-bar i:nth-child(2){background: #FFBD2E; border: 1px solid #DEA123;}
.rd-bar i:nth-child(3){background: #27C93F; border: 1px solid #1AAB29;}
.rd-bar span{margin-left:.8rem; color: var(--dim); font-weight: 500;}
.rd-body{
  position:relative;padding:1.5rem;
  font-family:"JetBrains Mono",monospace;font-size:.8rem;line-height:1.8;
}
.rd-body .p{color:var(--accent)}
.rd-body .cm{color:var(--faint)}
.rd-body .k{color:var(--steel)}
.rd-body .v{color:var(--text)}
.rd-body .ok{color:var(--accent)}
.rd-body .wn{color:var(--amber)}
.rd-body .bd{color:var(--clay)}
.rd-grid{display:grid;grid-template-columns:auto 1fr;gap:.2rem 1.2rem;margin:.8rem 0}
.rd-sep{height:1rem}
@media(max-width:520px){.rd-body{font-size:.75rem;padding:1.2rem}}

/* ================= genéricos ================= */
.sec{padding:clamp(3rem,7vw,5rem) 0 0}
.eyebrow{
  font-family:"JetBrains Mono",monospace;font-size:.75rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--faint);display:flex;align-items:center;gap:1rem;margin:0 0 1.8rem;
}
.eyebrow::after{content:"";flex:1;height:1px;background:var(--line)}
.lede{
  font-weight:300;font-size:clamp(1.1rem, 2vw, 1.3rem);line-height:1.6;
  color:var(--dim);max-width:58ch;margin:0 0 2.2rem;
}
.lede em{font-style:italic;color:var(--text); font-weight: 400;}

/* matriz de carreira */
.matrix{margin:0}
.cap{
  font-family:"JetBrains Mono",monospace;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--faint);display:flex;align-items:center;gap:1rem;margin:0 0 1.5rem;
}
.cap::after{content:"";flex:1;height:1px;background:var(--line)}
.mx{border-top:1px solid var(--line)}
.mx-ruler,.mx-row{display:grid;grid-template-columns:14rem 1fr 7rem;gap:1.5rem;align-items:center}
.mx-ruler{padding:.6rem 0 .6rem}
.mx-scale{position:relative;height:1rem;display:block;font-family:"JetBrains Mono",monospace;font-size:.65rem;color:var(--faint)}
.mx-scale span{position:absolute;top:0;white-space:nowrap}
.mx-row{
    padding:.6rem .5rem; border-bottom:1px solid var(--line); border-radius: 4px;
    transition: background 0.2s ease, transform 0.2s ease;
}
.mx-row:hover { background: var(--glow-a); transform: translateX(4px); border-bottom-color: transparent;}
.mx-label{font-size:.85rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis; font-weight: 500;}
.mx-bars{display:flex;gap:3px;min-width:0}
.mx-bars .c{flex:1 1 0;height:18px;border-radius:2px;background:var(--line); transition: background 0.3s;}
.mx-bars .c.on{background:var(--steel)}
.mx-bars .c.on.ativo{background:var(--accent)}
.mx-bars .c.on.lead{background:var(--violet)}
.mx-bars .c.on.novo{background:var(--amber)}
.mx-bars .c.on.encerrado{background:var(--clay);opacity:.7}
.mx-span{font-family:"JetBrains Mono",monospace;font-size:.7rem;color:var(--faint);text-align:right;white-space:nowrap}
.mx-note{margin:1.5rem 0 0;font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--faint);line-height:1.7;max-width:65ch}
.mx-note b{color:var(--text);font-weight:500}
@media(max-width:800px){
  .mx-ruler,.mx-row{grid-template-columns:1fr;gap:.4rem; padding: .8rem 0;}
  .mx-row:hover { transform: none; background: transparent; border-bottom-color: var(--line);}
  .mx-span{text-align:left}.mx-label{white-space:normal}.mx-bars .c{height:14px}
}

/* narrativa */
.thread{max-width:65ch}
.thread p{font-weight:300;font-size:1.1rem;line-height:1.7;color:var(--dim);margin:0 0 1.5rem}
.thread p em{font-style:normal;color:var(--text); font-weight: 400;}
.thread p:last-child{margin-bottom:0}
.thread .kick{border-left:3px solid var(--accent);padding-left:1.5rem;font-size:1.25rem;color:var(--text);font-weight: 400; background: linear-gradient(90deg, var(--glow-a), transparent); padding-top: .5rem; padding-bottom: .5rem; border-radius: 0 4px 4px 0;}

/* quebras */
.brk{padding:clamp(3.5rem,7vw,5.5rem) 0 0}
.brk-in{
  position:relative;border:1px solid var(--line-2);background:var(--panel);
  padding:clamp(2rem,4vw,3rem);max-width:58rem; border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0,0,0,0.1), 0 0 0 1px var(--glow-a) inset;
  background-image:repeating-linear-gradient(-45deg,rgba(0,0,0,.03) 0 1px,transparent 1px 7px);
}
.brk-in::before,.brk-in::after{content:"";position:absolute;width:16px;height:16px;border:2px solid var(--accent); border-radius: 2px;}
.brk-in::before{top:-2px;left:-2px;border-right:0;border-bottom:0}
.brk-in::after{bottom:-2px;right:-2px;border-left:0;border-top:0}
.brk-t{margin:0 0 .8rem;font-weight:500;font-size:clamp(1.3rem,2.8vw,1.8rem);line-height:1.3;color:var(--text)}
.brk-s{margin:0;color:var(--dim);font-size:1rem;max-width:60ch;line-height:1.6; font-weight: 300;}

/* serviços */
.svc{border-top:1px solid var(--line)}
.svc article{
    border-bottom:1px solid var(--line);padding:2rem 1rem;display:grid;gap:1rem;
    transition: background 0.3s ease; border-radius: 6px; margin-top: .5rem; margin-bottom: .5rem;
}
.svc article:hover { background: var(--glow-a); border-bottom-color: transparent;}
@media(min-width:860px){.svc article{grid-template-columns:16rem 1fr;gap:3rem}}
.svc h3{font-size:1.15rem; font-weight: 600; color: var(--text);}
.svc .st{font-family:"JetBrains Mono",monospace;font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);margin-top:.6rem;display:block}
.svc .st i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:.5rem; box-shadow: 0 0 8px currentColor;}
.i-op{background:var(--accent); color: var(--accent);}
.i-ev{background:var(--amber); color: var(--amber);}
.svc p{margin:0;color:var(--dim);font-size:1rem;max-width:65ch; font-weight: 300;}
.svc a.go{font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;margin-top:.8rem;display:inline-block; font-weight: 500;}
.svc a.go:hover,.svc a.go:focus-visible{border-bottom-color:var(--accent); transform: translateX(4px);}
.meta{margin-top:1.2rem;display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;font-family:"JetBrains Mono",monospace;font-size:.7rem;color:var(--faint);line-height:1.6}
.meta u{text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-size:.65rem; color: var(--dim); font-weight: 600; display: block; margin-bottom: .2rem;}
.meta s{text-decoration:none;color:var(--faint)}

/* mapa */
.mapbox{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:2rem 0 1.8rem;overflow-x:auto}
.mapbox svg{display:block;width:100%;min-width:720px;height:auto}
.mapbox .band{font-family:"JetBrains Mono",monospace;font-size:11px;letter-spacing:.1em;text-transform:uppercase;fill:var(--faint)}
.mapbox .nd rect{fill:var(--panel);stroke:var(--line-2);stroke-width:1.5; rx: 6px; transition: fill 0.2s, stroke 0.2s;}
.mapbox .nd:hover rect { fill: var(--panel-2); }
.mapbox .nd.pub rect{stroke:var(--accent)}
.mapbox .nd.core rect{stroke:var(--violet)}
.mapbox .nd.ops rect{stroke:var(--amber)}
.mapbox .nd.base rect{fill:transparent;stroke:var(--line-2);stroke-dasharray:4 4}
.mapbox .t{font-family:"Space Grotesk",sans-serif;font-size:16px;font-weight:600;fill:var(--text)}
.mapbox .s{font-family:"JetBrains Mono",monospace;font-size:11.5px;fill:var(--dim)}
.mapbox .s.c{text-anchor:middle}
.mapbox .ln{stroke:var(--line-2);stroke-width:1.5;fill:none}
.mapbox .ln.a{stroke:var(--accent);opacity:.7}

/* rastreabilidade */
.tg{border-top:1px solid var(--line);margin-top:1rem}
.tg-head,.tg-row{display:grid;grid-template-columns:18rem 1fr;gap:1.5rem;align-items:center}
.tg-head{padding:0 0 .8rem; border-bottom: 1px solid var(--line);}
.tg-cols,.tg-cells{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem}
.tg-col{font-family:"JetBrains Mono",monospace;text-align:center;line-height:1.4}
.tg-col b{display:block;font-size:.75rem;font-weight:600;color:var(--text);letter-spacing:.05em}
.tg-col i{display:block;font-style:normal;font-size:.6rem;color:var(--faint)}
.tg-row{padding:.6rem .5rem;border-bottom:1px solid var(--line); transition: background 0.2s ease, transform 0.2s ease; border-radius: 4px;}
.tg-row:hover{background: var(--glow-a); transform: translateX(4px); border-bottom-color: transparent;}
.tg-name{font-size:.85rem;color:var(--text); font-weight: 500;}
.tc{height:16px;border-radius:2px;background:var(--line);display:block; transition: background 0.3s;}
.tc.on{background:var(--accent);opacity:.9; box-shadow: 0 0 6px var(--glow-a);}
.tg-legend{margin-top:1.2rem;font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--faint);line-height:1.7;max-width:65ch}
.tg-where{display:none;font-family:"JetBrains Mono",monospace;font-size:.65rem;color:var(--accent);letter-spacing:.08em; margin-top: .2rem;}
@media(max-width:860px){
  .tg-head{display:none}
  .tg-row{grid-template-columns:1fr;gap:.4rem;padding:.8rem 0; border-radius: 0;}
  .tg-row:hover { transform: none; background: transparent; border-bottom-color: var(--line); }
  .tc{height:12px}
  .tg-where{display:block}
}

/* liderança */
.skills{display:grid;gap:2rem;max-width:62rem}
@media(min-width:780px){.skills{grid-template-columns:1fr 1fr;gap:2.5rem 4rem}}
.sk-top{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.sk-name{font-size:1rem;color:var(--text); font-weight: 500;}
.sk-yrs{font-family:"JetBrains Mono",monospace;font-size:.7rem;color:var(--accent);white-space:nowrap; font-weight: 600;}
.sk-yrs em{font-style:normal;color:var(--faint); font-weight: 400;}
.sk-track{height:6px;background:var(--line);margin:.6rem 0;border-radius:3px;overflow:hidden}
.sk-track i{display:block;height:100%;width:var(--w);background:var(--violet);border-radius:3px; box-shadow: 0 0 8px var(--glow-b);}
@media(prefers-reduced-motion:no-preference){
  .sk-track i{animation:slide 1s cubic-bezier(.2,.8,.3,1) both}
  @keyframes slide{from{width:0}to{width:var(--w)}}
}
.sk-desc{margin:0;color:var(--dim);font-size:.9rem;line-height:1.6; font-weight: 300;}

/* limitações */
.limits{border:1px solid var(--line-2);background:var(--panel);padding:clamp(1.5rem,4vw,2.5rem);max-width:58rem; border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,0.08);}
.limits ul{list-style:none;margin:0;padding:0}
.limits li{padding:1rem 0;border-bottom:1px solid var(--line);color:var(--dim);font-size:1rem;display:grid;grid-template-columns:1.5rem 1fr;gap:.5rem; font-weight: 300;}
.limits li:last-child{border-bottom:0;padding-bottom:0}
.limits li:first-child{padding-top:0}
.limits li::before{content:"—";color:var(--amber);font-family:"JetBrains Mono",monospace;font-size:.9rem; font-weight: 600;}
.limits strong{color:var(--text);font-weight:500}

/* listas */
.log{border-top:1px solid var(--line);max-width:60rem}
.log div{
    border-bottom:1px solid var(--line);padding:1.5rem 1rem;display:grid;grid-template-columns:8rem 1fr;gap:1.5rem;
    transition: background 0.3s; border-radius: 6px; margin: .2rem 0;
}
.log div:hover { background: var(--glow-a); border-bottom-color: transparent;}
.log dt{font-family:"JetBrains Mono",monospace;font-size:.75rem;color:var(--accent);padding-top:.2rem;margin:0; font-weight: 600;}
.log dd{margin:0}
.log h3{font-size:1.05rem; font-weight: 600; color: var(--text);}
.log p{margin:.4rem 0 0;color:var(--dim);font-size:.95rem;max-width:65ch; font-weight: 300;}
@media(max-width:560px){
    .log div{grid-template-columns:1fr;gap:.4rem; padding: 1.2rem 0; border-radius: 0;}
    .log div:hover { background: transparent; border-bottom-color: var(--line);}
    .log dt{padding-top:0}
}

/* contato */
.links{list-style:none;margin:2rem 0 0;padding:0;border-top:1px solid var(--line);max-width:46rem}
.links li{border-bottom:1px solid var(--line)}
.links a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1rem;text-decoration:none;transition:all .2s ease; border-radius: 4px;}
.links a:hover,.links a:focus-visible{color:var(--accent); background: var(--glow-a); padding-left: 1.5rem;}
.links .k{font-family:"JetBrains Mono",monospace;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--faint); font-weight: 600;}
.links a:hover .k,.links a:focus-visible .k{color:var(--accent)}
.links .v{font-size:1rem; font-weight: 500;}
.foot{border-top:1px solid var(--line);margin-top:clamp(3rem,8vw,5rem);padding:2rem 0 4rem;font-family:"JetBrains Mono",monospace;font-size:.75rem;line-height:1.8;color:var(--faint);max-width:65ch}
.foot p{margin:0 0 .6rem}
.foot p:last-child{margin:0}

a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}
@media(prefers-reduced-motion:reduce){*{animation:none !important;transition:none !important}html{scroll-behavior:auto}}

.ctrl a{font:inherit;font-size:.7rem;letter-spacing:.06em;background:transparent;color:var(--faint);border:1px solid var(--line-2);padding:.3rem .6rem;text-decoration:none;border-radius:4px;transition:all .2s ease}.ctrl a:hover,.ctrl a:focus-visible{color:var(--text);border-color:var(--accent);background:var(--glow-a)}
