/* v28.css · acabamento por cima do V26 (não substitui v26.css). Vai junto com v28.js.
   O que faz: cor do tema (data-tema no body), frase no ritmo da fala (.ritmo), desenho que respira
   (.respira), a peça que voa na transição que continua a cena (.v28-voo). */

/* ── cor do tema, igual na central ── */
body[data-tema="telas"]{--tema:#6C8CFF}
body[data-tema="emocoes"]{--tema:#E2708F}
body[data-tema="relacoes"]{--tema:#F2A33A}
body[data-tema="etica"]{--tema:#D9B45B}
body[data-tema="dinheiro"]{--tema:#4FB58B}
body[data-tema="futuro"]{--tema:#46C3DC}
body[data-tema] .progress{background:var(--tema)!important}
body[data-tema] .brand::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tema);margin-right:9px;vertical-align:1px}
body[data-tema] .slide:first-of-type{box-shadow:inset 6px 0 0 var(--tema)}

/* ── frase no ritmo da fala: cada trecho é um passo do V26 ── */
.ritmo.step{display:inline;transform:none;filter:blur(10px);transition:opacity 1s cubic-bezier(.2,.8,.2,1),filter 1s cubic-bezier(.2,.8,.2,1)}
.ritmo.step.on{filter:none}

/* ── desenho que respira: movimento mínimo nas telas de pausa ── */
@keyframes v28-respira{0%,100%{rotate:-.5deg;scale:1}50%{rotate:.5deg;scale:1.014}}
.respira{animation:v28-respira 9s ease-in-out infinite;transform-origin:50% 85%}

/* ── transição que continua a cena: a cópia que voa de uma tela para a outra ── */
.v28-voo{position:fixed;z-index:80;margin:0;pointer-events:none;transform-origin:0 0;white-space:nowrap}

/* ── telão limpo: controles do professor somem quando o mouse fica parado ── */
.controls,.brand,.tcod,.hint{transition:opacity .6s ease}
body.v28-quieto .controls,body.v28-quieto .brand,body.v28-quieto .tcod,body.v28-quieto .hint{opacity:0;pointer-events:none}
body.v28-quieto .controls>*{pointer-events:none}
body.v28-quieto{cursor:none}

/* ── amparo nas aulas sensíveis (data-sensivel no body): rodapé discreto na última tela ── */
.v28-amparo{position:absolute;left:50%;bottom:92px;transform:translateX(-50%);width:min(760px,86vw);margin:0;text-align:center;font-size:clamp(13px,1.05vw,17px);line-height:1.45;opacity:.72;z-index:3}

/* ── controle remoto pelo celular: painel do código e do aceite (no telão, só enquanto pareia) ── */
.v28-rc{position:fixed;left:22px;bottom:84px;z-index:85;width:min(420px,calc(100vw - 44px));display:none;background:rgba(13,13,16,.94);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px 20px 18px;color:#ece7df;font-size:15px;line-height:1.45;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 60px rgba(0,0,0,.45)}
.v28-rc.on{display:block;animation:v28-rc-entra .35s cubic-bezier(.2,.8,.2,1)}
@keyframes v28-rc-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.v28-rc-cab{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.v28-rc-cab span::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--tema,var(--accent,#E5A43D));margin-right:9px;vertical-align:1px}
.v28-rc-x{border:0;background:none;color:rgba(255,255,255,.6);font-size:22px;line-height:1;cursor:pointer;padding:2px 4px}
.v28-rc-rot{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.5);margin:2px 0 6px}
.v28-rc-cod{display:flex;gap:10px;margin:2px 0 12px}
.v28-rc-cod span{display:grid;place-items:center;width:62px;height:74px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);font-family:var(--impact,'Helvetica Neue',Arial,sans-serif);font-weight:800;font-size:44px;letter-spacing:0;color:#fff}
.v28-rc-num{font-family:var(--impact,'Helvetica Neue',Arial,sans-serif);font-weight:800;font-size:72px;line-height:1;letter-spacing:.06em;color:#fff;margin:4px 0 8px}
.v28-rc-txt{margin:0 0 12px;color:rgba(236,231,223,.82)}.v28-rc-txt b{color:#fff;font-weight:600}
.v28-rc-ok{color:#8fd8b0}.v28-rc-alerta{color:#F2B84B}
.v28-rc-pede+.v28-rc-pede{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}
.v28-rc-pede p{margin:0 0 10px}
.v28-rc-bts{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.v28-rc-bts button{font:inherit;font-size:14px;font-weight:600;color:#fff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:10px 18px;cursor:pointer}
.v28-rc-bts button.forte{background:var(--tema,var(--accent,#E5A43D));border-color:transparent;color:#111;min-width:120px}
.v28-rc-bts button.fraco{background:none;border-color:transparent;color:rgba(255,255,255,.5);margin-left:auto;padding-right:4px}
.v28-rc-bts button:hover{border-color:rgba(255,255,255,.4)}
/* pontinho "controle ligado": some com o telão limpo, como os outros controles */
.v28-rc-ponto{position:fixed;left:22px;bottom:26px;z-index:61;display:none;align-items:center;gap:8px;font-size:11px;letter-spacing:.06em;color:rgba(255,255,255,.5);pointer-events:none;transition:opacity .6s ease}
.v28-rc-ponto.on{display:flex}
.v28-rc-ponto i{width:7px;height:7px;border-radius:50%;background:#5ccf95;box-shadow:0 0 0 3px rgba(92,207,149,.16)}
.v28-rc-ponto.caiu i{background:#F2B84B;box-shadow:0 0 0 3px rgba(242,184,75,.16)}
body.v28-quieto .v28-rc-ponto{opacity:0}
.controls .v28-rc-bt.ligado{color:#8fd8b0;border-color:rgba(92,207,149,.5)}
.v28-rc-aviso{position:fixed;left:50%;top:18px;transform:translate(-50%,-8px);z-index:86;max-width:min(560px,90vw);padding:9px 16px;border-radius:999px;background:rgba(13,13,16,.9);border:1px solid rgba(255,255,255,.12);color:rgba(236,231,223,.85);font-size:13px;text-align:center;opacity:0;pointer-events:none;transition:opacity .4s ease,transform .4s ease}
.v28-rc-aviso.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:820px){.v28-rc{bottom:74px;left:12px;width:calc(100vw - 24px)}.v28-rc-cod span{width:52px;height:62px;font-size:36px}.v28-rc-ponto{bottom:22px;left:14px}}
@media print{.v28-rc,.v28-rc-ponto,.v28-rc-aviso{display:none!important}}

@media (prefers-reduced-motion:reduce){.respira{animation:none}.ritmo.step{filter:none}.controls,.brand,.tcod,.hint{transition:none}}
@media print{.v28-voo{display:none}}
