/* ═══════════════════════════════════════════════════════════════════════════════════════════
   cerebro_movimento_v1.css — «Meu cérebro»: o símbolo que PENSA (forma que se mexe) + a pele .rnj--cerebro
   Rodada «identidade, movimento e janela» · 12/10/2026 · Jean. Vai pro app como está (css/), carregado DEPOIS de
   montagem_v5.css, janela_contexto_v2.css, cerebro_pedido_v1.css e cerebro_calculando_v1.css.

   Lê os tokens do app: --cer / --cer-rgb / --cer-luz (cerebro_pedido_v1.css 194) · --text --text2 --text3 · --fs-* · --ui --serif ·
   --ease · --card-line-1 · --verm · --rnj-* (janela_contexto_v2.css). Nenhum número cru de fonte. Roxo: zero.

   Prefixo novo: .mcv-* («meu cérebro vivo»). O glifo é o mesmo (.mcb-*, cerebro_pedido_v1.css) com 3 evoluções de MARKUP
   (o _MCB_SVG, uma string, 3 cópias): viewBox com folga «-12 -12 124 108» · grupos .mcv-corpo/.mcv-miolo/.mcv-fissura/.mcv-sec ·
   as cópias de pulso .mcv-p (pathLength="100"). O span ganha a classe .mcv (_mcrDisco: class="mcb-ico mcv"; o aro: "mcb-aro mcv").

   REGRA DESTA RODADA: no cérebro a MOLDURA NUNCA AGE; o órgão age. Em `infinite` só transform/opacity; nenhum filter em elemento
   que se mexe; stroke-dashoffset só em sequência de uma vez (ondas do Montar, crista que se desenha, reconheceu, concluiu).

   NÚCLEO (origem de toda escala radial): 41,2 · 46,9 no viewBox 100×84 = centro da crista 7. Com a folga de 12 o mesmo ponto
   é 41,2 · 46,9 (transform-box:view-box mede do (0,0) do desenho, não do canto da folga). NÃO é o 50·44 do quadro.
   FOLGA: 12 unidades nos 4 lados = 7,2 px em 88 · 5,2 px em 64 · 1,9 px em 22 (≥ deslocamento máximo 4 · 3 · 1,5 + blur 2,5 · 0 · 0).
   O desenho em tela NÃO muda de tamanho: a caixa do <svg> cresce 1,24× junto com o viewBox (0,598 px/unidade em 88, como hoje).

   ESTADOS (gatilho → fim):
     repouso                parado de verdade                                               —
     .chega                 sobe 6px → 0 + opacidade, 220ms; ≥56 soma o assentar interno   → parado
     [data-onda="1|2|3"]    uma onda por linha do Montar (o porte troca o atributo em l1/l2/l3 COM REFLOW, como faz com .entra)
     [data-onda="espera"]   motor atrasado: miolo apertado, silhueta viva (1px)             → onda 3 ou .erro
     .mcv--sync             pensando indeterminado (SY.on): 2 ondas desiguais / 2,6s        → .aprende · .concluiu · .erro
     .concluiu              a última onda assenta com sobra, 600ms                          → repouso (tirar a classe)
     .aprende + .mcb-r.nova a crista nova se desenha (600) + uma onda (600)                  → repouso na fase nova
     .reconheceu            uma volta do pulso no contorno, ≤ 500ms                         → repouso (tirar a classe)
     .erro                  corta: volta ao repouso sem sobra, contorno em --text3, nada se mexe → próximo toque
     prefers-reduced-motion mesmo relógio; sai deformação e pulso; as cristas acendem em sequência (opacidade)
   ═══════════════════════════════════════════════════════════════════════════════════════════ */

/* ── 0 · o que SAI do que está no ar (E2: o aro e o brilho eram o mecanismo da RN IA) ── */
/* NOVO · decisão 3 (sobe pra Raphael): o aro de 88 para de girar e de ondular. Fica como matéria parada (conic fixo em --mcb-giro:0deg). */
.mcb-aro,.mcb-aro.aprende{animation:none}
/* NOVO: o «chega» deixa de ser box-shadow (mcbBrilho) — vira a entrada da casa (§1 abaixo). */
.mcb-ico.mcv.chega{animation:mcvChega 220ms var(--ease) both}

/* ── 1 · a caixa do símbolo: folga, tamanhos, amplitudes por tamanho (px de TELA, ver tabela na prancha) ── */
.mcv,.mcv svg{overflow:visible}
.mcv{position:relative;
  /* amplitudes (escala radial a partir do núcleo). Padrão = ícone pequeno 28/22/20: sem antecipação; silhueta 1 → 1,14 → 1 (1,0–1,5 px) */
  --mcv-ap:1;--mcv-pico:1.14;--mcv-pico3:1.14;--mcv-curto:1.06;--mcv-esp:.955;--mcv-miolo:1;--mcv-fis:1;--mcv-sec:1;
  --mcv-pw:7px;--mcv-pwc:7px;         /* pulso: traço das cristas · do contorno (unidades do viewBox = px CSS no SVG) */
  --mcv-t:0s}                          /* deslocamento de relógio: 0 no app; a prancha usa negativo pra congelar quadros */
/* 88 (aro, Ajustes e cabeça da seção): 0,598 px/u · antecipação −1 px · pico +3,6 (onda 3: +4,0 = 3 + sobra 1) · miolo −1,2 · fissura +1,4 · cerebelo +1,0 · pulso 0,9 → 1,8 px */
.mcb-aro.mcv{--mcv-ap:.968;--mcv-pico:1.115;--mcv-pico3:1.128;--mcv-curto:1.06;--mcv-esp:.955;--mcv-miolo:.93;--mcv-fis:1.10;--mcv-sec:1.03;--mcv-pw:3px;--mcv-pwc:3px}
/* 64 herói (piso 56): 0,435 px/u · antecipação −0,7 · pico +2,5 (onda 3: +2,7 = 2 + sobra 0,7) · miolo −0,9 · fissura +1,0 · cerebelo: some · pulso 0,65 → 1,3 px */
.mcv--heroi{--d:64px;--mcv-ap:.969;--mcv-pico:1.11;--mcv-pico3:1.12;--mcv-curto:1.05;--mcv-esp:.955;--mcv-miolo:.92;--mcv-fis:1.10;--mcv-sec:1;--mcv-pw:3px;--mcv-pwc:3px;border-width:1.4px}
/* o glifo ocupa a MESMA área de hoje: a caixa cresce 1,24× (124/100) e 1,2857× (108/84) com o viewBox */
.mcb-ico.mcv svg{width:calc(var(--d)*.8928);height:calc(var(--d)*.7714)}
.mcb-aro.mcv svg,.mcv--heroi svg{width:calc(var(--d)*.8432);height:calc(var(--d)*.7329)}
/* 18 (eyebrows): o pulso do contorno precisa de 1 px → 8 u. 16 e 14 (selo «Cérebro escolhe», pílulas, mcq-sug) → 10 u. Contexto novo com --d ≤ 16 declara --mcv-pwc:10px. */
.mce-eb .mcb-ico.mcv,.mcpg-cab .mcb-ico.mcv,.mcp .rnj-eyebrow .mcb-ico.mcv,.rnj--cerebro .rnj-eyebrow .mcb-ico.mcv{--mcv-pwc:8px}
.mcp-selo .mcb-ico.mcv,.mcp-met .tipos button .mcb-ico.mcv,.mcq-sug .mcb-ico.mcv{--mcv-pwc:10px}

/* ── 2 · as camadas: tudo escala do núcleo (41,2 · 46,9 no desenho) ── */
.mcv .mcv-corpo,.mcv .mcv-miolo,.mcv .mcv-fissura,.mcv .mcv-sec{transform-box:view-box;transform-origin:41.2px 46.9px}   /* emenda 12/10 (Jean, 2º ciclo pré-porte, MEDIDO na tela): era 53.2px 58.9px — a borda direita andava 0,77× */
/* o pulso: cópia da crista, trecho de 16 % do laço, mais grosso; apagado em repouso. Nas cristas APAGADAS engrossa pela metade e não acende. */
.mcv .mcv-p{fill:none;stroke:rgba(238,231,218,.34);stroke-width:calc(var(--mcv-pw)*.7);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16 84;stroke-dashoffset:0;opacity:0;pointer-events:none}
.mcv .mcv-pc{stroke-width:calc(var(--mcv-pwc)*.7)}
/* atraso por camada: do miolo (7) pra fora, 60 ms cada; o contorno é o último (+420) */
.mcv .mcv-p[data-r="7"]{--mcv-dr:0s}.mcv .mcv-p[data-r="6"]{--mcv-dr:.06s}.mcv .mcv-p[data-r="5"]{--mcv-dr:.12s}.mcv .mcv-p[data-r="4"]{--mcv-dr:.18s}
.mcv .mcv-p[data-r="3"]{--mcv-dr:.24s}.mcv .mcv-p[data-r="2"]{--mcv-dr:.30s}.mcv .mcv-p[data-r="1"]{--mcv-dr:.36s}.mcv .mcv-pc{--mcv-dr:.42s}
/* as cristas (pathLength="100" entra no markup pra «se desenhar» no aprender) */
.mcv .mcb-r{--mcv-w:1.5px;stroke-width:var(--mcv-w)}
.mcb-ico.mcv .mcb-r{--mcv-w:3.2px}
/* a fase acende crista E pulso juntos — a mesma régua do .mcb-aro[data-sabe] (cerebro_pedido_v1.css 229–235), agora em .mcv (o herói lê data-sabe; sem o atributo, o ícone pequeno segue com as 4 fixas) */
.mcv[data-sabe="1"] [data-r="7"],
.mcv[data-sabe="2"] [data-r="7"],.mcv[data-sabe="2"] [data-r="6"],
.mcv[data-sabe="3"] [data-r="7"],.mcv[data-sabe="3"] [data-r="6"],.mcv[data-sabe="3"] [data-r="5"],
.mcv[data-sabe="4"] [data-r="7"],.mcv[data-sabe="4"] [data-r="6"],.mcv[data-sabe="4"] [data-r="5"],.mcv[data-sabe="4"] [data-r="4"],
.mcv[data-sabe="5"] [data-r]:not([data-r="1"]):not([data-r="2"]),
.mcv[data-sabe="6"] [data-r]:not([data-r="1"]),
.mcv[data-sabe="7"] [data-r]{stroke:var(--cer)}
.mcv[data-sabe="1"] .mcv-p[data-r="7"],
.mcv[data-sabe="2"] .mcv-p[data-r="7"],.mcv[data-sabe="2"] .mcv-p[data-r="6"],
.mcv[data-sabe="3"] .mcv-p[data-r="7"],.mcv[data-sabe="3"] .mcv-p[data-r="6"],.mcv[data-sabe="3"] .mcv-p[data-r="5"],
.mcv[data-sabe="4"] .mcv-p[data-r="7"],.mcv[data-sabe="4"] .mcv-p[data-r="6"],.mcv[data-sabe="4"] .mcv-p[data-r="5"],.mcv[data-sabe="4"] .mcv-p[data-r="4"],
.mcv[data-sabe="5"] .mcv-p[data-r]:not([data-r="1"]):not([data-r="2"]),
.mcv[data-sabe="6"] .mcv-p[data-r]:not([data-r="1"]),
.mcv[data-sabe="7"] .mcv-p[data-r],
.mcb-ico.mcv:not([data-sabe]) .mcv-p[data-r="7"],.mcb-ico.mcv:not([data-sabe]) .mcv-p[data-r="6"],.mcb-ico.mcv:not([data-sabe]) .mcv-p[data-r="5"],.mcb-ico.mcv:not([data-sabe]) .mcv-p[data-r="4"]{stroke:var(--cer);stroke-width:var(--mcv-pw)}
/* o contorno sempre carrega o pulso cheio (é o fim da onda) */
.mcv .mcv-pc,.mcv[data-sabe] .mcv-pc{stroke:var(--cer);stroke-width:var(--mcv-pwc)}
/* o brilho das cristas acesas (drop-shadow do aro, cerebro_pedido_v1.css 234) SAI enquanto algo se mexe: filter nunca em elemento que se mexe */
.mcv:is([data-onda],.mcv--sync,.aprende,.reconheceu,.concluiu) .mcb-r.mcb-r.mcb-r{filter:none;transition:none}

/* ── 3 · CHEGA — a entrada da casa (8px/220ms): sobe 6 → 0 com opacidade, em TODO tamanho; ≥ 56 soma o assentar interno .94 → 1,02 → 1 ── */
.mcv.chega{animation:mcvChega 220ms var(--ease) both}
.mcb-aro.mcv.chega .mcv-corpo,.mcv--heroi.chega .mcv-corpo{animation:mcvChegaAssenta 320ms cubic-bezier(.34,1.56,.64,1) 60ms both}
@keyframes mcvChega{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes mcvChegaAssenta{from{transform:scale(.94)}to{transform:scale(1)}}

/* ── 4 · PENSANDO · MONTAR — uma onda por linha. Perfil por onda (cabe na janela de 1,15 s; a silhueta assenta 70 ms antes do tique) ──
   onda 1 (linha 1 a 0,30): antecipação ,25 · propagação ,50 · assenta ,33 → assenta a 1,38; tique 1,45
   onda 2 (linha 2 a 1,60): antecipação ,15 · propagação ,50 · assenta ,43 → assenta a 2,68; tique 2,75
   onda 3 (linha 3 a 2,90): antecipação ,20 · propagação ,45 · assenta ,43 (a maior sobra) → assenta a 3,98; tique e recolher a 4,05 */
.mcv[data-onda="1"]{--mcv-ant:.25s;--mcv-prop:.50s;--mcv-ass:.33s;--mcv-lap:.46s}
.mcv[data-onda="2"]{--mcv-ant:.15s;--mcv-prop:.50s;--mcv-ass:.43s;--mcv-lap:.44s}
.mcv[data-onda="3"]{--mcv-ant:.20s;--mcv-prop:.45s;--mcv-ass:.43s;--mcv-lap:.42s;--mcv-pico:var(--mcv-pico3)}
/* a silhueta: aperta (entrada dura) · solta (entrada dura) · assenta (segura no ponto mais longe e cai: .4,0,.2,1) */
.mcv[data-onda] .mcv-corpo{animation:
  mcvAperta var(--mcv-ant) cubic-bezier(.4,0,.6,1) var(--mcv-t) 1 forwards,
  mcvSolta var(--mcv-prop) cubic-bezier(.4,0,.6,1) calc(var(--mcv-ant) + var(--mcv-t)) 1 forwards,
  mcvAssenta var(--mcv-ass) cubic-bezier(.4,0,.2,1) calc(var(--mcv-ant) + var(--mcv-prop) + var(--mcv-t)) 1 forwards}
/* a curva do assentar NÃO é a da casa (.23,1,.32,1): ela cai de uma vez e a sobra não se vê. Com (.4,0,.2,1) a silhueta segura um instante no ponto mais longe e assenta — é o follow-through. */
/* o miolo (cristas 7–5) aperta junto e solta primeiro: é de onde a onda nasce */
.mcv[data-onda] .mcv-miolo{animation:
  mcvMioloAperta var(--mcv-ant) cubic-bezier(.4,0,.6,1) var(--mcv-t) 1 forwards,
  mcvMioloSolta calc(var(--mcv-prop)*.6) var(--ease) calc(var(--mcv-ant) + var(--mcv-t)) 1 forwards}
/* a fissura aprofunda na antecipação e volta ao soltar (ação secundária) */
.mcv[data-onda] .mcv-fissura{animation:
  mcvFisAperta var(--mcv-ant) cubic-bezier(.4,0,.6,1) var(--mcv-t) 1 forwards,
  mcvFisSolta calc(var(--mcv-prop)*.8) var(--ease) calc(var(--mcv-ant) + var(--mcv-t)) 1 forwards}
/* cerebelo e tronco recebem a onda por último, com metade da amplitude (só em 88; em 64 --mcv-sec:1 = parado) */
.mcv[data-onda] .mcv-sec{animation:mcvSec .5s var(--ease) calc(var(--mcv-ant) + var(--mcv-prop)*.7 + var(--mcv-t)) 1 forwards}
/* o pulso circula: uma volta por crista, começando na 7, 60 ms de atraso por camada; o contorno fecha com o tique */
.mcv[data-onda] .mcv-p{animation:mcvPulso var(--mcv-lap) cubic-bezier(.45,0,.55,1) calc(var(--mcv-ant) + var(--mcv-dr) + var(--mcv-t)) 1 forwards}
@keyframes mcvAperta{from{transform:scale(1)}to{transform:scale(var(--mcv-ap))}}
@keyframes mcvSolta{from{transform:scale(var(--mcv-ap))}to{transform:scale(var(--mcv-pico))}}
@keyframes mcvAssenta{from{transform:scale(var(--mcv-pico))}to{transform:scale(1)}}
@keyframes mcvMioloAperta{from{transform:scale(1)}to{transform:scale(var(--mcv-miolo))}}
@keyframes mcvMioloSolta{from{transform:scale(var(--mcv-miolo))}to{transform:scale(1)}}
@keyframes mcvFisAperta{from{transform:scale(1)}to{transform:scale(var(--mcv-fis))}}
@keyframes mcvFisSolta{from{transform:scale(var(--mcv-fis))}to{transform:scale(1)}}
@keyframes mcvSec{0%{transform:scale(1)}55%{transform:scale(var(--mcv-sec))}100%{transform:scale(1)}}
@keyframes mcvPulso{0%{stroke-dashoffset:0;opacity:0}10%{opacity:1}85%{opacity:1}100%{stroke-dashoffset:-100;opacity:0}}

/* ── 5 · ESPERA (motor atrasado): a onda 3 segura na antecipação — miolo apertado, silhueta VIVA (respira 1 px, transform only) ── */
.mcv[data-onda="espera"] .mcv-corpo{animation:mcvEspera 1.6s ease-in-out var(--mcv-t) infinite}
.mcv[data-onda="espera"] .mcv-miolo{animation:none;transform:scale(var(--mcv-miolo));transition:transform 180ms var(--ease)}
.mcv[data-onda="espera"] .mcv-fissura{animation:none;transform:scale(var(--mcv-fis));transition:transform 180ms var(--ease)}
.mcv[data-onda="espera"] .mcv-sec,.mcv[data-onda="espera"] .mcv-p{animation:none}
@keyframes mcvEspera{0%,100%{transform:scale(var(--mcv-esp))}50%{transform:scale(1)}}

/* ── 6 · PENSANDO · INDETERMINADO (Sincronizar agora, SY.on): ciclo 2,6 s com DUAS ondas desiguais (cheia + curta); sem dashoffset ── */
.mcv.mcv--sync .mcv-corpo{animation:mcvSync 2.6s cubic-bezier(.45,0,.55,1) var(--mcv-t) infinite}
.mcv.mcv--sync .mcv-miolo{animation:mcvSyncMiolo 2.6s cubic-bezier(.45,0,.55,1) var(--mcv-t) infinite}
@keyframes mcvSync{0%{transform:scale(1)}9%{transform:scale(var(--mcv-ap))}28%{transform:scale(var(--mcv-pico))}46%{transform:scale(1)}58%{transform:scale(.985)}70%{transform:scale(var(--mcv-curto))}84%,100%{transform:scale(1)}}
@keyframes mcvSyncMiolo{0%{transform:scale(1)}9%{transform:scale(var(--mcv-miolo))}26%,56%{transform:scale(1)}60%{transform:scale(.97)}72%,100%{transform:scale(1)}}

/* ── 7 · CONCLUIU (fim da sync sem aprendizado · offline · semlogin): a última onda chega à borda, passa do ponto e assenta; 600 ms ── */
.mcv.concluiu .mcv-corpo{animation:mcvConclui .6s cubic-bezier(.34,1.56,.64,1) var(--mcv-t) 1 both}
.mcv.concluiu .mcv-p{animation:mcvPulso .42s cubic-bezier(.45,0,.55,1) calc(var(--mcv-dr)*.5 + var(--mcv-t)) 1 forwards}
@keyframes mcvConclui{0%{transform:scale(1)}55%{transform:scale(var(--mcv-pico3))}100%{transform:scale(1)}}

/* ── 8 · APRENDEU (.aprende; o porte marca a crista nova com .nova): ela se desenha da fissura pra fora (600) e uma onda sai do miolo até ela (600). Sem volta do aro. ── */
.mcv.aprende .mcb-r.nova{stroke-dasharray:100;animation:mcvDesenha .6s cubic-bezier(.4,0,.6,1) var(--mcv-t) 1 both}
.mcv.aprende .mcv-corpo{animation:mcvConclui .6s cubic-bezier(.34,1.56,.64,1) calc(.6s + var(--mcv-t)) 1 both}
.mcv.aprende .mcv-p{animation:mcvPulso .42s cubic-bezier(.45,0,.55,1) calc(.6s + var(--mcv-dr)*.5 + var(--mcv-t)) 1 forwards}
@keyframes mcvDesenha{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}

/* ── 9 · RECONHECEU (clique que ensina: «Passo a fazer assim», respostas do «Confere comigo», «Anotado»): uma volta do pulso no contorno, 450 ms ── */
.mcv.reconheceu .mcv-pc{animation:mcvPulso .45s cubic-bezier(.45,0,.55,1) var(--mcv-t) 1 forwards}

/* ── 10 · ERRO (.wkb-revisao-err · SY.res falha/erro): corta. Volta ao repouso SEM sobra (240 ms), cristas na fase, contorno em --text3, nada se mexe. ── */
.mcv.erro .mcv-corpo,.mcv.erro .mcv-miolo,.mcv.erro .mcv-fissura,.mcv.erro .mcv-sec{animation:none;transform:none;transition:transform 240ms var(--ease)}
.mcv.erro .mcv-p{animation:none;opacity:0}
.mcv.erro .mcb-cer-contorno{stroke:var(--text3);transition:stroke 240ms var(--ease)}
.mcv.erro .mcb-r{filter:none}

/* ── 11 · O HERÓI NO CALCULANDO (decisão 1): 64 no alto do corpo, onde o rastro vai ficar; a coluna de 28 sai ── */
.mcc{position:relative}
.mcv-palco{position:relative;display:flex;align-items:flex-start;min-height:64px;margin:0 0 12px}
.mcc--pensando .mcc-pesa-in,.mcc--recolhe .mcc-pesa-in{grid-template-columns:minmax(0,1fr)}   /* NOVO: substitui o 28px minmax(0,1fr) de cerebro_calculando_v1.css 39 */
.mcc--pensando .mcc-pesa-in>.mcc-simbolo,.mcc--recolhe .mcc-pesa-in>.mcc-simbolo{display:none}  /* o símbolo de 22 da coluna morre; o herói mora no palco, FORA do overflow:hidden */
/* o recolher é UM gesto: as linhas se guardam (mcc-recolhe) e o herói viaja pra vaga do rastro nos mesmos 400 ms. O porte faz FLIP:
   mede a vaga do ícone do rastro DEPOIS do recolher, põe --vx/--vy/--vs no herói e liga .mcv--viaja; no fim troca pelo ícone do rastro. */
.mcc--recolhe .mcv-palco{animation:mcvPalcoRecolhe 400ms var(--ease) forwards}
.mcc--recolhe .mcv--heroi{position:absolute;left:var(--hx,0px);top:var(--hy,0px);z-index:2}
.mcv--heroi.mcv--viaja{transform-origin:0 0;transform:translate(var(--vx,0px),var(--vy,0px)) scale(var(--vs,.3125));transition:transform 400ms var(--ease)}
.mcc--recolhe .mcc-rastro .mcb-ico{visibility:hidden}          /* um símbolo só em cena: o do rastro aparece quando o herói chega */
.mcc--entrando .mcv-palco,.mcc--pronta .mcv-palco{display:none}
@keyframes mcvPalcoRecolhe{from{min-height:64px;margin-bottom:12px}to{min-height:0;margin-bottom:0}}
/* o tique é a onda caindo: começa 70 ms depois de a silhueta assentar (o relógio já marca t1/t2/t3 nesse instante) */
.mcc-tique{filter:none}                                                                            /* NOVO: o brilho do tique sai (filter em elemento que se desenha) */

/* ── 12 · A CASA DO CÉREBRO · .rnj--cerebro — variante de PELE da v2 (método do .rnj--obsidian, bloco 13). Sobe pra Raphael (decisões 2, 4 e 6). ──
   O que carrega a identidade, em ordem de força: 1 o cérebro em cena (herói 64 no pensando · .mcb-ico 18 no eyebrow nas outras) ·
   2 jade onde a luz bate no aro (0 %; prata no resto; a madrepérola NÃO muda — fica neutra) · 3 título «Meu cérebro» · 4 o fio mantém a
   semântica da casa (ouro decide · azul informa; jade NUNCA é fio) · 5 chão chumbo, sem aurora, sem órbita, sem rolagem roxa, ✕ = .rnj-close ·
   6 o selo RN oficial só na cheia da proposta · 7 o que pensa, pensa dentro do corpo.
   Seletores por família: diálogo P  .rnj-overlay--dialogo > .rnj.rnj--p.rnj--cerebro
                          cheia/640  .rnj-overlay > .rnj.rnj--cheia.rnj--cerebro
                          balão «?»  .rnj-ancora > .rnj-balao.rnj--cerebro   (celular: .rnj-overlay--flutua > .rnj.rnj--m.rnj--info.rnj--cerebro)
                          toast      .rnj-toast.rnj--cerebro[.rnj-toast--info | .rnj-toast--erro] */
.rnj--cerebro{--mcv-aro:linear-gradient(150deg,rgba(var(--cer-rgb),.52) 0%,rgba(255,255,255,.28) 34%,rgba(255,255,255,.22) 100%);
  background:linear-gradient(160deg,var(--rnj-chumbo-1) 0%,var(--rnj-chumbo-0) 100%) padding-box,var(--mcv-aro) border-box}
.rnj-balao.rnj--cerebro{background:linear-gradient(160deg,var(--rnj-chumbo-1),var(--rnj-chumbo-0)) padding-box,var(--mcv-aro) border-box}
.rnj-toast.rnj--cerebro{background:linear-gradient(160deg,var(--rnj-chumbo-1),var(--rnj-chumbo-0)) padding-box,linear-gradient(150deg,rgba(var(--cer-rgb),.52),rgba(255,255,255,.26) 40%,rgba(255,255,255,.2)) border-box}
/* a assinatura no eyebrow (o padrão .mce-eb / .mcp .rnj-eyebrow .mcb-ico, cerebro_pedido_v1.css 218 e 270) */
.rnj--cerebro .rnj-eyebrow .mcb-ico{--d:18px;margin:0 2px 0 -2px}
.rnj--cerebro .rnj-eyebrow>span{display:inline-flex;align-items:center;gap:8px;min-width:0}
/* o selo RN da casa (E3): o símbolo oficial em repouso, ponta pra cima, sem caixa, dourado; hexágono de 34 px ponta a ponta (104 u do viewBox 120 → 39,2 px de <svg>) */
.rnj--cerebro .mcv-selo{flex:none;width:39px;height:39px;display:block;align-self:flex-start}
.rnj--cerebro .mcv-selo svg{display:block;width:39px;height:39px;overflow:visible}
.rnj--cerebro .mcv-selo .cont{fill:none;stroke:var(--rnj-ouro);stroke-width:6;stroke-linejoin:miter}
.rnj--cerebro .mcv-selo .rn{fill:var(--rnj-ouro)}
/* a linha de erro da janela (substitui .wkb-revisao-err 13,5 px vermelho sem ícone): o símbolo em pose de erro acima, ícone + rótulo + --fs-* */
.mcv-erro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 14px;align-items:start;padding:6px 0 10px}
.mcv-erro .mcv{grid-row:1/3;margin-top:2px}
.mcv-erro .rnj-status{grid-column:2}
.mcv-erro p{grid-column:2;margin:0;font:400 var(--fs-md)/1.4 var(--rnj-ui);color:var(--rnj-text);text-wrap:pretty}
.mcv-erro p b{font-weight:500}

/* ── 14 · PEÇA PRÓPRIA · .mcj (Raphael, 12/10: «quero ver uma peça própria do Meu cérebro, com tanto destaque e beleza quanto o da RN IA») ──
   É a exceção à trava da v2, aberta por ele. A língua é a oposta da RN IA e a mesma do símbolo: a janela É o disco do cérebro em grande —
   chão obsidiano, aro cônico JADE com um ponto de luz (o mesmo aro do .mcb-ico, de 210°), halo jade onde a luz bate, a impressão digital
   como marca d'água no alto. TUDO PARADO: a moldura nunca age — o que se mexe é o cérebro dentro do corpo. Entra como a casa entra
   (sobe 14 px, 320 ms) e só. Celular: cartão centrado, largura 100 % − 32, altura automática (teto 86dvh). Mac: cartão 640.
   Esqueleto: <div class="mcj-veu open"><section class="mcj [mcj--pensa]" role="dialog">
     <svg class="mcj-marca">…cristas…</svg><div class="mcj-head">selo · .mcj-titles(.mcj-title + .mcj-sub) · .mcj-close</div><div class="mcj-body">…</div><div class="mcj-foot">…</div></section></div>
   Emenda que isto pede à SKILL: jade no eyebrow desta janela (rótulo em caixa alta, não texto corrido; 16:1 sobre o chão) e no aro. */
.mcj-veu{display:none;position:fixed;inset:0;z-index:var(--rnj-z-folha,10200);align-items:center;justify-content:center;padding:16px;background:rgba(5,4,3,.66);-webkit-backdrop-filter:blur(14px) saturate(110%);backdrop-filter:blur(14px) saturate(110%)}
.mcj-veu.open{display:flex;animation:rnjVeu .22s var(--ease) both}
.mcj{--mcj-r:20px;position:relative;isolation:isolate;display:flex;flex-direction:column;width:min(100%,560px);max-height:86dvh;overflow:hidden;color:var(--text);font:400 var(--fs-sm)/1.5 var(--ui);-webkit-font-smoothing:antialiased;
  border:1.5px solid transparent;border-radius:var(--mcj-r);
  background:
    radial-gradient(90% 70% at 14% 0%,rgba(var(--cer-rgb),.11),transparent 62%) padding-box,
    linear-gradient(168deg,#13110b 0%,#0a0806 56%) padding-box,
    conic-gradient(from 210deg at 50% 50%,rgba(var(--cer-rgb),.28) 0deg,var(--cer) 110deg,var(--cer-luz) 150deg,var(--cer) 190deg,rgba(var(--cer-rgb),.34) 290deg,rgba(var(--cer-rgb),.28) 360deg) border-box;
  box-shadow:0 0 0 1px rgba(0,0,0,.55),0 0 54px rgba(var(--cer-rgb),.13),0 32px 80px -30px rgba(0,0,0,.92),inset 0 1px 0 rgba(var(--cer-rgb),.10)}
.mcj-veu.open .mcj{animation:mcjSobe .32s var(--ease) both}
@keyframes mcjSobe{from{opacity:0;transform:translateY(14px)}}
/* a marca d'água: as 7 cristas da digital, paradas, onde a luz bate */
.mcj-marca{position:absolute;right:-34px;top:-26px;width:230px;height:auto;z-index:0;pointer-events:none;opacity:.9}
.mcj-marca path{fill:none;stroke:rgba(var(--cer-rgb),.07);stroke-width:1.1;stroke-linecap:round}
.mcj>:not(.mcj-marca){position:relative;z-index:1}
.mcj-head{display:flex;align-items:center;gap:12px;padding:18px 20px 14px;border-bottom:1px solid rgba(var(--cer-rgb),.12);flex:none}
.mcj-head .mcv-selo{flex:none;width:39px;height:39px;display:block}
.mcj-head .mcv-selo svg{display:block;width:39px;height:39px;overflow:visible}
.mcj-head .mcv-selo .cont{fill:none;stroke:var(--gold);stroke-width:6;stroke-linejoin:miter}
.mcj-head .mcv-selo .rn{fill:var(--gold)}
.mcj-titles{flex:1;min-width:0;display:flex;flex-direction:column-reverse;gap:4px}
.mcj-title{margin:0;font:500 var(--fs-xl)/1.15 var(--serif);color:var(--text);text-wrap:balance}
.mcj-sub{display:flex;align-items:center;gap:8px;font:500 var(--fs-micro)/1.25 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--cer);text-wrap:balance}
.mcj-sub .mcb-ico{--d:18px;margin:0 2px 0 -2px}
.mcj-close{position:relative;width:32px;height:32px;flex:none;display:grid;place-items:center;align-self:flex-start;margin-top:-2px;border:1px solid rgba(var(--cer-rgb),.32);border-radius:9px 9px 9px 4px;background:rgba(var(--cer-rgb),.04);color:var(--text2);cursor:pointer;transition:border-color .18s var(--ease),color .18s var(--ease)}
.mcj-close::before{content:"";position:absolute;inset:-7px}
.mcj-close .i{width:16px;height:16px}
.mcj-close:hover{color:var(--text);border-color:rgba(var(--cer-rgb),.55)}
.mcj-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;padding:14px 20px 8px;color:var(--text2);scrollbar-width:thin;scrollbar-color:rgba(var(--cer-rgb),.35) transparent;
  -webkit-mask:linear-gradient(180deg,transparent,#000 12px,#000 calc(100% - 16px),transparent);mask:linear-gradient(180deg,transparent,#000 12px,#000 calc(100% - 16px),transparent)}
.mcj-body>:last-child{margin-bottom:0}
.mcj-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap;padding:14px 20px calc(env(safe-area-inset-bottom,0px) + 18px);border-top:1px solid rgba(var(--cer-rgb),.10);flex:none}
/* o pensando por dentro: o herói mora no palco, igual; a cheia não tem altura fixa aqui — o cartão cresce no recolher (como hoje) */
.mcj .mcc{margin-bottom:12px}
@media (min-width:1024px) and (min-height:501px), (min-width:1024px) and (pointer:fine){.mcj-veu{padding:28px}.mcj{width:640px;max-width:640px;max-height:min(86dvh,780px)}}
@media (prefers-reduced-motion:reduce){.mcj-veu.open,.mcj-veu.open .mcj{animation:none}}
@media (prefers-reduced-motion:reduce){
  .mcv .mcv-corpo,.mcv .mcv-miolo,.mcv .mcv-fissura,.mcv .mcv-sec,.mcv.chega,.mcv.aprende .mcb-r.nova{animation:none!important;transform:none!important;opacity:1}
  .mcv .mcv-p{animation:none!important;stroke-dasharray:none}
  .mcv:is([data-onda="1"],[data-onda="2"],[data-onda="3"],.concluiu,.aprende) .mcv-p{animation:mcvAcendeR .5s ease-in-out calc(var(--mcv-ant,0s) + var(--mcv-dr) + var(--mcv-t)) 1 forwards!important}
  .mcv.reconheceu .mcv-pc{animation:mcvAcendeR .4s ease-in-out var(--mcv-t) 1 forwards!important}
  .mcv.mcv--sync .mcv-p{animation:mcvAcendeRLoop 2.6s ease-in-out calc(var(--mcv-dr)*2 + var(--mcv-t)) infinite!important}
  .mcv[data-onda="espera"] .mcv-miolo{transform:scale(var(--mcv-miolo))!important}
  .mcv--heroi.mcv--viaja{transition:none}
  .mcc--recolhe .mcv-palco{animation:none;min-height:0;margin-bottom:0}
}
@keyframes mcvAcendeR{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
@keyframes mcvAcendeRLoop{0%,40%,100%{opacity:0}18%{opacity:1}}

/* emenda do Jean na conversa pré-porte (12/10): a máscara do corpo come os últimos 16 px — o rodapé da proposta precisa de 20 */
.mcj-body{padding-bottom:20px}
/* porte (12/10, medido na bancada): no recolher o rastro entra EM CIMA (order:-1) e empurrava o .mcv-palco 55 px — o herói, absoluto
   dentro do palco, saltava. O FLIP do molde mede do .mcc: o palco deixa de ser o contêiner no recolher e o herói ancora no .mcc. */
.mcc--recolhe .mcv-palco{position:static}
/* Raphael 13/10: a janela encostava no topo (sombra na borda) — recuo padrão --topo-seguro no celular */
@media (max-width:1023px){.mcj-veu{padding-top:var(--topo-seguro,calc(env(safe-area-inset-top,0px) + 32px))}.mcj{max-height:min(86dvh,calc(100dvh - var(--topo-seguro,calc(env(safe-area-inset-top,0px) + 32px)) - 16px))}}
