/* Central de ajuda do Hermod (hermod.digital/ajuda). Mesma identidade do site: azul-noite, índigo,
   dourado só como detalhe. Claro e escuro conforme o sistema. Texto em 3 idiomas no HTML: só o
   idioma escolhido (html[data-lang]) aparece. */
:root {
  --brand-50:#eef2ff; --brand-100:#dfe6ff; --brand-300:#9aaaf4; --brand-400:#6f80e9; --brand-500:#4c5cdb; --brand-600:#3a45c4; --brand-700:#2f389e; --brand-900:#1e2a5a; --brand-950:#121a3a;
  --gold-400:#ffc933;
  --ink:#1e2a5a; --text:#334155; --muted:#64748b; --line:#e2e8f0; --bg:#ffffff; --soft:#f8fafc; --card:#ffffff;
  --tip-bg:#fdf5e3; --tip-fg:#7a4f0c; --warn-bg:#fdeee7; --warn-fg:#9a3412; --imp-bg:#eef2ff; --imp-fg:#2f389e;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root { --ink:#e2e8f0; --text:#cbd5e1; --muted:#94a3b8; --line:#26324d; --bg:#0d1430; --soft:#121a3a; --card:#141d42;
    --tip-bg:#3a2d10; --tip-fg:#fde7b0; --warn-bg:#3d1d12; --warn-fg:#fdc4a8; --imp-bg:#1b2557; --imp-fg:#c7d0ff; }
}
html[data-lang="pt"] [data-l]:not([data-l="pt"]), html[data-lang="en"] [data-l]:not([data-l="en"]), html[data-lang="es"] [data-l]:not([data-l="es"]) { display:none !important; }
* { box-sizing:border-box; }
body { margin:0; font-family:var(--sans); color:var(--text); background:var(--bg); font-size:16px; line-height:1.65; -webkit-font-smoothing:antialiased; }
a { color:var(--brand-600); }
@media (prefers-color-scheme: dark) { a { color:var(--brand-300); } }
img { max-width:100%; }
.wrap { max-width:1180px; margin:0 auto; padding:0 24px; }
.sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ic { width:1em; height:1em; stroke:currentColor; fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex:none; }
:focus-visible { outline:3px solid var(--gold-400); outline-offset:2px; border-radius:6px; }

.btn { display:inline-flex; align-items:center; gap:8px; border-radius:12px; padding:10px 16px; font-weight:600; font-size:15px; text-decoration:none; border:1px solid transparent; white-space:nowrap; }
.btn--primary { background:var(--brand-600); color:#fff !important; }
.btn--primary:hover { background:var(--brand-500); }
.btn--ghost { color:#dfe6ff !important; }
.btn--ghost:hover { color:#fff !important; }

/* topo */
.top { background:var(--brand-950); color:#fff; position:sticky; top:0; z-index:20; }
.top__in { display:flex; align-items:center; gap:16px; height:64px; }
.logo { display:flex; align-items:center; gap:10px; color:#fff !important; text-decoration:none; font-weight:700; font-size:18px; letter-spacing:-.03em; }
.top__center { color:#c9d2ef !important; text-decoration:none; font-weight:500; padding-left:16px; border-left:1px solid rgba(255,255,255,.18); }
.top__center:hover { color:#fff !important; }
.top__end { margin-left:auto; display:flex; align-items:center; gap:8px; }
.lang select { background:rgba(255,255,255,.08); color:#fff; border:1px solid rgba(255,255,255,.2); border-radius:10px; padding:7px 10px; font:inherit; font-size:14px; }
.lang option { color:#111; }

/* busca */
.search { position:relative; display:flex; align-items:center; max-width:640px; }
.search > .ic { position:absolute; left:16px; color:var(--muted); width:20px; height:20px; pointer-events:none; }
.search__input { width:100%; font:inherit; font-size:16px; padding:13px 16px 13px 46px; border-radius:14px; border:1px solid var(--line); background:var(--card); color:var(--ink); }
.search__input:focus { outline:3px solid var(--brand-300); outline-offset:0; border-color:var(--brand-500); }
.search--big .search__input { font-size:17px; padding:17px 18px 17px 50px; box-shadow:0 20px 40px -24px rgba(0,0,0,.6); border-color:transparent; }
.search__results { position:absolute; top:calc(100% + 8px); left:0; right:0; background:var(--card); border:1px solid var(--line); border-radius:14px; box-shadow:0 24px 48px -20px rgba(15,23,42,.35); overflow:hidden; z-index:30; max-height:70vh; overflow-y:auto; text-align:left; }
.search__results a { display:block; padding:12px 16px; text-decoration:none; border-bottom:1px solid var(--line); color:var(--ink); }
.search__results a:last-child { border-bottom:0; }
.search__results a:hover, .search__results a.is-active { background:var(--soft); }
.search__results b { display:block; font-weight:600; }
.search__results small { display:block; color:var(--muted); font-size:13px; line-height:1.45; }
.search__results mark { background:transparent; color:var(--brand-600); font-weight:700; }
.search__results .empty { padding:14px 16px; color:var(--muted); font-size:14px; }

/* início */
.hero { background:radial-gradient(1200px 400px at 50% -10%, #2c3a8a 0%, var(--brand-950) 60%); color:#fff; padding:64px 0 72px; text-align:center; }
.hero h1 { font-size:clamp(30px,4.6vw,46px); line-height:1.1; letter-spacing:-.03em; margin:0 0 12px; font-weight:800; }
.hero p { color:#c9d2ef; max-width:640px; margin:0 auto 28px; font-size:18px; }
.hero .search { margin:0 auto; }
.cat { margin:48px 0 0; }
.cat__title { display:flex; align-items:center; gap:10px; font-size:22px; color:var(--ink); letter-spacing:-.02em; margin:0 0 16px; }
.cat__title .ic { color:var(--brand-500); width:22px; height:22px; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr)); gap:14px; }
.card { display:block; background:var(--card); border:1px solid var(--line); border-radius:16px; padding:18px 20px; text-decoration:none; transition:border-color .2s, transform .2s, box-shadow .2s; }
.card:hover { border-color:var(--brand-400); transform:translateY(-2px); box-shadow:0 16px 32px -24px rgba(30,42,90,.6); }
.card h3 { margin:0 0 6px; font-size:16.5px; color:var(--ink); line-height:1.35; }
.card p { margin:0; font-size:14.5px; color:var(--muted); line-height:1.5; }

/* artigo */
.art { padding-top:24px; }
.art__top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin-bottom:24px; }
.art__top .search { flex:1 1 320px; max-width:420px; }
.crumbs { font-size:14px; color:var(--muted); display:flex; gap:8px; flex-wrap:wrap; }
.crumbs a { color:var(--muted); text-decoration:none; }
.crumbs a:hover { color:var(--brand-600); }
.art__grid { display:grid; grid-template-columns:260px minmax(0,1fr); gap:40px; align-items:start; }
.side { position:sticky; top:88px; }
.side__box { border:1px solid var(--line); border-radius:16px; padding:16px; background:var(--soft); }
.side__box h2 { font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin:0 0 8px; }
.side__box ul { list-style:none; margin:0; padding:0; }
.side__box li a { display:block; padding:6px 8px; border-radius:8px; text-decoration:none; color:var(--text); font-size:14.5px; line-height:1.4; }
.side__box li a:hover { background:var(--card); color:var(--ink); }
.side__box li a[aria-current="page"] { background:var(--brand-50); color:var(--brand-700); font-weight:600; }
@media (prefers-color-scheme: dark) { .side__box li a[aria-current="page"] { background:#1f2a66; color:#dfe6ff; } }
.side__back { display:inline-flex; align-items:center; gap:6px; margin-top:12px; font-size:14px; text-decoration:none; color:var(--muted); }
.doc { max-width:780px; }
.doc h1 { font-size:clamp(28px,3.6vw,38px); line-height:1.15; letter-spacing:-.03em; color:var(--ink); margin:0 0 10px; }
.doc__summary { font-size:18.5px; color:var(--muted); margin:0 0 8px; }
.doc__meta { font-size:13px; color:var(--muted); margin:0 0 24px; }
.toc { border:1px solid var(--line); border-radius:14px; padding:14px 18px; margin:0 0 28px; font-size:15px; }
.toc strong { display:block; font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); margin-bottom:6px; }
.toc ul { margin:0; padding-left:18px; }
.toc li { margin:2px 0; }
.toc a { text-decoration:none; }
.doc__body h2 { font-size:23px; color:var(--ink); letter-spacing:-.02em; margin:40px 0 12px; padding-top:8px; scroll-margin-top:84px; }
.doc__body h3 { font-size:18px; color:var(--ink); margin:28px 0 8px; scroll-margin-top:84px; }
.doc__body p, .doc__body li { font-size:16.5px; }
.doc__body ol, .doc__body ul { padding-left:24px; }
.doc__body li { margin:6px 0; }
.doc__body code { font-size:.88em; background:var(--brand-50); color:var(--brand-700); padding:1px 6px; border-radius:6px; word-break:break-all; }
@media (prefers-color-scheme: dark) { .doc__body code { background:#1f2a66; color:#dfe6ff; } }
.doc__body table { width:100%; border-collapse:collapse; margin:16px 0; font-size:15px; display:block; overflow-x:auto; }
.doc__body pre { max-width:100%; overflow-x:auto; background:var(--soft); border:1px solid var(--line); border-radius:10px; padding:12px 14px; font-size:14px; line-height:1.5; }
.doc__body pre code { background:none; color:inherit; padding:0; word-break:normal; }
.doc__body th, .doc__body td { text-align:left; padding:9px 10px; border-bottom:1px solid var(--line); vertical-align:top; }
.doc__body th { color:var(--ink); background:var(--soft); }
figure { margin:20px 0 26px; }
figure img { border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 40px -28px rgba(15,23,42,.6); display:block; }
figure.video .video__box { position:relative; }
.video__play { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); display:inline-flex; align-items:center; gap:10px; border:0; cursor:pointer;
  background:rgba(15,23,42,.88); color:#fff; font-family:inherit; font-size:16px; font-weight:600; line-height:1; white-space:nowrap; padding:14px 22px 14px 16px; border-radius:999px; box-shadow:0 10px 30px rgba(0,0,0,.35); }
.video__play:hover, .video__play:focus-visible { background:var(--brand-700, #3a45c4); }
.video__play .ic { width:26px; height:26px; color:#f5b301; }
figure.video.is-playing .video__play { display:none; }
.video__note { display:inline-block; margin-top:4px; font-size:13px; color:var(--text); }
@media (max-width: 520px) { .video__play { font-size:13px; padding:9px 14px 9px 10px; gap:7px; } .video__play .ic { width:20px; height:20px; } }
figure.video video { width:100%; height:auto; aspect-ratio:16/9; border:1px solid var(--line); border-radius:12px; box-shadow:0 16px 40px -28px rgba(15,23,42,.6); display:block; background:#0f172a; }
figcaption { font-size:13.5px; color:var(--muted); margin-top:8px; text-align:center; }
.callout { display:flex; gap:12px; border-radius:14px; padding:14px 16px; margin:20px 0; }
.callout > .ic { width:20px; height:20px; margin-top:3px; }
.callout p { margin:0 0 6px; } .callout p:last-child { margin:0; }
.callout--tip { background:var(--tip-bg); color:var(--tip-fg); }
.callout--warn { background:var(--warn-bg); color:var(--warn-fg); }
.callout--important { background:var(--imp-bg); color:var(--imp-fg); }

/* ainda com dúvida */
.stuck { display:flex; flex-wrap:wrap; align-items:center; gap:18px; border:1px solid var(--line); background:var(--soft); border-radius:18px; padding:22px 24px; margin:56px 0 0; }
.stuck__ic { width:34px; height:34px; color:var(--brand-500); }
.stuck div { flex:1 1 300px; }
.stuck h2 { margin:0 0 4px; font-size:19px; color:var(--ink); }
.stuck p { margin:0; color:var(--muted); font-size:15px; }

.foot { border-top:1px solid var(--line); margin-top:64px; padding:24px 0; font-size:14px; color:var(--muted); }
.foot__in { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; }
.foot nav { display:flex; gap:16px; flex-wrap:wrap; }
.foot a { color:var(--muted); }

@media (max-width: 900px) {
  .art__grid { grid-template-columns:minmax(0,1fr); gap:24px; }
  .side { position:static; order:2; }
  .top__center { display:none; }
}
@media (max-width: 520px) {
  .wrap { padding:0 16px; }
  .top .btn--ghost { display:none; }
  .hero { padding:44px 0 52px; }
  .hero p { font-size:16px; }
}

/* rascunho: print que ainda falta */
.ph { border:2px dashed var(--line); border-radius:12px; padding:48px 16px; text-align:center; color:var(--muted); background:var(--soft); }
