/* Davi, o assistente do canto da tela */
.davi-ajuda{position:fixed;right:18px;bottom:0;z-index:8;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;font-family:Nunito,system-ui,sans-serif;transition:transform .45s cubic-bezier(.2,.9,.25,1.2),opacity .3s}
.davi-ajuda[data-estado=oculto]{transform:translateY(115%);opacity:0}
.davi-ajuda>*{pointer-events:auto}

.davi-boneco{position:relative;width:108px;height:144px;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.davi-boneco:focus-visible{outline:3px solid #147b6e;outline-offset:2px;border-radius:14px}
.davi-sprite{display:block;width:100%;height:100%;background:url(assets/davi/davi-sprite.webp) 0 0/1944px 144px no-repeat;filter:drop-shadow(0 6px 6px rgba(21,46,42,.22));transform-origin:50% 100%}
.davi-ajuda[data-anima=sim] .davi-sprite{animation:davi-respira 3.2s ease-in-out infinite}
.davi-ajuda[data-anima=sim] .davi-boneco:hover .davi-sprite{animation:davi-pulinho .5s ease-out}
@keyframes davi-respira{0%,100%{transform:translateY(0) scale(1,1)}50%{transform:translateY(-2px) scale(1.01,.99)}}
@keyframes davi-pulinho{0%{transform:translateY(0)}40%{transform:translateY(-8px)}100%{transform:translateY(0)}}

/* balão */
.davi-balao{position:relative;margin:0 54px -6px 0;display:flex;align-items:center;gap:6px;max-width:220px;background:var(--ivory,#fffcf3);color:var(--ink,#152e2a);border:2px solid var(--ink,#152e2a);border-radius:14px;box-shadow:3px 4px 0 var(--ink,#152e2a);padding:9px 8px 9px 13px;font-weight:900;font-size:.95rem;line-height:1.2;transform-origin:85% 100%;transition:transform .3s cubic-bezier(.2,.9,.25,1.3),opacity .2s}
.davi-balao::after{content:"";position:absolute;right:22px;bottom:-9px;width:14px;height:14px;background:inherit;border-right:2px solid var(--ink,#152e2a);border-bottom:2px solid var(--ink,#152e2a);transform:rotate(45deg)}
.davi-balao[hidden]{display:flex!important;transform:scale(.6);opacity:0;pointer-events:none;visibility:hidden}
.davi-balao-abrir{border:0;background:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}
.davi-balao-abrir:hover{text-decoration:underline;text-underline-offset:3px}
.davi-x{flex:none;display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:50%;background:transparent;color:var(--muted,#475955);font-size:1.15rem;line-height:1;cursor:pointer}
.davi-x:hover{background:var(--mint,#dce8da);color:var(--ink,#152e2a)}

/* painel de dúvidas */
.davi-painel{position:absolute;right:112px;bottom:22px;width:min(380px,calc(100vw - 150px));max-height:min(520px,calc(100vh - 120px));display:flex;flex-direction:column;background:var(--ivory,#fffcf3);color:var(--ink,#152e2a);border:2px solid var(--ink,#152e2a);border-radius:16px;box-shadow:4px 5px 0 var(--ink,#152e2a);overflow:hidden;transform-origin:100% 100%;transition:transform .32s cubic-bezier(.2,.9,.25,1.15),opacity .2s}
.davi-painel[hidden]{display:flex!important;transform:scale(.85) translateY(12px);opacity:0;pointer-events:none;visibility:hidden}
.davi-painel-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 12px 12px 18px;background:var(--orange,#f78448);border-bottom:2px solid var(--ink,#152e2a)}
.davi-painel-topo strong{font:400 1.35rem/1.05 Fredoka,system-ui,sans-serif;letter-spacing:-.01em}
.davi-painel-topo span{display:block;font:700 .64rem/1.3 var(--mono,monospace);letter-spacing:.1em;margin-bottom:3px}
.davi-painel-topo .davi-x{color:var(--ink,#152e2a)}
.davi-painel-topo .davi-x:hover{background:rgba(255,255,255,.45)}
.davi-lista{list-style:none;margin:0;padding:6px 10px;overflow:auto;overscroll-behavior:contain}
.davi-lista li+li{border-top:1px solid var(--line,#d6d7c8)}
.davi-pergunta{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 8px;border:0;background:none;text-align:left;font:900 .97rem/1.3 Nunito,system-ui,sans-serif;color:inherit;cursor:pointer;border-radius:8px}
.davi-pergunta:hover{background:var(--paper,#f8f4e7)}
.davi-pergunta::after{content:"+";flex:none;font-size:1.3rem;line-height:1;color:var(--rust,#a83f1b);transition:transform .2s}
.davi-pergunta[aria-expanded=true]::after{transform:rotate(45deg)}
.davi-resposta{padding:0 8px 12px;color:var(--muted,#475955);font-size:.93rem;line-height:1.5}
.davi-resposta[hidden]{display:none}
.davi-painel-rodape{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:12px 14px;border-top:2px solid var(--ink,#152e2a);background:var(--paper,#f8f4e7)}
.davi-painel-rodape a{font-weight:900;font-size:.9rem}
.davi-painel-rodape .davi-link{text-decoration:underline;text-underline-offset:4px}
.davi-painel-rodape .button{padding:9px 14px;font-size:.9rem}

@media(max-width:560px){
  .davi-ajuda{right:8px}
  .davi-boneco{width:84px;height:112px}
  .davi-sprite{background-size:1512px 112px}
  .davi-balao{margin-right:40px;font-size:.88rem;max-width:180px}
  .davi-painel{position:fixed;left:10px;right:10px;bottom:118px;width:auto;max-height:calc(100vh - 150px)}
}
@media(prefers-reduced-motion:reduce){
  .davi-ajuda,.davi-balao,.davi-painel{transition:opacity .2s}
  .davi-ajuda[data-estado=oculto]{transform:none}
}
@media print{.davi-ajuda{display:none}}
