/* Flora no rodapé do site (padrão _studio-e-jogo/10 §6; _docs_ia/19 §25).
   Folha img/flora/flora-acena-v1.webp: 1ª linha = 12 quadros de aceno, 2ª = 8 parada; quadro 162×280 na folha =
   81×140 em CSS. O flora-site.js liga as classes --viva / --acena / --falando / --pronta / --saindo / --oculta.
   Leveza: nada de filter em sprite animado (seria refeito a cada quadro) — a sombra no chão é estática (::before). */
.flora-site{position:fixed;right:max(14px,env(safe-area-inset-right));bottom:env(safe-area-inset-bottom);z-index:57;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;transform-origin:100% 100%}
.flora-site[hidden]{display:none}
.flora-site::before{content:"";position:absolute;right:14px;bottom:1px;width:56px;height:10px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(59,42,47,.22),rgba(59,42,47,0) 72%);opacity:0;transition:opacity .55s}
.flora-site--viva::before{opacity:1}
.flora-site--oculta{visibility:hidden}
.flora-site__corpo{position:relative;width:81px;height:140px;margin:0 2px 0 0;transform:translateY(112%);transition:transform .55s cubic-bezier(.2,.8,.2,1);will-change:transform}
.flora-site--viva .flora-site__corpo{transform:translateY(0)}
.flora-site--saindo .flora-site__corpo{transform:translateY(112%)}
.flora-site__boneca{display:block;width:81px;height:140px;padding:0;border:0;background:url(../img/flora/flora-acena-v1.webp) 0 -140px/972px 280px no-repeat;pointer-events:auto;cursor:pointer;animation:flora-site-parada 2.4s steps(8) infinite;-webkit-tap-highlight-color:transparent}
.flora-site--acena .flora-site__boneca{background-position-y:0;animation:flora-site-aceno 1.1s steps(12) infinite}
.flora-site__boneca:focus-visible{outline:2px solid var(--brand,#C9447A);outline-offset:2px;border-radius:8px}
@keyframes flora-site-parada{to{background-position-x:-648px}}
@keyframes flora-site-aceno{to{background-position-x:-972px}}

/* × pequeno da própria Flora: ela sai desta página (na próxima volta quieta). Área de toque 32px, desenho 20px. */
.flora-site__sair{position:absolute;top:14px;left:-12px;width:32px;height:32px;padding:0;border:0;background:transparent;pointer-events:auto;cursor:pointer;display:flex;align-items:center;justify-content:center}
.flora-site__sair span{width:20px;height:20px;border-radius:50%;background:var(--surface,#fff);border:1px solid var(--border-strong,#E7C2CF);color:var(--ink-2,#6E5A5F);font:600 13px/18px var(--font-body,system-ui,sans-serif);text-align:center;box-shadow:0 2px 6px rgba(59,42,47,.12)}
.flora-site__sair:hover span,.flora-site__sair:focus-visible span{background:var(--brand-soft,#FCE4EE);color:var(--ink,#3B2A2F)}
.flora-site__sair:focus-visible{outline:none}

/* Balão: digitado, com × (fecha só a fala) e um botão no fim. */
.flora-site__balao{position:relative;width:min(300px,calc(100vw - 28px));margin:0 0 10px;padding:13px 38px 14px 16px;border-radius:18px 18px 6px 18px;background:var(--surface,#fff);color:var(--ink,#3B2A2F);border:1px solid var(--border-c,#F3DDE4);box-shadow:0 12px 30px rgba(59,42,47,.16);font:15px/1.45 var(--font-body,system-ui,sans-serif);pointer-events:auto;opacity:0;transform:translateY(8px);transition:opacity .3s,transform .3s}
.flora-site__balao[hidden]{display:none}
.flora-site--falando .flora-site__balao{opacity:1;transform:none}
.flora-site__balao::after{content:"";position:absolute;right:30px;bottom:-8px;width:16px;height:16px;background:var(--surface,#fff);border-right:1px solid var(--border-c,#F3DDE4);border-bottom:1px solid var(--border-c,#F3DDE4);transform:rotate(45deg);border-radius:0 0 4px 0}
.flora-site__nome{margin:0 0 4px;color:#637352;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.5}
.flora-site__texto{margin:0;min-height:1.45em;font-weight:500}
.flora-site__texto::after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-2px;background:var(--brand,#C9447A);animation:flora-site-cursor .8s steps(2) infinite}
.flora-site--pronta .flora-site__texto::after{display:none}
@keyframes flora-site-cursor{to{opacity:0}}
.flora-site__ir{display:inline-flex;align-items:center;gap:6px;margin-top:10px;padding:9px 16px;border-radius:999px;background:var(--brand,#C9447A);color:#fff;font-weight:700;font-size:14px;line-height:1.3;text-decoration:none}
.flora-site__ir[hidden]{display:none}
/* Conversa com IA (flora-chat.css/js): botão secundário, abaixo do principal. */
.flora-site__conversar{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;margin-top:8px;padding:9px 14px;border:1px solid #C9D4BC;border-radius:999px;background:#F3F7EE;color:#3F5236;font:600 13px/1.3 var(--font-body,system-ui,sans-serif);cursor:pointer}
.flora-site__conversar::before{content:"";width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z%27/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27black%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3E%3Cpath d=%27M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12z%27/%3E%3C/svg%3E") center/contain no-repeat}
.flora-site__conversar[hidden]{display:none}
.flora-site__conversar:hover,.flora-site__conversar:focus-visible{background:#E8F0DF;border-color:#A9B998}
.flora-site__ir:hover,.flora-site__ir:focus-visible{background:var(--brand-hover,#A8325F);color:#fff}
.flora-site__fechar{position:absolute;top:4px;right:4px;width:32px;height:32px;padding:0;border:0;border-radius:16px;background:transparent;color:var(--ink-3,#7D666B);font-size:20px;line-height:1;cursor:pointer}
.flora-site__fechar:hover,.flora-site__fechar:focus-visible{background:var(--surface-2,#FFF4F7);color:var(--ink,#3B2A2F)}
.flora-site__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

@media (max-width:760px){.flora-site{right:max(6px,env(safe-area-inset-right))}.flora-site__balao{font-size:14px;padding:12px 36px 12px 14px}}
/* Celular deitado (pouca altura): a Flora e o balão encolhem juntos, presos no canto. */
@media (max-height:520px){.flora-site{transform:scale(.78)}}
@media (hover:none){.flora-site__sair:hover span{background:var(--surface,#fff);color:var(--ink-2,#6E5A5F)}}
@media (prefers-reduced-motion:reduce){.flora-site__boneca,.flora-site--acena .flora-site__boneca{animation:none}.flora-site__corpo,.flora-site__balao,.flora-site::before{transition:none}.flora-site__texto::after{display:none}}
