/* Menu de acessibilidade do portal: botão fixo + painel, e as classes que ele liga no <html>.
   As classes são aplicadas antes da página aparecer (script no <head>), então não há "piscada". */

/* ---------- botão ---------- */
.a11y-btn{position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:max(18px,env(safe-area-inset-bottom,0px));z-index:9998;
  width:52px;height:52px;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;padding:0;
  background:#5A189A;color:#fff;box-shadow:0 0 0 3px rgba(255,255,255,.92),0 10px 26px -8px rgba(12,17,30,.55)}
.a11y-btn svg{width:30px;height:30px}
.a11y-btn:hover{background:#6A23B0}
.a11y-btn:focus-visible{outline:3px solid #5A189A;outline-offset:4px}
html[data-theme="dark"] .a11y-btn{background:#7B2CBF;box-shadow:0 0 0 3px #0C0B11,0 10px 26px -8px rgba(0,0,0,.8)}
html.a11y-pagina-escura:not(.a11y-claro) .a11y-btn{background:#22c55e;color:#04130a;box-shadow:0 0 0 3px #0f172a,0 10px 26px -8px rgba(0,0,0,.8)}
html.a11y-pagina-escura.a11y-claro .a11y-btn{background:#15803d;color:#fff}

/* ---------- painel ---------- */
.a11y-painel{--a-bg:#fff;--a-fg:#1C2333;--a-sub:#5B6678;--a-line:rgba(12,17,30,.14);--a-chip:#F0F2F7;--a-acc:#5A189A;--a-acc-fg:#fff;
  position:fixed;right:max(18px,env(safe-area-inset-right,0px));bottom:calc(max(18px,env(safe-area-inset-bottom,0px)) + 64px);z-index:9999;
  width:min(340px,calc(100vw - 32px));max-height:calc(100vh - 110px);overflow:auto;overscroll-behavior:contain;
  padding:16px 16px 12px;border-radius:16px;background:var(--a-bg);color:var(--a-fg);border:1px solid var(--a-line);
  box-shadow:0 24px 60px -18px rgba(12,17,30,.45);font:400 14px/1.45 Inter,"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left}
.a11y-painel[hidden]{display:none}
html[data-theme="dark"] .a11y-painel{--a-bg:#13121A;--a-fg:#EDEBF3;--a-sub:#AAA6B8;--a-line:rgba(255,255,255,.14);--a-chip:#1A1823;--a-acc:#B47AE8;--a-acc-fg:#0C0B11}
html.a11y-pagina-escura:not(.a11y-claro) .a11y-painel{--a-bg:#1b2336;--a-fg:#f8fafc;--a-sub:#cbd5e1;--a-line:#334155;--a-chip:#272f42;--a-acc:#22c55e;--a-acc-fg:#04130a}
html.a11y-pagina-escura.a11y-claro .a11y-painel{--a-acc:#15803d;--a-acc-fg:#fff}
.a11y-painel *{box-sizing:border-box;letter-spacing:normal}
.a11y-topo{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.a11y-titulo{margin:0;font-size:15px;font-weight:700;color:var(--a-fg)}
.a11y-painel button{font:inherit;color:inherit;cursor:pointer}
.a11y-painel button:focus-visible{outline:2px solid var(--a-acc);outline-offset:2px}
.a11y-fechar{width:36px;height:36px;border-radius:9px;border:1px solid var(--a-line);background:transparent;display:grid;place-items:center;padding:0}
.a11y-fechar svg{width:16px;height:16px}
.a11y-linha{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--a-line)}
.a11y-linha:first-of-type{border-top:0}
.a11y-texto{display:flex;flex-direction:column;min-width:0}
.a11y-nome{font-weight:600;color:var(--a-fg)}
.a11y-desc{font-size:12.5px;color:var(--a-sub)}
.a11y-zoombox{display:flex;align-items:center;gap:4px}
.a11y-zoombox button{min-width:44px;height:38px;border-radius:9px;border:1px solid var(--a-line);background:var(--a-chip);font-weight:700}
.a11y-zoombox button:disabled{opacity:.45;cursor:not-allowed}
.a11y-zoombox output{min-width:48px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.a11y-seg{display:flex;padding:3px;border-radius:10px;background:var(--a-chip);border:1px solid var(--a-line)}
.a11y-seg button{min-width:72px;height:34px;border-radius:8px;border:0;background:transparent;font-weight:600;color:var(--a-sub)}
.a11y-seg button[aria-pressed="true"]{background:var(--a-acc);color:var(--a-acc-fg)}
.a11y-switch{position:relative;flex:none;width:46px;height:28px;border-radius:999px;border:1px solid var(--a-line);background:var(--a-chip);padding:0}
.a11y-switch::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:var(--a-sub);transition:transform .15s ease}
.a11y-switch[aria-checked="true"]{background:var(--a-acc);border-color:var(--a-acc)}
.a11y-switch[aria-checked="true"]::after{transform:translateX(18px);background:var(--a-acc-fg)}
.a11y-reset{width:100%;margin-top:8px;height:40px;border-radius:10px;border:1px solid var(--a-line);background:transparent;font-weight:600}
@media (max-width:640px){.site-footer__in{padding-right:84px}}
@media (max-width:480px){
  .a11y-painel{left:12px;right:12px;width:auto;bottom:calc(max(12px,env(safe-area-inset-bottom,0px)) + 64px)}
  .a11y-btn{right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px))}
}

/* ---------- tamanho do texto ---------- */
html.a11y-zoom body{zoom:var(--a11y-zoom,1)}

/* ---------- alto contraste ---------- */
:root.a11y-contraste,:root[data-theme].a11y-contraste{
  --ink-2:var(--ink);--ink-3:var(--ink);--ink-4:var(--ink);--line:var(--line-2);
  --p-text:var(--p-fg);--p-sub:var(--p-fg);--p-line:var(--p-line-2);
  --tinta-2:var(--tinta);--muted:var(--tinta);--linha:var(--p-line-2)}
html.a11y-contraste a{text-decoration:underline;text-underline-offset:3px}
html.a11y-contraste :focus-visible{outline-width:3px!important}

/* ---------- sublinhar links ---------- */
html.a11y-links a{text-decoration:underline!important;text-decoration-thickness:1.5px!important;text-underline-offset:3px!important}

/* ---------- fonte de leitura fácil ---------- */
html.a11y-legivel body,html.a11y-legivel body :not(code):not(pre):not(pre *):not(svg):not(svg *){
  font-family:"Atkinson Hyperlegible",Verdana,Tahoma,sans-serif!important}

/* ---------- mais espaçamento ---------- */
html.a11y-espaco body p,html.a11y-espaco body li,html.a11y-espaco body dd,html.a11y-espaco body td,html.a11y-espaco body label,
html.a11y-espaco body .mt-desc,html.a11y-espaco body .bio,html.a11y-espaco body .headline{
  line-height:1.9!important;letter-spacing:.03em!important;word-spacing:.1em!important}

/* ---------- pausar animações ---------- */
html.a11y-parar,html.a11y-parar *,html.a11y-parar *::before,html.a11y-parar *::after{
  animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-parar .rv{opacity:1!important;transform:none!important}

/* ---------- tema claro do Dimensionador e do Desafio (identidade do deck em versão clara) ---------- */
:root.a11y-claro{color-scheme:light;
  --p-bg:#f4f6f9;--p-deep:#ffffff;--p-card:#ffffff;--p-card-2:#f8fafc;--p-chip:#eef2f6;--p-line:#d5dce5;--p-line-2:#b8c2ce;
  --p-fg:#0f172a;--p-text:#334155;--p-sub:#526073;--p-green:#15803d;--p-green-2:#15803d;--p-green-soft:#166534;--p-green-deep:#dcfce7;
  --p-cyan:#0369a1;--p-cyan-soft:#0369a1;--p-red:#dc2626;--p-amber:#b45309;
  --bg:#f4f6f9;--superficie:#ffffff;--tinta:#0f172a;--tinta-2:#334155;--muted:#526073;--linha:#d5dce5;--acento:#16a34a;--acento-forte:#15803d;
  --trilho:#e2e8f0;--destaque:#dcfce7;--apagado:#b8c2ce;--aviso:#b45309;--critico:#dc2626;--bom-texto:#15803d;--tinta-sobre-aviso:#0b0b0b}
:root.a11y-claro body.portal{background-image:
  radial-gradient(60rem 40rem at 100% -10%,rgba(34,197,94,.10),transparent 60%),
  radial-gradient(50rem 36rem at -10% 110%,rgba(56,189,248,.08),transparent 60%),
  linear-gradient(rgba(15,23,42,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(15,23,42,.06) 1px,transparent 1px)}
:root.a11y-claro .site-nav{background:rgba(255,255,255,.88)}
:root.a11y-claro .site-footer{background:rgba(255,255,255,.7)}
:root.a11y-claro .botao:hover{background:#bbf7d0}
:root.a11y-claro .status i{box-shadow:0 0 0 3px rgba(21,128,61,.18)}
