/* topxbr.com - folha técnica / léxico. Prefixo de classes: ox- */
:root{
  --ox-bg:#090F1E;
  --ox-bg2:#0c1427;
  --ox-sf:#111A2B;
  --ox-sf2:#162238;
  --ox-ln:rgba(255,255,255,.16);
  --ox-ln2:rgba(255,255,255,.08);
  --ox-tx:#eef1f7;
  --ox-mu:rgba(238,241,247,.72);
  --ox-ac:#FF2400;
  --ox-acd:#D91E00;
  --ox-mono:ui-monospace,"Cascadia Mono","SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
  --ox-w:1160px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.ox{margin:0;background:var(--ox-bg);color:var(--ox-tx);font:400 17px/1.68 Rubik,system-ui,"Segoe UI",Arial,sans-serif;overflow-wrap:break-word;word-wrap:break-word}
body.ox img{max-width:100%;height:auto;display:block}
body.ox a{color:#ff7a62;text-underline-offset:3px;text-decoration-thickness:1px}
body.ox a:hover{color:#fff}
body.ox :focus-visible{outline:2px solid #fff;outline-offset:2px}
.shell{width:100%;max-width:var(--ox-w);margin:0 auto;padding:0 24px}

/* ---------- cabeçalho ---------- */
.top{position:sticky;top:0;z-index:50;background:rgba(9,15,30,.96);border-bottom:1px solid var(--ox-ln);backdrop-filter:blur(6px)}
.top-in{display:flex;align-items:center;gap:20px;min-height:64px}
.top-in>a:first-child{display:block;flex:none;line-height:0}
.top nav{display:flex;margin-left:auto;gap:0}
.top nav a{display:flex;align-items:center;min-height:64px;padding:0 16px;font:500 14px/1 var(--ox-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ox-mu);text-decoration:none;border-left:1px solid var(--ox-ln2);position:relative}
.top nav a:last-child{border-right:1px solid var(--ox-ln2)}
.top nav a:hover{color:#fff;background:var(--ox-sf)}
.top nav a:hover::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ox-ac)}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 26px;border:1px solid var(--ox-ac);background:var(--ox-acd);color:#fff!important;font:800 15px/1.2 Archivo,Rubik,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.07em;text-decoration:none!important;border-radius:0;cursor:pointer;text-align:center;transition:background .15s,box-shadow .15s}
.btn:hover{background:var(--ox-ac);box-shadow:4px 4px 0 rgba(255,255,255,.22)}
.top .btn-main{min-height:44px;padding:0 20px;flex:none}
.ox-btn{min-height:52px;padding:0 30px}

/* ---------- hero ---------- */
.ox-hero{position:relative;border-bottom:1px solid var(--ox-ln);background:
  linear-gradient(var(--ox-ln2) 1px,transparent 1px) 0 0/48px 48px,
  linear-gradient(90deg,var(--ox-ln2) 1px,transparent 1px) 0 0/48px 48px,
  var(--ox-bg)}
.ox-hero-in{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:44px;align-items:center;padding-top:56px;padding-bottom:56px}
.ox-hero-pg .ox-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,400px);padding-top:44px;padding-bottom:44px}
.ox-hero-doc .ox-hero-in{grid-template-columns:minmax(0,1fr) minmax(0,340px)}
.ox-hero-solo .ox-hero-in{grid-template-columns:minmax(0,820px)}
.ox-tag{margin:0 0 20px;font:500 14px/1.4 var(--ox-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ox-mu)}
.ox-tag b{display:inline-block;margin-right:10px;padding:3px 9px;background:var(--ox-ac);color:#fff;font-weight:600;letter-spacing:.1em}
.ox-hero h1{margin:0 0 20px;font:800 clamp(28px,4.2vw,46px)/1.1 Archivo,Rubik,system-ui,sans-serif;letter-spacing:-.015em;color:#fff}
.ox-hero-pg h1{font-size:clamp(27px,3.6vw,38px)}
.ox-lead{margin:0 0 28px;font-size:18px;line-height:1.62;color:var(--ox-mu);max-width:62ch}
.ox-hero-img{width:100%;height:auto;justify-self:end}
.ox-hero-pg .ox-hero-img{max-width:400px}
.ox-hero-tall{max-height:440px;width:auto;max-width:100%;object-fit:contain;justify-self:center}
.ox-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.ox-ad{display:block;font:400 13px/1.4 var(--ox-mono);color:var(--ox-mu);letter-spacing:.02em}

/* ---------- índice ---------- */
.ox-toc{background:var(--ox-sf);border-bottom:1px solid var(--ox-ln)}
.ox-toc-in{display:flex;flex-wrap:wrap;align-items:stretch}
.ox-toc-in span{display:flex;align-items:center;padding:0 18px 0 0;font:600 13px/1 var(--ox-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ox-ac)}
.ox-toc-in a{display:flex;align-items:center;min-height:48px;padding:0 16px;font:500 14px/1 var(--ox-mono);color:var(--ox-mu)!important;text-decoration:none;border-left:1px solid var(--ox-ln2)}
.ox-toc-in a:hover{color:#fff!important;background:var(--ox-sf2)}

/* ---------- seções ---------- */
.ox-sec{padding:60px 0;border-top:1px solid var(--ox-ln2)}
.ox-hero+.ox-sec,.ox-toc+.ox-sec{border-top:0}
.ox-sec-in{display:grid;grid-template-columns:150px minmax(0,1fr);gap:36px;align-items:start}
.ox-idx{position:sticky;top:84px;display:flex;flex-direction:column;gap:6px;padding-top:6px;border-top:2px solid var(--ox-ac)}
.ox-idx b{font:600 26px/1 var(--ox-mono);color:var(--ox-ac);letter-spacing:-.02em;padding-top:10px}
.ox-idx span{font:500 13px/1.3 var(--ox-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--ox-mu)}
.ox-main{min-width:0}
.ox-main h2{margin:0 0 18px;font:800 clamp(24px,2.8vw,33px)/1.16 Archivo,Rubik,system-ui,sans-serif;letter-spacing:-.012em;color:#fff;max-width:26em}
.ox-main p{margin:0 0 18px;max-width:68ch}
.ox-h3{margin:30px 0 12px;font:700 21px/1.25 Archivo,Rubik,system-ui,sans-serif;color:#fff}

/* ---------- verbetes ---------- */
.ox-term{margin:22px 0;background:var(--ox-sf);border:1px solid var(--ox-ln);max-width:860px}
.ox-term>header{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:12px 18px;background:var(--ox-sf2);border-bottom:1px solid var(--ox-ln)}
.ox-code{flex:none;padding:3px 8px;background:var(--ox-bg);border:1px solid var(--ox-ac);color:#ff7a62;font:600 13px/1.2 var(--ox-mono);letter-spacing:.06em}
.ox-term h3{margin:0;font:800 20px/1.2 Archivo,Rubik,system-ui,sans-serif;color:#fff;letter-spacing:-.005em}
.ox-alias{margin-left:auto;font:400 13px/1.3 var(--ox-mono);color:var(--ox-mu);text-transform:uppercase;letter-spacing:.05em}
.ox-term dl{display:grid;grid-template-columns:116px minmax(0,1fr);margin:0}
.ox-term dt,.ox-term dd{margin:0;padding:12px 18px;border-top:1px solid var(--ox-ln2)}
.ox-term dt:first-of-type,.ox-term dt:first-of-type+dd{border-top:0}
.ox-term dt{font:600 13px/1.5 var(--ox-mono);text-transform:uppercase;letter-spacing:.08em;color:#ff7a62;padding-top:15px}
.ox-term dd{font-size:16.5px;line-height:1.62}

/* ---------- tabelas ---------- */
.ox-tblw{margin:22px 0;max-width:960px}
.ox-tbl{width:100%;border-collapse:collapse;border:1px solid var(--ox-ln);background:var(--ox-sf);font-size:16px;line-height:1.55}
.ox-tbl th{padding:11px 16px;background:var(--ox-sf2);border:1px solid var(--ox-ln);font:600 13px/1.3 var(--ox-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--ox-mu);text-align:left}
.ox-tbl td{padding:13px 16px;border:1px solid var(--ox-ln);vertical-align:top}
.ox-tbl td:first-child{font-weight:600;color:#fff;width:24%}
.ox-st{display:inline-block;padding:3px 9px;border:1px solid var(--ox-ln);font:500 13px/1.35 var(--ox-mono);color:var(--ox-tx)}
.ox-st-no{border-color:var(--ox-ac);color:#ff9d8b}

/* ---------- listas ---------- */
.ox-list{list-style:none;margin:0 0 20px;padding:0;max-width:760px;border-top:1px solid var(--ox-ln)}
.ox-list li{position:relative;padding:14px 8px 14px 34px;border-bottom:1px solid var(--ox-ln)}
.ox-list li::before{content:"//";position:absolute;left:4px;top:14px;font:600 15px/1.7 var(--ox-mono);color:var(--ox-ac)}
.ox-list b,.ox-steps b{color:#fff}
.ox-steps{list-style:none;counter-reset:ox;margin:0 0 20px;padding:0;max-width:780px}
.ox-steps li{counter-increment:ox;position:relative;padding:14px 8px 14px 62px;border-bottom:1px solid var(--ox-ln)}
.ox-steps li:first-child{border-top:1px solid var(--ox-ln)}
.ox-steps li::before{content:counter(ox,decimal-leading-zero);position:absolute;left:0;top:13px;width:46px;padding:2px 0;border:1px solid var(--ox-ln);background:var(--ox-sf);text-align:center;font:600 14px/1.6 var(--ox-mono);color:#ff7a62}

/* ---------- código ---------- */
.ox-pre{margin:20px 0;padding:18px 20px;max-width:780px;background:#060b16;border:1px solid var(--ox-ln);border-left:3px solid var(--ox-ac);font:400 15px/1.7 var(--ox-mono);color:#dfe5f1;white-space:pre-wrap;overflow-wrap:anywhere}
.ox-pre code{font:inherit}

/* ---------- faixa de CTA ---------- */
.ox-band{background:var(--ox-sf);border-top:2px solid var(--ox-ac);border-bottom:1px solid var(--ox-ln)}
.ox-band-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 36px;align-items:center;padding-top:30px;padding-bottom:30px}
.ox-band-in p{margin:0;max-width:62ch;color:var(--ox-mu)}
.ox-band-in p b{display:block;margin-bottom:4px;font:800 21px/1.25 Archivo,Rubik,system-ui,sans-serif;color:#fff}
.ox-band-act{display:flex;flex-direction:column;gap:10px;align-items:flex-start}

/* ---------- FAQ ---------- */
.ox-faq{max-width:820px;border-top:1px solid var(--ox-ln)}
.ox-faq details{border-bottom:1px solid var(--ox-ln);background:transparent}
.ox-faq summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:60px;padding:12px 4px;cursor:pointer;list-style:none}
.ox-faq summary::-webkit-details-marker{display:none}
.ox-faq summary:hover{background:var(--ox-sf)}
.ox-faq h3{margin:0;font:500 18px/1.4 Rubik,system-ui,sans-serif;color:#fff}
.ox-faq i{flex:none;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ox-ac);font:600 20px/1 var(--ox-mono);color:#ff7a62;font-style:normal;transition:transform .2s}
.ox-faq details[open] i{transform:rotate(45deg);background:var(--ox-ac);color:#fff}
.ox-faq details p{margin:0;padding:2px 46px 20px 4px;color:var(--ox-mu)}

/* ---------- fecho ---------- */
.ox-end{background:var(--ox-sf);border-top:1px solid var(--ox-ln)}
.ox-end-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;align-items:center;padding-top:56px;padding-bottom:56px}
.ox-end h2{margin:0 0 14px;font:800 clamp(24px,2.8vw,32px)/1.18 Archivo,Rubik,system-ui,sans-serif;color:#fff;letter-spacing:-.012em}
.ox-end p{margin:0 0 24px;color:var(--ox-mu);max-width:56ch}
.ox-next{list-style:none;margin:0;padding:0;border-top:1px solid var(--ox-ln)}
.ox-next a{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 14px;min-height:52px;padding:11px 36px 11px 4px;border-bottom:1px solid var(--ox-ln);position:relative;text-decoration:none;color:var(--ox-tx)!important}
.ox-next a::after{content:"→";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:600 18px/1 var(--ox-mono);color:var(--ox-ac)}
.ox-next a:hover{background:var(--ox-sf2)}
.ox-next b{font:700 17px/1.3 Archivo,Rubik,system-ui,sans-serif;color:#fff}
.ox-next span{font:400 14px/1.4 var(--ox-mono);color:var(--ox-mu)}

/* ---------- rodapé ---------- */
.foot{background:#060b16;border-top:1px solid var(--ox-ln);padding:36px 0 44px;color:var(--ox-mu);font-size:14.5px;line-height:1.6}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px 28px;padding-bottom:22px;margin-bottom:20px;border-bottom:1px solid var(--ox-ln)}
.foot-top>a{display:block;line-height:0}
.foot-top nav{display:flex;flex-wrap:wrap;gap:0}
.foot-top nav a{display:flex;align-items:center;min-height:44px;padding:0 14px 0 0;margin-right:14px;font:500 14px/1 var(--ox-mono);color:var(--ox-tx)!important;text-decoration:none}
.foot-top nav a:hover{color:#ff7a62!important}
.foot p{margin:0 0 10px;max-width:90ch}

/* ---------- tablet e celular ---------- */
@media (max-width:980px){
  .ox-hero-in,.ox-hero-pg .ox-hero-in,.ox-hero-doc .ox-hero-in{grid-template-columns:minmax(0,1fr);gap:30px;padding-top:36px;padding-bottom:36px}
  .ox-hero-img,.ox-hero-pg .ox-hero-img{justify-self:start;max-width:520px}
  .ox-hero-tall{max-height:340px;justify-self:start}
  .ox-sec-in{grid-template-columns:minmax(0,1fr);gap:18px}
  .ox-idx{position:static;flex-direction:row;align-items:baseline;gap:14px;border-top:0;border-bottom:2px solid var(--ox-ac);padding:0 0 8px}
  .ox-idx b{padding-top:0;font-size:22px}
  .ox-end-in,.ox-band-in{grid-template-columns:minmax(0,1fr);gap:26px}
  .ox-sec{padding:44px 0}
}
@media (max-width:720px){
  body.ox{font-size:17px}
  .shell{padding:0 16px}
  .top-in{flex-wrap:wrap;gap:0 12px;min-height:0;padding-top:10px;padding-bottom:0}
  .top .btn-main{margin-left:auto;min-height:44px;padding:0 16px}
  .top nav{order:3;flex:0 0 100%;margin:10px -16px 0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ox-ln2)}
  .top nav a{min-height:46px;justify-content:center;padding:0 2px;font-size:12.5px;letter-spacing:.02em;border-left:0;border-right:1px solid var(--ox-ln2)}
  .top nav a:last-child{border-right:0}
  .ox-toc-in{padding:0}
  .ox-toc-in span{width:100%;padding:12px 16px 4px}
  .ox-toc-in a{flex:1 1 33%;justify-content:center;border-left:0;border-top:1px solid var(--ox-ln2);min-height:44px;padding:0 8px}
  .ox-lead{font-size:17px}
  .ox-term dl{grid-template-columns:minmax(0,1fr)}
  .ox-term dt{padding:12px 16px 0;border-top:1px solid var(--ox-ln2)!important}
  .ox-term dt:first-of-type{border-top:0!important}
  .ox-term dd{padding:4px 16px 12px;border-top:0!important}
  .ox-term>header{padding:12px 16px}
  .ox-alias{margin-left:0;flex-basis:100%}
  .ox-tbl thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .ox-tbl,.ox-tbl tbody,.ox-tbl tr,.ox-tbl td{display:block;width:100%}
  .ox-tbl tr{border-bottom:2px solid var(--ox-ln)}
  .ox-tbl td{border:0;border-top:1px solid var(--ox-ln2);padding:10px 14px}
  .ox-tbl td:first-child{width:100%;border-top:0;background:var(--ox-sf2)}
  .ox-tbl td::before{content:attr(data-l);display:block;margin-bottom:2px;font:600 12.5px/1.3 var(--ox-mono);text-transform:uppercase;letter-spacing:.08em;color:#ff7a62}
  .ox-tbl td:first-child::before{display:none}
  .ox-btn,.btn{width:100%}
  .top .btn-main{width:auto}
  .ox-band-act{width:100%}
  .ox-steps li{padding-left:56px}
  .ox-faq h3{font-size:17px}
  .ox-faq details p{padding-right:4px}
  .foot-top nav{width:100%}
}
@media (max-width:380px){
  .top .btn-main{padding:0 12px;font-size:14px}
  .ox-toc-in a{flex-basis:50%}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn,.ox-faq i{transition:none}}
