:root{
  --ink:#202033;
  --muted:#69697c;
  --paper:#fffdfa;
  --surface:#ffffff;
  --wash:#f4f1ff;
  --wash-2:#faf8ff;
  --line:#e7e2ef;
  --violet:#6652c7;
  --violet-dark:#4c399f;
  --green:#1f8a5b;
  --blue:#3976b8;
  --red:#b84f62;
  --amber:#a76f18;
  --code-bg:#171720;
  --code-text:#f3f0ff;
  --shadow:0 10px 28px rgba(57,42,102,.08);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{
  margin:0;
  min-width:0;
  overflow-x:hidden;
  background:linear-gradient(180deg,#f3efff 0,#fffdfa 430px);
  color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:17px;
  line-height:1.75;
}
img,svg,video,iframe{max-width:100%}
a{color:var(--violet-dark);text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{color:var(--violet)}

/* Shared article shell: same visual language as guia-classes-de-teste-apex */
.c,.blog-container,.article-shell,.wrapper{
  width:min(100% - 32px,800px);
  margin:0 auto;
  padding:3rem 0 4rem;
}

.bc,.blog-breadcrumb{
  display:flex;
  flex-wrap:wrap;
  gap:.35rem;
  align-items:center;
  margin:0 0 2rem;
  color:var(--muted);
  font-size:.85rem;
}
.bc a,.blog-breadcrumb a{font-weight:700;text-decoration:none}

h1,.blog-title,.article-hero h1,.hero h1{
  margin:0 0 .9rem;
  color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:clamp(2rem,5.6vw,3.35rem);
  font-weight:700;
  letter-spacing:-.045em;
  line-height:1.08;
}
.subtitle,.dek,.hero .subtitle{
  margin:0 0 1rem;
  color:var(--muted);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.02rem,2vw,1.18rem);
  line-height:1.7;
}
.meta,.blog-meta,.article-hero .meta{
  margin:0 0 2.35rem;
  color:var(--muted);
  font-size:.9rem;
}
.meta a,.blog-meta a{font-weight:700;text-decoration:none}
.eyebrow,.hero-badge{
  margin:0 0 .65rem;
  color:var(--violet);
  font-size:.78rem;
  font-weight:850;
  letter-spacing:.1em;
  text-transform:uppercase;
}

.article-cover,.cover,.article-hero .cover,.article-figure img{
  display:block;
  width:100%;
  height:auto;
  object-fit:contain;
  margin:0 0 2.6rem;
  border:1px solid var(--line);
  border-radius:18px;
  background:#fff;
  box-shadow:var(--shadow);
}
.article-figure{margin:2.2rem 0 2.7rem}
.article-figure img{margin-bottom:.7rem}
.article-figure figcaption{
  max-width:92%;
  margin:0 auto;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.55;
  text-align:center;
}

.b,.blog-body,.article-body,.section{min-width:0}
.b h2,.blog-body h2,.article-body h2,.section h2{
  margin:3rem 0 1rem;
  color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:1.55rem;
  line-height:1.28;
  letter-spacing:-.02em;
  scroll-margin-top:1.2rem;
}
.b h3,.blog-body h3,.article-body h3,.section h3{
  margin:2rem 0 .65rem;
  color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-size:1.15rem;
  line-height:1.35;
}
.b h4,.blog-body h4,.article-body h4,.section h4{margin:1.6rem 0 .55rem;color:var(--ink)}
.b p,.blog-body p,.article-body p,.section p{margin:0 0 1.25rem}
.b strong,.blog-body strong,.article-body strong,.section strong{color:var(--ink)}
.b ul,.b ol,.blog-body ul,.blog-body ol,.article-body ul,.article-body ol,.section ul,.section ol{margin:0 0 1.5rem 1.35rem;padding:0}
.b li,.blog-body li,.article-body li,.section li{margin-bottom:.55rem;padding-left:.12rem}
.lead{font-size:1.06rem}

/* TOC becomes an in-flow card on every article, avoiding desktop/mobile split layouts. */
.article-grid{display:block;min-width:0}
.toc{
  display:block;
  width:100%;
  margin:2rem 0 2.4rem;
  padding:1.2rem 1.35rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,255,255,.86);
  box-shadow:0 8px 24px rgba(57,42,102,.05);
}
.toc strong,.toc-title{display:block;margin-bottom:.55rem;color:var(--ink);font-weight:800}
.toc ul,.toc ol{margin:.25rem 0 0 1.2rem;padding:0}
.toc li{margin:.28rem 0}
.toc a{color:var(--ink);font-size:.94rem;font-weight:600;text-decoration:none}
.toc a:hover{color:var(--violet-dark);text-decoration:underline}
.toc-sub{margin-left:1rem!important}
.toc-num{color:var(--violet);font-weight:800}

/* Callouts, summaries and CTA */
.cl,.callout,.summary,.author,.intro-note,.omnistudio-highlight,.mantra,.question,.final-cta,.blog-cta{
  margin:1.7rem 0;
  padding:1.15rem 1.3rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--wash-2);
}
.cl,.callout,.intro-note{border-left:4px solid var(--blue);border-radius:4px 14px 14px 4px}
.cl.tip,.callout.tip,.callout.green{border-left-color:var(--green)}
.cl.warn,.callout.warn,.callout.amber{border-left-color:var(--red)}
.callout.violet,.omnistudio-highlight{border-left-color:var(--violet)}
.mantra,.question{
  border-color:#cfc4f3;
  background:linear-gradient(135deg,#f2edff,#fbf9ff);
  color:var(--ink);
  font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  font-weight:650;
  text-align:center;
}
.cta,.final-cta,.blog-cta{
  margin:3rem 0 2rem;
  padding:1.45rem 1.6rem;
  border:1px solid #cfc4f3;
  border-radius:16px;
  background:linear-gradient(135deg,#f2edff,#fff);
  text-align:center;
}
.btn,.cta .btn,.cta-btn,.final-cta a{
  display:inline-block;
  margin-top:.35rem;
  padding:.68rem 1.25rem;
  border-radius:9px;
  background:var(--violet);
  color:#fff!important;
  font-weight:750;
  text-decoration:none!important;
}
.btn:hover,.cta-btn:hover,.final-cta a:hover{background:var(--violet-dark)}
.references{margin-top:3rem;padding-top:1.35rem;border-top:1px solid var(--line)}
.references h2{margin-top:0}
.references li{color:var(--muted);font-size:.92rem}
.author h2{margin-top:0}
.author-links{display:flex;flex-wrap:wrap;gap:.45rem 1rem;margin-top:.8rem}
.ft,.blog-footer{margin-top:3rem;padding-top:1.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.85rem;text-align:center}

/* Code */
pre{
  max-width:100%;
  margin:1rem 0 1.7rem;
  padding:1.1rem 1.2rem;
  overflow-x:auto;
  border:1px solid #2b2b38;
  border-radius:12px;
  background:var(--code-bg)!important;
  color:var(--code-text)!important;
  line-height:1.55;
  -webkit-overflow-scrolling:touch;
}
pre code,pre code[class*="language-"]{background:transparent!important;color:inherit!important;padding:0!important;text-shadow:none!important}
code{
  font-family:ui-monospace,SFMono-Regular,Consolas,'Liberation Mono',monospace;
  font-size:.88em;
}
p code,li code,td code{
  padding:.12rem .35rem;
  border-radius:4px;
  background:#eee9fb;
  color:#4b3c86;
  overflow-wrap:anywhere;
}
.sourceCode{max-width:100%}

/* Tables */
.table-wrap{max-width:100%;margin:1.5rem 0 2rem;overflow-x:auto;-webkit-overflow-scrolling:touch}
table,.comparison-table{
  width:100%;
  border-collapse:collapse;
  margin:1.45rem 0;
  background:#fff;
  font-size:.93rem;
}
th,td,.comparison-table th,.comparison-table td{
  padding:.75rem .8rem;
  border:1px solid var(--line);
  text-align:left;
  vertical-align:top;
}
th,.comparison-table th{background:#f1edfb;color:var(--ink);font-weight:800}
td,.comparison-table td{background:#fff}
.odd,.even{background:transparent}

/* Audio reader from legacy posts */
.site-header{
  width:min(100% - 32px,800px);
  margin:0 auto;
  padding:1.35rem 0 0;
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:.8rem 1.2rem;
  align-items:center;
}
.brand{color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-size:1.25rem;font-weight:800;text-decoration:none}
.brand span{color:var(--violet)}
.site-header nav{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.site-header nav a{font-size:.9rem;font-weight:700;text-decoration:none}
main{min-width:0}
.article-hero{margin-bottom:0}
.reader{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  gap:1rem;
  align-items:center;
  margin:1.5rem 0 2rem;
  padding:1rem 1.15rem;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
}
.reader>div:first-child{display:grid;gap:.1rem}
.reader span{color:var(--muted);font-size:.86rem}
.reader-actions{display:flex;flex-wrap:wrap;gap:.55rem;align-items:center}
.reader button,.reader select{
  min-height:38px;
  padding:.45rem .7rem;
  border:1px solid #d8d0e7;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.reader button:not(:disabled){cursor:pointer}
.reader button:hover:not(:disabled){border-color:var(--violet)}
.reader label{display:flex;gap:.4rem;align-items:center}

/* Resource/study components */
.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:24px 0}
.resource-item{padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.ri-name{margin-bottom:4px;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:700}
.ri-desc{color:var(--muted);font-size:.86rem;line-height:1.55}
.study-path{position:relative;margin:28px 0;padding-left:32px}
.study-path:before{content:'';position:absolute;left:11px;top:8px;bottom:8px;width:2px;border-radius:2px;background:linear-gradient(180deg,#8aa9d0,var(--violet))}
.study-step{position:relative;margin-bottom:18px;padding:14px 18px;border:1px solid var(--line);border-radius:12px;background:#fff}
.study-step:before{content:'';position:absolute;left:-26px;top:20px;width:12px;height:12px;border:2px solid var(--violet);border-radius:50%;background:var(--paper)}
.step-label,.section-number{margin-bottom:4px;color:var(--violet);font-size:.72rem;font-weight:800;letter-spacing:1.4px;text-transform:uppercase}
.step-title{margin-bottom:4px;color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;font-weight:700}
.step-desc{color:var(--muted);font-size:.88rem;line-height:1.55}

/* Legacy career article */
.bg-glow{display:none}
.hero{margin-bottom:2rem}
.hero .meta{margin-bottom:1.5rem}
.gradient-text{color:var(--violet-dark)!important;background:none!important;-webkit-text-fill-color:currentColor!important}
.sep{height:1px;margin:2.7rem 0;background:var(--line)}
.ext-link{font-weight:700}

/* Lists and task list */
.steps{counter-reset:step;list-style:none!important;margin-left:0!important}
.steps li{position:relative;margin-bottom:.9rem;padding:1.05rem 1.15rem 1.05rem 3.6rem;border:1px solid var(--line);border-radius:12px;background:#fff}
.steps li:before{counter-increment:step;content:counter(step);position:absolute;left:1rem;top:1rem;width:1.8rem;height:1.8rem;display:grid;place-items:center;border-radius:50%;background:var(--violet);color:#fff;font-weight:800}
.task-list{list-style:none!important;margin-left:0!important}
.task-list input{margin-right:.5rem;accent-color:var(--violet)}

/* Prevent common white-on-light bugs from old inline/Prism styles. */
body,.b,.blog-body,.article-body,.section,.summary,.author,.toc,.reader,.resource-item,.study-step{color:var(--ink)}
.b blockquote,.blog-body blockquote,.article-body blockquote,.section blockquote{
  margin:1.5rem 0;
  padding:.9rem 1.1rem;
  border-left:4px solid var(--violet);
  background:#f6f2ff;
  color:#403858;
}
hr{margin:2.6rem 0;border:0;border-top:1px solid var(--line)}

@media(max-width:760px){
  body{font-size:16.5px;line-height:1.7}
  .c,.blog-container,.article-shell,.wrapper{width:min(100% - 24px,800px);padding:2rem 0 3rem}
  .site-header{width:min(100% - 24px,800px);padding-top:1rem;align-items:flex-start}
  h1,.blog-title,.article-hero h1,.hero h1{font-size:clamp(1.8rem,9.5vw,2.55rem);letter-spacing:-.035em}
  .b h2,.blog-body h2,.article-body h2,.section h2{margin-top:2.4rem;font-size:1.35rem}
  .b h3,.blog-body h3,.article-body h3,.section h3{font-size:1.08rem}
  .article-cover,.cover,.article-hero .cover{margin-bottom:2rem;border-radius:14px;box-shadow:none}
  .toc{padding:1rem 1.05rem;border-radius:12px}
  .toc ul,.toc ol{margin-left:1rem}
  .cl,.callout,.summary,.author,.intro-note,.omnistudio-highlight,.mantra,.question,.final-cta,.blog-cta,.cta{padding:1rem}
  .author-links{display:block}.author-links a{display:block;margin-bottom:.35rem}
  .resource-grid{grid-template-columns:1fr}
  .reader{display:block}.reader-actions{margin-top:.8rem}.reader label{width:100%}
  .reader select{flex:1}
  table,.comparison-table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;white-space:normal}
  th,td,.comparison-table th,.comparison-table td{min-width:145px}
  pre{margin-left:0;margin-right:0;padding:1rem;font-size:.88rem}
  .article-figure{margin:1.7rem 0 2.2rem}
  .study-path{padding-left:28px}
}

@media(max-width:420px){
  .c,.blog-container,.article-shell,.wrapper,.site-header{width:min(100% - 20px,800px)}
  .site-header nav{width:100%}
  .reader-actions button{flex:1 1 auto}
  .btn,.cta .btn,.cta-btn,.final-cta a{width:100%;text-align:center}
}

@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Performance/stability round 2 */
img{height:auto}
.article-cover,.cover,.article-figure img{aspect-ratio:auto}
main{display:block;min-width:0}

/* Learn Apex affiliate recommendation */
.affiliate-card{
  margin:2.2rem 0;
  padding:1.45rem 1.55rem;
  border:1px solid rgba(102,82,199,.24);
  border-left:4px solid var(--violet);
  border-radius:5px 16px 16px 5px;
  background:linear-gradient(135deg,rgba(102,82,199,.10),rgba(255,255,255,.97) 70%);
  box-shadow:0 12px 30px rgba(57,42,102,.08);
  color:var(--ink);
}
.affiliate-card .affiliate-label{
  display:block;
  margin:0 0 .5rem;
  color:var(--violet);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
}
.affiliate-card h2{
  margin:0 0 .75rem!important;
  color:var(--ink)!important;
  font-size:clamp(1.35rem,3vw,1.7rem)!important;
  line-height:1.22!important;
  letter-spacing:-.025em!important;
}
.affiliate-card p{
  margin:0 0 1rem!important;
  color:var(--muted);
  line-height:1.65;
}
.affiliate-card strong{color:var(--ink)}
.affiliate-button{
  display:inline-flex;
  min-height:46px;
  align-items:center;
  justify-content:center;
  padding:.78rem 1.05rem;
  border-radius:11px;
  background:var(--violet-dark);
  color:#fff!important;
  font-weight:850;
  line-height:1.2;
  text-align:center;
  text-decoration:none!important;
  box-shadow:0 8px 18px rgba(76,57,159,.18);
  transition:transform .18s ease,background .18s ease,box-shadow .18s ease;
}
.affiliate-button:hover{
  background:var(--violet);
  color:#fff!important;
  transform:translateY(-1px);
}
.affiliate-button:focus-visible{
  outline:3px solid rgba(102,82,199,.32);
  outline-offset:3px;
}
.affiliate-disclosure{
  display:block;
  margin-top:.85rem;
  color:var(--muted);
  font-size:.74rem;
  line-height:1.5;
}
@media(max-width:640px){
  .affiliate-card{padding:1.25rem 1.15rem;margin:1.8rem 0}
  .affiliate-button{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .affiliate-button{transition:none}
  .affiliate-button:hover{transform:none}
}

/* Align article shell with MoniqueDev home; preserve article content. */
:root{--ink:#11112f;--muted:#625f7c;--paper:#fbfaff;--line:#ddd5fb;--violet:#6547d6;--violet-dark:#4b2eb4;--wash:#eee8ff;--wash-2:#f6f2ff}
body{background:linear-gradient(180deg,#f6f2ff 0,#fff 430px);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #6547d6;outline-offset:4px}
.ft,.blog-footer{background:#f6f2ff;border-radius:16px;padding:24px 16px;overflow-wrap:anywhere}.ft a,.blog-footer a{display:inline-block;padding:6px 4px}
.md-course-invitation{width:min(900px,calc(100% - 24px));background:#f6f2ff;border-color:#ddd5fb!important}.md-course-invitation a[style]{background:linear-gradient(135deg,#6547d6,#4b2eb4)!important;color:#fff!important}
@media(max-width:640px){.site-header{flex-wrap:wrap;gap:12px}.site-header nav{width:100%}.site-header nav a{padding:8px 0}}

/* Blog next-step button: match author card colors. */
.md-next-step .md-buy{background:var(--wash-2,#f6f2ff)!important;color:var(--violet-dark,#4b2eb4)!important;border:1px solid var(--line,#ddd5fb)}
.md-next-step .md-buy:hover{background:var(--wash,#eee8ff)!important}
