/* servidorhpc: caderno técnico de bancada. Branco-gelo, grafite esverdeado, acento musgo; Public Sans com rótulos em Fira Code. */
:root{
  --fundo:#f4f6f3; --painel:#e9ede6; --branco:#ffffff; --texto:#1d231c; --suave:#566052; --linha:#d5dbd0; --forte:#2a3227;
  --acento:#4f5d2a; --acento-hover:#3d4920; --acento-claro:#eef1e2; --sobre:#ffffff;
  --sans:"Public Sans", "Helvetica Neue", Arial, sans-serif; --mono:"Fira Code", ui-monospace, Menlo, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --fundo:#141813; --painel:#1b2019; --branco:#1f251d; --texto:#e8ece4; --suave:#a3ad9d; --linha:#30382c; --forte:#e8ece4;
  --acento:#b5c77a; --acento-hover:#c9d895; --acento-claro:#232a1c; --sobre:#141813; color-scheme:dark}}
:root[data-theme="dark"]{--fundo:#141813; --painel:#1b2019; --branco:#1f251d; --texto:#e8ece4; --suave:#a3ad9d; --linha:#30382c; --forte:#e8ece4; --acento:#b5c77a; --acento-hover:#c9d895; --acento-claro:#232a1c; --sobre:#141813; color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--fundo);color:var(--texto);font:17px/1.68 var(--sans)}
.faixa{padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.miolo{max-width:1120px;margin:0 auto}
h1,h2,h3{font-family:var(--sans);font-weight:700;text-wrap:balance;margin:0;letter-spacing:-.4px;line-height:1.16}
a{color:var(--acento);text-underline-offset:3px}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px}
.botao{display:inline-block;background:var(--acento);color:var(--sobre);text-decoration:none;font-weight:600;font-size:16px;padding:13px 22px;border-radius:6px;transition:background .15s}
.botao:hover{background:var(--acento-hover)}
.botao.sec{background:transparent;color:var(--texto);border:1px solid var(--linha)}
.botao.sec:hover{border-color:var(--acento);color:var(--acento)}

/* cabeçalho */
nav{background:var(--branco);border-bottom:1px solid var(--linha)}
nav .miolo{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.marca{font-weight:800;font-size:19px;letter-spacing:-.4px}
.marca small{display:block;font-family:var(--mono);font-weight:500;font-size:11.5px;color:var(--suave);letter-spacing:0}
.menu{display:flex;gap:22px;align-items:center;flex-wrap:wrap}
.menu a{color:var(--texto);text-decoration:none;font-size:15px;font-weight:500}
.menu a:hover{color:var(--acento)}
.menu a.botao{color:var(--sobre);font-size:15px;padding:9px 16px}

.chapeu,.rotulo{display:inline-block;font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--acento);background:var(--acento-claro);padding:3px 9px;border-radius:4px;margin-bottom:16px}

/* herói */
.heroi{padding-block:72px 68px}
.heroi .grade{display:grid;grid-template-columns:1.15fr .85fr;gap:52px;align-items:center}
.heroi h1{font-size:clamp(34px,4.6vw,54px);font-weight:800;line-height:1.07;letter-spacing:-1px}
.heroi p{font-size:19.5px;color:var(--suave);max-width:33em;margin:22px 0 30px}
.acoes{display:flex;gap:12px;flex-wrap:wrap}

.ficha{background:var(--branco);border:1px solid var(--linha);border-radius:10px;overflow:hidden;min-width:0}
.ficha-topo{display:flex;justify-content:space-between;gap:10px;font-family:var(--mono);font-size:12.5px;padding:12px 18px;border-bottom:1px solid var(--linha);color:var(--suave)}
.ficha-topo span:first-child{color:var(--texto);font-weight:600}
.ficha dl{margin:0}
.ficha .linha{display:grid;grid-template-columns:140px minmax(0,1fr);gap:12px;padding:13px 18px;border-bottom:1px solid var(--linha)}
.ficha .linha:last-child{border-bottom:none}
.ficha dt{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--acento)}
.ficha dd{margin:0;font-size:15px;color:var(--suave)}

/* seções */
section{padding-block:72px}
section + section{border-top:1px solid var(--linha)}
.painel{background:var(--painel)}
.cab{max-width:740px;margin-bottom:34px}
.cab h2{font-size:clamp(27px,3.2vw,38px)}
.cab p{color:var(--suave);font-size:18.5px;margin:12px 0 0}

.etapas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;counter-reset:e}
.etapas li{counter-increment:e;background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:20px;min-width:0}
.etapas li::before{content:"passo " counter(e);display:block;font-family:var(--mono);font-size:12.5px;color:var(--acento);margin-bottom:10px}
.etapas strong{display:block;font-size:17.5px;margin-bottom:6px;line-height:1.25}
.etapas span{color:var(--suave);font-size:15px}

.partes{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.partes div{background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:22px;min-width:0}
.partes h3{font-size:19px;margin-bottom:6px}
.partes p{color:var(--suave);margin:0;font-size:15.5px}

.comparar{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.comparar > div{background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:24px;min-width:0}
.comparar .mono{font-family:var(--mono);font-size:13px;color:var(--acento);display:block;margin-bottom:8px}
.comparar h3{font-size:21px;margin-bottom:8px}
.comparar p{color:var(--suave);margin:0 0 10px;font-size:16px}
.comparar ul{color:var(--suave);margin:0;padding-left:20px;font-size:15.5px}

.porte{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.porte div{background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:22px;min-width:0}
.porte div.destaque{border:2px solid var(--acento)}
.porte b{display:block;font-family:var(--mono);font-size:12.5px;font-weight:500;color:var(--acento);margin-bottom:10px}
.porte h3{font-size:22px;margin-bottom:8px}
.porte p{color:var(--suave);margin:0;font-size:15.5px}

.tabela{overflow-x:auto;margin:20px 0;border:1px solid var(--linha);border-radius:10px;background:var(--branco)}
.tabela table{width:100%;border-collapse:collapse;font-size:15.5px}
.tabela th,.tabela td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--linha);vertical-align:top}
.tabela tr:last-child td{border-bottom:none}
.tabela thead th{font-family:var(--mono);font-weight:500;font-size:12.5px;color:var(--suave);background:var(--painel)}
.nota{font-size:13.5px;color:var(--suave);line-height:1.55;margin:14px 0 0}

.guias{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.guias a{display:block;background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:22px;text-decoration:none;color:var(--texto);min-width:0;transition:border-color .15s}
.guias a:hover{border-color:var(--acento)}
.guias .mono{display:block;font-family:var(--mono);font-size:12.5px;color:var(--acento);margin-bottom:8px}
.guias h3{font-size:19px;margin-bottom:6px}
.guias p{color:var(--suave);margin:0;font-size:15px}

details{border-bottom:1px solid var(--linha);padding-block:17px}
details:first-of-type{border-top:1px solid var(--linha)}
summary{cursor:pointer;font-weight:600;font-size:18.5px;list-style:none;display:flex;justify-content:space-between;gap:16px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";font-family:var(--mono);color:var(--acento)}
details[open] summary::after{content:"−"}
details p{color:var(--suave);margin:10px 0 0}

.diag{display:grid;grid-template-columns:1.2fr .8fr;gap:48px;align-items:center}
.diag h2{font-size:clamp(27px,3.2vw,38px)}
.diag p{color:var(--suave)}
.diag ul{color:var(--suave);padding-left:20px}
.canais{display:grid;gap:12px}
.canal{background:var(--branco);border:1px solid var(--linha);border-radius:10px;padding:16px 18px;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center}
.canal span{color:var(--suave);font-size:13px;font-family:var(--mono)}
.canal strong{font-weight:600}
.contato{background:var(--acento-claro)}

/* rodapé */
footer{background:var(--forte);color:var(--fundo);padding-block:32px;font-size:13.5px}
footer .miolo{display:grid;gap:8px;opacity:.88}
footer a{color:var(--fundo)}
footer .mapa{display:flex;flex-wrap:wrap;gap:8px 22px;margin-bottom:8px}
footer .mapa a{text-decoration:none;font-weight:500}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) footer{background:#0d100c;color:var(--texto)}:root:not([data-theme="light"]) footer a{color:var(--texto)}}
:root[data-theme="dark"] footer{background:#0d100c;color:var(--texto)}
:root[data-theme="dark"] footer a{color:var(--texto)}

/* páginas de guia */
.migalhas{font-size:14px;color:var(--suave);padding-block:18px 0}
.migalhas a{color:var(--suave);text-decoration:none}
.migalhas a:hover{text-decoration:underline}
.guia-topo{padding-block:30px 36px;border-bottom:1px solid var(--linha)}
.guia-topo h1{font-size:clamp(31px,4.2vw,48px);font-weight:800;line-height:1.1;letter-spacing:-.8px;max-width:22em}
.guia-topo .resumo{font-size:19px;color:var(--suave);max-width:38em;margin:18px 0 0}
.guia-topo .data{font-family:var(--mono);font-size:12.5px;color:var(--suave);margin-top:18px}
.guia{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:60px;padding-block:42px 72px}
.artigo{min-width:0;max-width:740px}
.artigo h2{font-size:27px;margin:44px 0 12px}
.artigo h2:first-child{margin-top:0}
.artigo h3{font-size:20px;margin:28px 0 6px}
.artigo ul,.artigo ol{padding-left:22px}
.artigo li{margin:7px 0}
.artigo code{font-family:var(--mono);font-size:.88em;background:var(--painel);padding:1px 5px;border-radius:4px}
.destaque-caixa{border-left:3px solid var(--acento);background:var(--acento-claro);padding:16px 20px;margin:24px 0;border-radius:0 8px 8px 0}
.destaque-caixa p{margin:0}
.fontes{font-size:14px;color:var(--suave);border-top:1px solid var(--linha);margin-top:44px;padding-top:18px}
.fontes ol{padding-left:20px}
.fontes a{word-break:break-word}
.lateral{position:sticky;top:24px;align-self:start;display:grid;gap:18px}
.cartao-cta{background:var(--branco);border:1px solid var(--linha);border-top:3px solid var(--acento);border-radius:10px;padding:22px}
.cartao-cta h3{font-size:19px;margin-bottom:8px}
.cartao-cta p{color:var(--suave);font-size:15px;margin:0 0 16px}
.cartao-cta .botao{display:block;text-align:center}
.indice{font-size:15px}
.indice strong{display:block;font-family:var(--mono);font-size:12px;color:var(--suave);margin-bottom:8px;font-weight:500}
.indice a{display:block;color:var(--texto);text-decoration:none;padding:6px 0;border-bottom:1px solid var(--linha)}
.indice a:hover{color:var(--acento)}

@media (max-width:1000px){
  .etapas{grid-template-columns:1fr 1fr}
  .guias{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .heroi .grade,.diag,.comparar{grid-template-columns:1fr;gap:32px}
  .guia{grid-template-columns:1fr;gap:32px}
  .lateral{position:static}
  .partes,.porte{grid-template-columns:1fr}
  .menu a:not(.botao){display:none}
}
@media (max-width:560px){
  .etapas,.guias{grid-template-columns:1fr}
  .ficha .linha{grid-template-columns:1fr;gap:2px}
  .heroi{padding-block:46px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
