/* «Aluno novo» + a entrada do professor — CÓPIA LITERAL do molde do Jean (15/10)
 * fonte: docs/rodada_entrada_professor_2026-10-15/DO_JEAN/entrada_professor_2026-10-15.html
 * linhas 10-15 (tokens), 19-199 (camada, seção 2, seção 3), 252-261 (Mac). Só muda: todo seletor
 * prefixado com #rnAlunoNovo (ficha_v4.css já tem .rn-ev-* do convite); tokens no #rnAlunoNovo, não no :root.
 * As janelas (.rnj-*) NÃO vêm daqui: são as do padrão v2 (css/janela_contexto_v2.css). */
#rnAlunoNovo{--bg:#0a0806;--text:#F0EBE0;--text2:#C8BFB0;--text3:#b1a99a;--text4:#9a9384;
--gold:#c9a227;--gold2:#e2c25e;--azul:#5b8def;--verde:#3ddc97;--limao:#fde047;--verm:#f0616b;
--line:rgba(255,255,255,.08);--line2:rgba(255,255,255,.05);--card-line-1:rgba(255,255,255,.18);--card-line-2:rgba(255,255,255,.28);--card-line-ouro:rgba(201,162,39,.5);
--fs-micro:11.5px;--fs-xs:13px;--fs-sm:14.5px;--fs-md:16px;--fs-lg:18px;--fs-xl:22px;
--ui:'Jost','Avenir Next',system-ui,-apple-system,'Segoe UI',sans-serif;--serif:'Playfair Display',Georgia,serif;--ease:cubic-bezier(.23,1,.32,1);
--topo-seguro:calc(env(safe-area-inset-top,0px) + 32px)}
#rnAlunoNovo{position:fixed;inset:0;z-index:9950;display:none;background:var(--bg);color:var(--text);font:400 var(--fs-md)/1.45 var(--ui)}
#rnAlunoNovo.is-open{display:block}
#rnAlunoNovo *{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased}
#rnAlunoNovo button,#rnAlunoNovo input,#rnAlunoNovo textarea{font:inherit;color:inherit}
#rnAlunoNovo .num{font-variant-numeric:tabular-nums}
#rnAlunoNovo svg.i{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ═══ A CAMADA (.rn-ev herdado do convite; aqui dentro do quadro da prancha é relative) ═══ */
#rnAlunoNovo .rn-ev{position:relative;height:100%;overflow-y:auto;color:var(--text);
background:radial-gradient(640px 360px at 92% -10%,rgba(201,162,39,.14),transparent 62%),linear-gradient(#0a0806,#070505)}
#rnAlunoNovo .rn-ev-corpo{max-width:430px;margin:0 auto;padding:0 20px calc(40px + env(safe-area-inset-bottom) + var(--cv-teclado,0px))}   /* reserva do teclado (campo visual, 18/10) */
#rnAlunoNovo .rn-ev em{font-style:italic;color:var(--gold2)}
#rnAlunoNovo .rn-ev-eyebrow{font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
#rnAlunoNovo .rn-ev-eyebrow .ok{color:var(--gold2);display:none}
#rnAlunoNovo .rn-conferido>.rn-gt-corpo>.rn-ev-eyebrow .ok{display:inline}
#rnAlunoNovo .rn-ev-st{font:600 var(--fs-xl)/1.25 var(--serif);margin-top:8px;letter-spacing:-.01em;text-wrap:pretty}
#rnAlunoNovo .rn-ev-ss{font-size:var(--fs-sm);line-height:1.55;color:var(--text2);margin-top:8px;text-wrap:pretty}
#rnAlunoNovo .rn-ev-micro{font-size:var(--fs-xs);color:var(--text3);line-height:1.5;margin-top:8px;text-wrap:pretty}
#rnAlunoNovo .rn-ev-micro b{color:var(--text);font-weight:500}
/* topo fixo: logo oficial + fio */
#rnAlunoNovo .rn-ev-mini{position:sticky;top:0;z-index:6;margin:0 -20px;padding:var(--topo-seguro) 20px 0;background:rgba(10,8,6,.84);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line2)}
#rnAlunoNovo .rn-ev-mini-l{display:flex;gap:11px;align-items:center;padding-bottom:12px}
#rnAlunoNovo .rn-ev-mini-l>div{flex:1;min-width:0}
#rnAlunoNovo .rn-ev-mini .logo{width:34px;height:34px;flex:none}
#rnAlunoNovo .rn-ev-mini-n{font:500 var(--fs-md)/1.2 var(--serif)}
#rnAlunoNovo .rn-ev-mini-m{font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.1em;text-transform:uppercase;color:var(--text3);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#rnAlunoNovo .rn-ev-mini-m b{color:var(--gold);font-weight:500}
#rnAlunoNovo .rn-ev-fio{height:2px;background:rgba(255,255,255,.06)}
#rnAlunoNovo .rn-ev-fio-b{position:relative;height:2px;background:linear-gradient(90deg,rgba(201,162,39,.25),var(--gold) 60%,var(--gold2));box-shadow:0 0 6px rgba(201,162,39,.5)}
#rnAlunoNovo .rn-ev-fio-b::after{content:"";position:absolute;right:-2px;top:-1.5px;width:5px;height:5px;border-radius:50%;background:var(--gold2);box-shadow:0 0 8px 2px rgba(226,194,94,.55)}
#rnAlunoNovo .rn-ev-cap{margin-top:22px}
#rnAlunoNovo .rn-ev-bloco{margin-top:30px}
/* campos */
#rnAlunoNovo .rn-ev-campos{display:flex;flex-direction:column;gap:14px;margin-top:14px}
#rnAlunoNovo .rn-ev-l{display:flex;align-items:center;gap:8px;font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-bottom:7px}
#rnAlunoNovo .rn-ev-l .opc{color:var(--text3);letter-spacing:.06em;text-transform:none;font-weight:400;font-size:var(--fs-xs)}
#rnAlunoNovo .rn-ev-l .falta{color:var(--limao);letter-spacing:.08em;display:inline-flex;align-items:center;gap:5px}
#rnAlunoNovo .rn-ev-l .falta svg.i{width:13px;height:13px}
#rnAlunoNovo .rn-ev-in{width:100%;min-height:48px;padding:12px 14px;border-radius:11px 11px 11px 5px;border:1px solid var(--card-line-1);background:rgba(0,0,0,.26);color:var(--text);font-size:var(--fs-md);-webkit-appearance:none;appearance:none;caret-color:var(--gold2)}
#rnAlunoNovo .rn-ev-in::placeholder{color:var(--text3)}
#rnAlunoNovo .rn-ev-in:focus,#rnAlunoNovo .rn-ev-in.foco{outline:none;border-color:var(--gold);background:rgba(201,162,39,.07);box-shadow:0 0 0 1px rgba(201,162,39,.3)}
#rnAlunoNovo .rn-ev-in.rn-falta{border:1px dashed rgba(253,224,71,.55);background:rgba(0,0,0,.26)}
#rnAlunoNovo .rn-ev-2col{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#rnAlunoNovo .rn-ev-chips{display:flex;flex-wrap:wrap;gap:8px}
#rnAlunoNovo .rn-ev-chip{min-height:44px;padding:10px 14px;border-radius:11px 11px 11px 5px;border:1px solid var(--card-line-1);background:rgba(255,255,255,.02);color:var(--text2);font-size:var(--fs-sm);cursor:pointer;text-align:left;display:inline-flex;align-items:center;gap:8px}
#rnAlunoNovo .rn-ev-chip.rn-sel{border-color:var(--card-line-ouro);background:rgba(201,162,39,.1);color:var(--text)}
#rnAlunoNovo .rn-ev-chip .pa{width:7px;height:24px;border-radius:4px;flex:none}
#rnAlunoNovo .rn-ev-chips.rn-falta .rn-ev-chip{border-style:dashed;border-color:rgba(253,224,71,.55)}
#rnAlunoNovo .rn-ev-btn{width:100%;min-height:52px;border:0;border-radius:14px 14px 14px 7px;cursor:pointer;background:linear-gradient(100deg,var(--gold2),var(--gold) 70%);color:#231b04;font-size:var(--fs-md);font-weight:500;letter-spacing:.02em;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:8px}
#rnAlunoNovo .rn-ev-btn[disabled]{opacity:.5;cursor:default}
#rnAlunoNovo .rn-ev-btn2{width:100%;min-height:48px;padding:10px 16px;text-align:center;line-height:1.3;border:1px solid var(--card-line-1);border-radius:12px 12px 12px 6px;background:rgba(255,255,255,.02);color:var(--text);font-size:var(--fs-sm);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
#rnAlunoNovo .seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:4px;border:1px solid var(--line);border-radius:13px 13px 13px 6px;background:rgba(0,0,0,.22);margin-top:16px}
#rnAlunoNovo .seg button{min-height:44px;border:0;border-radius:10px 10px 10px 5px;background:none;color:var(--text2);font-size:var(--fs-sm);cursor:pointer;text-align:center}
#rnAlunoNovo .seg button.on{background:rgba(201,162,39,.12);color:var(--text);box-shadow:inset 0 0 0 1px var(--card-line-ouro)}
/* recados de status: ícone + rótulo, sempre */
#rnAlunoNovo .rec{display:flex;gap:10px;align-items:flex-start;margin-top:12px;padding:12px 13px;border-radius:12px 12px 12px 6px;border:1px solid var(--card-line-1);background:rgba(255,255,255,.02);font-size:var(--fs-sm);line-height:1.5;color:var(--text)}
#rnAlunoNovo .rec svg.i{margin-top:2px}
#rnAlunoNovo .rec b{font-weight:500}
#rnAlunoNovo .rec--atencao{border-color:rgba(253,224,71,.35);background:rgba(253,224,71,.05)}
#rnAlunoNovo .rec--atencao svg.i{color:var(--limao)}
#rnAlunoNovo .rec--ok{border-color:rgba(61,220,151,.4);background:rgba(61,220,151,.07)}
#rnAlunoNovo .rec--ok svg.i{color:var(--verde)}
#rnAlunoNovo .rec--risco{border-color:rgba(240,97,107,.45);background:rgba(240,97,107,.07)}
#rnAlunoNovo .rec--risco svg.i{color:var(--verm)}
#rnAlunoNovo .rec .acao{display:inline-block;margin-top:6px;color:var(--gold2);font-weight:500;text-decoration:underline;text-underline-offset:3px;cursor:pointer;background:none;border:0;padding:0}
/* portão por seção (herdado) */
#rnAlunoNovo .rn-gt-selo{display:none;align-items:center;gap:12px;border:1px dashed rgba(255,255,255,.16);background:rgba(0,0,0,.26);border-radius:14px;padding:14px 15px}
#rnAlunoNovo .rn-gt-selo svg.i{color:var(--text3)}
#rnAlunoNovo .gt-selo-n{font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.16em;text-transform:uppercase;color:var(--text3)}
#rnAlunoNovo .gt-selo-s{font-size:var(--fs-xs);color:var(--text2);margin-top:4px}
#rnAlunoNovo .rn-gt-fechado .rn-gt-selo{display:flex}
#rnAlunoNovo .rn-gt-prox .rn-gt-selo{border-color:rgba(201,162,39,.35)}
#rnAlunoNovo .rn-gt-prox .rn-gt-selo svg.i,#rnAlunoNovo .rn-gt-prox .gt-selo-n{color:var(--gold)}
#rnAlunoNovo .rn-gt-fechado .rn-gt-corpo{max-height:90px;overflow:hidden;margin-top:12px;filter:blur(7px) saturate(.6);opacity:.32;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000,transparent 88%);mask-image:linear-gradient(180deg,#000,transparent 88%)}
/* o pé que grava (herdado do Confere; aqui o verbo é a ação) */
#rnAlunoNovo .rn-ev-conf{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line2)}
#rnAlunoNovo .rn-ev-conffeito{display:inline-flex;align-items:center;gap:7px;color:var(--gold2);font-size:var(--fs-xs)}
/* ─ status do ciclo da nuvem (textos exatos do trecho) ─ */
#rnAlunoNovo .ciclo{display:inline-flex;align-items:center;gap:7px;font:500 var(--fs-xs)/1.3 var(--ui)}
#rnAlunoNovo .ciclo svg.i{width:15px;height:15px}
#rnAlunoNovo .ciclo--salvando,#rnAlunoNovo .ciclo--subindo{color:var(--text2)}
#rnAlunoNovo .ciclo--nuvem{color:var(--verde)}
#rnAlunoNovo .ciclo--salvo{color:var(--text2)}
#rnAlunoNovo .ciclo--nao-gravou{color:var(--verm)}
#rnAlunoNovo .rn-ev-btn.ciclo-on{background:rgba(201,162,39,.12);color:var(--gold2);box-shadow:inset 0 0 0 1px var(--card-line-ouro)}
#rnAlunoNovo .rn-ev-btn.ciclo-nuvem{background:rgba(61,220,151,.1);color:var(--verde);box-shadow:inset 0 0 0 1px rgba(61,220,151,.45)}
#rnAlunoNovo .rn-ev-btn.ciclo-nao{background:rgba(240,97,107,.1);color:var(--verm);box-shadow:inset 0 0 0 1px rgba(240,97,107,.5)}

/* ═══ SEÇÃO 2 — a lista e o ALUNO NOVO ═══ */
#rnAlunoNovo .al-lista{display:flex;flex-direction:column;gap:8px;margin-top:14px}
#rnAlunoNovo .al-item{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 10px 10px 14px;border:1px solid var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.18)}
#rnAlunoNovo .al-item .pa{width:7px;height:26px;border-radius:4px;flex:none}
#rnAlunoNovo .al-item .t{flex:1;min-width:0}
#rnAlunoNovo .al-item .n{font:500 var(--fs-md)/1.2 var(--serif)}
#rnAlunoNovo .al-item .s{font-size:var(--fs-xs);color:var(--text2);margin-top:3px}
#rnAlunoNovo .al-item .s em{font-style:normal;color:var(--text)}
#rnAlunoNovo .al-item .ac{display:flex;gap:6px}
#rnAlunoNovo .al-item .ac button{min-width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:9px 9px 9px 4px;background:rgba(255,255,255,.02);color:var(--text2);cursor:pointer;padding:0 8px;font-size:var(--fs-xs)}
#rnAlunoNovo .al-item.al-aberto{border-color:var(--card-line-ouro);background:rgba(201,162,39,.06)}
#rnAlunoNovo .an{margin-top:14px;border:1px solid var(--card-line-2);border-radius:18px 18px 18px 9px;background:linear-gradient(150deg,#161108 0%,#0d0a07 58%,#0b0906);box-shadow:0 22px 50px -22px rgba(0,0,0,.85),inset 0 1px 0 rgba(255,255,255,.05);padding:16px 16px 14px}
#rnAlunoNovo .an-topo{display:flex;align-items:center;justify-content:space-between;gap:10px}
#rnAlunoNovo .an-topo .rn-ev-eyebrow{display:flex;align-items:center;gap:8px}
#rnAlunoNovo .an-topo .x{width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:9px 9px 9px 4px;background:rgba(255,255,255,.02);color:var(--text2);cursor:pointer}
#rnAlunoNovo .an-titulo{font:600 var(--fs-lg)/1.25 var(--serif);margin-top:8px;text-wrap:pretty}
/* o campo de fala — um campo comum; o microfone é o do teclado */
#rnAlunoNovo .fala{position:relative;margin-top:12px}
/* [CÓPIA] fonte: Jean 18/10 (pedido de Raphael: «dá um destaque nesse botão… depois que você clica, botar em outra cor») — pílula «Falar», ouvindo em ouro com barras */
#rnAlunoNovo .fala textarea{min-height:100px;resize:none;line-height:1.5;padding-bottom:54px}
#rnAlunoNovo .fala .mic{position:absolute;right:8px;bottom:8px;min-height:38px;padding:0 13px 0 11px;display:inline-flex;align-items:center;gap:7px;border-radius:11px 11px 11px 5px;border:1px solid var(--card-line-2);background:rgba(255,255,255,.06);color:var(--text);font:500 var(--fs-sm)/1 var(--ui);letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .18s var(--ease),border-color .18s var(--ease),color .18s var(--ease)}
#rnAlunoNovo .fala .mic::after{content:"";position:absolute;inset:-4px -4px -4px -6px}
#rnAlunoNovo .fala .mic-ic{display:grid;place-items:center;color:var(--gold2)}
#rnAlunoNovo .fala .mic svg.i{width:16px;height:16px}
#rnAlunoNovo .fala .mic:active{transform:scale(.97)}
#rnAlunoNovo .fala .mic:focus-visible{outline:1px solid var(--gold);outline-offset:2px}
#rnAlunoNovo .fala .mic-ond{display:none;align-items:center;gap:2px;height:16px;width:16px;justify-content:center}
#rnAlunoNovo .fala .mic-ond i{display:block;width:3px;height:14px;border-radius:2px;background:var(--gold2);transform-origin:50% 50%;transform:scaleY(.35)}
/* ouvindo: chumbo → ouro, ícone → barras, «Falar» → «Ouvindo · parar» */
#rnAlunoNovo .fala .mic.ouvindo{border-color:var(--gold);background:rgba(201,162,39,.16);color:var(--gold2)}
#rnAlunoNovo .fala .mic.ouvindo .mic-ic{display:none}
#rnAlunoNovo .fala .mic.ouvindo .mic-ond{display:inline-flex}
#rnAlunoNovo .fala .mic.ouvindo .mic-ond i{animation:rnMicOnda .9s var(--ease) infinite}
#rnAlunoNovo .fala .mic.ouvindo .mic-ond i:nth-child(2){animation-delay:.15s}
#rnAlunoNovo .fala .mic.ouvindo .mic-ond i:nth-child(3){animation-delay:.3s}
@keyframes rnMicOnda{0%,100%{transform:scaleY(.35)}50%{transform:scaleY(1)}}
#rnAlunoNovo .fala:has(.mic.ouvindo) textarea{border-color:var(--gold);box-shadow:0 0 0 1px rgba(201,162,39,.3)}
/* sem permissão: apagado mas tocável (reabre a toast) — não é status */
#rnAlunoNovo .fala .mic.negado{border-color:var(--card-line-1);background:rgba(255,255,255,.02);color:var(--text3)}
#rnAlunoNovo .fala .mic.negado .mic-ic{color:var(--text3);opacity:.8}
@media (prefers-reduced-motion:reduce){#rnAlunoNovo .fala .mic.ouvindo .mic-ond i{animation:none;transform:scaleY(.8)}#rnAlunoNovo .fala .mic{transition:none}}
#rnAlunoNovo .fala-dica{font-size:var(--fs-xs);color:var(--text3);margin-top:7px;line-height:1.5}
#rnAlunoNovo .fala-dica b{color:var(--text2);font-weight:500}
/* o que entendeu / o que falta */
#rnAlunoNovo .lido{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:12px 12px 12px 6px;background:rgba(0,0,0,.22);font-size:var(--fs-xs);line-height:1.4}
#rnAlunoNovo .lido span{display:inline-flex;align-items:center;gap:6px;color:var(--text2)}
#rnAlunoNovo .lido span svg.i{width:13px;height:13px}
#rnAlunoNovo .lido .ok{color:var(--text)}
#rnAlunoNovo .lido .ok svg.i{color:var(--gold)}
#rnAlunoNovo .lido .fl{color:var(--limao)}
/* o eco do valor — ouro, não status */
#rnAlunoNovo .eco{display:flex;align-items:baseline;gap:10px;margin-top:7px;font-size:var(--fs-sm);color:var(--text2)}
#rnAlunoNovo .eco b{font:500 var(--fs-lg)/1.2 var(--serif);color:var(--gold2);letter-spacing:.01em}
#rnAlunoNovo .eco .ext{font-style:italic}
/* a grade semanal — [CÓPIA] fonte: docs/rodada_seus_alunos_v2_2026-10-18/DO_JEAN/grade_semanal_v1.html
   (preset semana Google/Apple: cabeçalho e corpo na MESMA grade CSS · seg–dom · 00–23h · 44px/h, 48 no Mac) */
#rnAlunoNovo .gs{--chumbo:#1a1815;--chumbo2:#22201c;--gline:rgba(238,231,218,.10);--gline2:rgba(238,231,218,.05);--hh:44px;--regua:34px;margin-top:8px}
@media(min-width:1024px){#rnAlunoNovo .gs{--hh:48px;--regua:44px}}
#rnAlunoNovo .gs-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px 8px}
#rnAlunoNovo .gs-tit{font-size:var(--fs-xs);color:var(--text2)}
#rnAlunoNovo .sw{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--fs-xs);color:var(--text2);background:none;border:0;cursor:pointer;font-family:inherit;padding:0}
#rnAlunoNovo .sw i{width:38px;height:22px;border-radius:11px;background:var(--chumbo2);border:1px solid var(--gline);position:relative;transition:.18s}
#rnAlunoNovo .sw i:after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text3);transition:.18s}
#rnAlunoNovo .sw[aria-checked=true]{color:var(--text)}
#rnAlunoNovo .sw[aria-checked=true] i{background:rgba(201,162,39,.25);border-color:var(--gold)}
#rnAlunoNovo .sw[aria-checked=true] i:after{left:18px;background:var(--gold)}
#rnAlunoNovo .gs-gr{max-height:min(62dvh,560px);overflow-y:auto;overflow-x:hidden;border:1px solid var(--gline);border-radius:14px;background:var(--chumbo);touch-action:pan-y;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
#rnAlunoNovo .gs-row{display:grid;grid-template-columns:var(--regua) repeat(var(--nd),minmax(0,1fr))}
#rnAlunoNovo .gs-cab{position:sticky;top:0;z-index:3;background:var(--chumbo);border-bottom:1px solid var(--gline)}
/* Raphael 18/10 23h: «ela só consegue fazer o scroll… se clica do lado da agenda… Exibe o dia inteiro». No celular a grade
   NÃO rola por dentro (duas rolagens prendiam o dedo): mostra o dia inteiro e a página rola uma vez só; a linha dos dias
   fica presa logo abaixo da barra do topo (--an-barra, medida no render). overflow:clip corta o canto sem virar rolagem. */
@media(max-width:1023px){
  #rnAlunoNovo .gs-gr{max-height:none;overflow:clip;overscroll-behavior:auto}
  #rnAlunoNovo .gs-cab{top:var(--an-barra,0px)}
}
#rnAlunoNovo .gs-cab>span{text-align:center;padding:8px 0 7px;font-size:var(--fs-micro);letter-spacing:.12em;color:var(--text2);text-transform:uppercase;line-height:1.25}
#rnAlunoNovo .gs-cab>span b{display:block;font-weight:500;font-size:var(--fs-sm);letter-spacing:0;color:var(--text)}
#rnAlunoNovo .gs-cab>span.hoje b{color:var(--gold)}
#rnAlunoNovo .gs-cab .lg{display:none}
@media(min-width:1024px){#rnAlunoNovo .gs-cab .ini{display:none}#rnAlunoNovo .gs-cab .lg{display:inline}}
#rnAlunoNovo .gs-cab>span.fds{color:var(--text3)}
#rnAlunoNovo .gs-reg{font-size:var(--fs-micro);color:var(--text3);text-align:right;padding-right:6px;transform:translateY(-.6em);font-variant-numeric:tabular-nums}
#rnAlunoNovo .gs-c{height:var(--hh);border-top:1px solid var(--gline);border-left:1px solid var(--gline2);position:relative;cursor:pointer;background-image:linear-gradient(to right,var(--gline2) 50%,transparent 0);background-size:6px 1px;background-repeat:repeat-x;background-position:0 50%}
#rnAlunoNovo .gs-c.fds{background-color:rgba(0,0,0,.18)}
#rnAlunoNovo .gs-c:hover{background-color:rgba(238,231,218,.04)}
#rnAlunoNovo .gs-b{position:absolute;inset:2px;z-index:1;border-radius:7px;font-size:var(--fs-micro);line-height:1.15;padding:4px 4px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;text-align:center;pointer-events:none;padding-left:2px;padding-right:2px}
#rnAlunoNovo .gs-b.out{background:var(--chumbo2);border:1px solid var(--gline);color:var(--text2)}
#rnAlunoNovo .gs-b.eu{background:var(--gold);color:#1a1404;font-weight:500}
/* 20/10 (Raphael: arrastar a aula parou): a grade rola sozinha (.gs-gr pan-y); o tremor do dedo nos 300 ms de segurar
   começava a rolagem e o iPhone cancelava o arrasto. Começando na própria aula, o dedo não rola — rola-se pelas células vazias. */
#rnAlunoNovo .gs-b.eu{touch-action:none}
/* mover a aula (18/10 noite): o bloco pego levanta; a célula de destino acende */
#rnAlunoNovo .gs-b.eu.gs-movendo{transform:scale(1.06);box-shadow:0 6px 18px rgba(0,0,0,.55),0 0 0 2px var(--gold2);transition:transform .12s ease}
#rnAlunoNovo .gs-c.alvo-mover{box-shadow:inset 0 0 0 2px var(--gold2);background:rgba(201,162,39,.12)}
#rnAlunoNovo .gs-b.duo{padding:0;flex-direction:row}
#rnAlunoNovo .gs-b.duo>span{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:2px;overflow:hidden}
#rnAlunoNovo .gs-b.duo>span:first-child{background:var(--gold);color:#1a1404;font-weight:500}
#rnAlunoNovo .gs-b.duo>span:last-child{background:var(--chumbo2);color:var(--text2)}
#rnAlunoNovo .gs-b.duo.outros>span:first-child{background:var(--chumbo2);color:var(--text2);font-weight:400;border-right:1px solid var(--gline)}
#rnAlunoNovo .gs-b .nm{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#rnAlunoNovo .gs-b.duo>span{display:block;align-self:stretch;white-space:nowrap;text-overflow:ellipsis;text-align:center;padding-top:4px}
#rnAlunoNovo .gs-b small{font-size:var(--fs-micro);opacity:.8}
#rnAlunoNovo .gs-b.alvo{outline:2px solid var(--gold);outline-offset:1px}
#rnAlunoNovo .gs-pulse{animation:gsP .12s ease-out}@keyframes gsP{50%{transform:scale(.94)}}
#rnAlunoNovo .gs-nao{animation:gsN .22s}@keyframes gsN{25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
#rnAlunoNovo .gs-bar{padding:10px 2px 0;font-size:var(--fs-xs);color:var(--text2);line-height:1.35}
#rnAlunoNovo .gs-bar b{color:var(--text);font-weight:500}
#rnAlunoNovo .gs-bar em{font-style:normal;color:var(--gold)}
/* proposta de dupla (chip-pergunta) */
#rnAlunoNovo .prop{margin-top:10px;padding:12px;border:1px solid var(--card-line-ouro);border-radius:12px 12px 12px 6px;background:rgba(201,162,39,.06)}
#rnAlunoNovo .prop .q{font:500 var(--fs-sm)/1.4 var(--serif)}
#rnAlunoNovo .prop .rn-ev-chips{margin-top:9px}
/* seletor do padrão v2 (campo fechado) */
#rnAlunoNovo .rnj-campo-sel{display:flex;align-items:center;gap:10px;width:100%;min-height:48px;padding:0 12px 0 14px;border:1px solid var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.26);color:var(--text);font-size:var(--fs-md);text-align:left;cursor:pointer}
#rnAlunoNovo .rnj-campo-sel .c-v{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#rnAlunoNovo .rnj-campo-sel .c-seta{flex:none;width:16px;height:16px;color:var(--text3)}
#rnAlunoNovo .rnj-campo-sel.vazio .c-v{color:var(--text3)}
/* pé do aluno novo: descartar → confirmar */
#rnAlunoNovo .an-pe{display:flex;gap:10px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line2)}
#rnAlunoNovo .an-pe .rn-ev-btn2{flex:0 0 auto;width:auto;padding:0 16px}
#rnAlunoNovo .an-pe .rn-ev-btn{flex:1}
#rnAlunoNovo .an-nota{font-size:var(--fs-xs);color:var(--text3);margin-top:8px;text-align:right;line-height:1.5}
#rnAlunoNovo .add-aluno{margin-top:12px;width:100%;min-height:52px;border:1px dashed rgba(255,255,255,.16);border-radius:14px 14px 14px 7px;background:rgba(0,0,0,.26);color:var(--text);font-size:var(--fs-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px}
#rnAlunoNovo .add-aluno svg.i{color:var(--gold)}
/* rn-ajuda (verbatim) */
#rnAlunoNovo .rn-ajuda{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;margin:0;padding:0;border:1px solid var(--card-line-1);background:rgba(255,255,255,.02);color:var(--text3);font:500 var(--fs-sm)/1 var(--ui);cursor:pointer;-webkit-appearance:none;appearance:none}
#rnAlunoNovo .rn-ajuda::before{content:"";position:absolute;inset:-10px}
#rnAlunoNovo .rn-ajuda--so{width:24px;height:24px;border-radius:7px 7px 7px 3px}
#rnAlunoNovo .rn-ajuda-glifo{display:block;flex:none;width:18px;height:18px}
#rnAlunoNovo .rn-ajuda[aria-expanded="true"]{color:var(--gold);border-color:var(--card-line-ouro);background:rgba(201,162,39,.06)}

/* ═══ SEÇÃO 3 — convites ═══ */
#rnAlunoNovo .cv-item{display:flex;align-items:center;gap:12px;min-height:60px;padding:10px 10px 10px 14px;border:1px solid var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.18)}
#rnAlunoNovo .cv-item .pa{width:7px;height:26px;border-radius:4px;flex:none}
#rnAlunoNovo .cv-item .t{flex:1;min-width:0}
#rnAlunoNovo .cv-item .n{font:500 var(--fs-md)/1.2 var(--serif)}
#rnAlunoNovo .cv-item .s{font-size:var(--fs-xs);color:var(--text2);margin-top:3px;display:flex;align-items:center;gap:6px}
#rnAlunoNovo .cv-item .s svg.i{width:13px;height:13px}
#rnAlunoNovo .cv-item .s.ok{color:var(--verde)}
#rnAlunoNovo .cv-item .s.at{color:var(--limao)}
#rnAlunoNovo .cv-item .s.ab{color:var(--text)}
#rnAlunoNovo .cv-btn{min-height:44px;padding:0 14px;border-radius:11px 11px 11px 5px;border:1px solid var(--card-line-ouro);background:rgba(201,162,39,.1);color:var(--gold2);font-size:var(--fs-sm);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
#rnAlunoNovo .cv-btn.feito{border-color:var(--card-line-1);background:rgba(255,255,255,.02);color:var(--text2);font-weight:400}
#rnAlunoNovo .cv-link{margin-top:10px;font-size:var(--fs-xs);color:var(--text3)}
#rnAlunoNovo .cv-link b{color:var(--text2);font-weight:500;font-variant-numeric:tabular-nums}

#rnAlunoNovo .mac-pal{display:grid;grid-template-columns:420px 1fr;gap:32px;height:100%;padding:28px 40px}
#rnAlunoNovo .mac-pal .rn-ev{overflow:auto}
#rnAlunoNovo .mac-pal .rn-ev-corpo{max-width:none;padding:0 4px 40px}
#rnAlunoNovo .mac-pal .rn-ev-mini{margin:0;padding-top:4px;position:static;background:none;backdrop-filter:none;border:0}
#rnAlunoNovo .mac-dir{display:flex;flex-direction:column;min-height:0}
#rnAlunoNovo .mac-dir .gs{flex:1;min-height:0;display:flex;flex-direction:column}
#rnAlunoNovo .mac-dir .gs-gr{flex:1;max-height:none}
/* SAÍDA (F4) — molde linhas 226-234 */
#rnAlunoNovo .ag-topo{display:flex;align-items:center;justify-content:space-between;margin-top:14px}
#rnAlunoNovo .ag-topo .sem{font:500 var(--fs-xl)/1.2 var(--serif)}
#rnAlunoNovo .ag-topo .sub{font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);margin-top:4px}
#rnAlunoNovo .ag-dias{display:flex;margin-top:12px}
#rnAlunoNovo .ag-dias .esp{width:30px;flex:none}
#rnAlunoNovo .ag-dias .d{flex:1;text-align:center}
#rnAlunoNovo .ag-dias .d .w{font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.12em;text-transform:uppercase;color:var(--text3)}
#rnAlunoNovo .ag-dias .d .n{font:500 var(--fs-lg)/1.2 var(--serif);margin-top:2px}
#rnAlunoNovo .ag-dias .d.hoje .n{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--gold);color:#0a0806}

/* olho da senha (Jean 18/10) — cópia literal do parecer */
#rnAlunoNovo .rn-senha{position:relative}
#rnAlunoNovo .rn-senha .rn-ev-in{padding-right:48px}
#rnAlunoNovo .rn-senha-olho{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;background:none;color:var(--text3);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:11px 11px 11px 5px}
#rnAlunoNovo .rn-senha-olho:hover{color:var(--text2)}
#rnAlunoNovo .rn-senha-olho[aria-pressed="true"]{color:var(--text)}
#rnAlunoNovo .rn-senha-olho:focus-visible{outline:1px solid var(--gold);outline-offset:-4px}
#rnAlunoNovo .rn-senha-olho .o-aberto{display:none}
#rnAlunoNovo .rn-senha-olho[aria-pressed="true"] .o-aberto{display:block}
#rnAlunoNovo .rn-senha-olho[aria-pressed="true"] .o-fechado{display:none}

/* catraca da duração — [CÓPIA] fonte: js/financial/ui/agenda_celular_nova_aula_2026-07-27.html (.rn-catraca, 14/10) */
#rnAlunoNovo .rn-catraca{position:relative;display:flex;gap:8px;margin-top:11px;height:200px;border-radius:14px 14px 14px 7px;border:1px solid rgba(255,255,255,.08);background:rgba(0,0,0,.22);overflow:hidden}
#rnAlunoNovo .rn-cat-col{flex:1;height:200px;overflow-y:auto;scroll-snap-type:y mandatory;padding:80px 0;box-sizing:border-box;-webkit-overflow-scrolling:touch;scrollbar-width:none;position:relative;z-index:1;-webkit-mask-image:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent);mask-image:linear-gradient(180deg,transparent,#000 35%,#000 65%,transparent)}
#rnAlunoNovo .rn-cat-col::-webkit-scrollbar{display:none}
#rnAlunoNovo .rn-cat-it{height:40px;line-height:40px;text-align:center;scroll-snap-align:center;font-size:var(--fs-md);color:var(--text2);font-variant-numeric:tabular-nums}
#rnAlunoNovo .rn-cat-it.is-sel{color:var(--gold2)}
#rnAlunoNovo .rn-cat-faixa{position:absolute;left:8px;right:8px;top:80px;height:40px;border-radius:10px;border:1px solid rgba(201,162,39,.35);background:linear-gradient(180deg,rgba(201,162,39,.12),rgba(201,162,39,.04));pointer-events:none}

/* segurar a aula (18/10 noite, iPhone da Gabriela): o toque longo abria a lupa e a seleção azul de texto por cima da grade — a grade não seleciona texto nem abre o menu do iOS (mesmo trato da agenda) */
#rnAlunoNovo .gs,#rnAlunoNovo .gs *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
#rnAlunoNovo .gs-bar .choque{color:var(--limao,#fde047)}
#rnAlunoNovo .gs-bar .choque b{color:var(--text);font-weight:500}
/* «Terminei os alunos — próximo passo» preso no pé (18/10 noite) */
#rnAlunoNovo .an-seguir-preso{position:sticky;bottom:0;z-index:5;margin:20px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:linear-gradient(180deg,rgba(10,8,6,0),rgba(10,8,6,.92) 30%)}

/* ═══ O CARTÃO EM TRÊS FALAS — porte 19/10 (Fase B do Jean, aprovada por Raphael 19/10) ═══
 * [CÓPIA] fonte: docs/rodada_entrada_polimento_2026-10-19/DO_JEAN/primeiros_passos_faseB-CSS-2026-10-19.html bloco [4] (.ca-*)
 * + .pp-gesto do bloco [3]. Emendas da RESPOSTA_JEAN_ao_diretor_faseB.md: item 3 (ícone «ouvindo» em champanhe, sem
 * halo), item 4 (ciclo da nuvem SEM box-shadow — o molde fila.html não tem halo), item 5 (font-size só por token).
 * Só muda: seletores prefixados #rnAlunoNovo; .ca-fala ganha o <textarea> real (o molde desenhava o texto);
 * .ca-faixa .cab vira <button>; .ca-btn.apagado = o «trava» do molde, mas ainda tocável (o toque mostra o que falta). */
#rnAlunoNovo{--champ:236,214,170;--ouro:#c9a227;--chao:#0a0806}
@property --rnAng{syntax:'<angle>';inherits:false;initial-value:300deg}
@keyframes rnGira{to{--rnAng:660deg}}
#rnAlunoNovo .an.ca{margin-top:14px;border:1px solid var(--card-line-2);border-radius:18px;padding:18px 16px 16px;background:rgba(0,0,0,.18);box-shadow:none;display:flex;flex-direction:column;gap:14px}
#rnAlunoNovo .ca-cab{display:flex;align-items:center;gap:10px}
#rnAlunoNovo .ca-cab .k{flex:1;display:flex;align-items:center;gap:8px;font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--text3)}
#rnAlunoNovo .ca-cab .k::before{content:"";width:14px;height:1px;background:rgba(var(--champ),.7)}
#rnAlunoNovo .ca-x{position:relative;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:9px 9px 9px 4px;background:rgba(255,255,255,.02);color:var(--text2);padding:0;cursor:pointer}
#rnAlunoNovo .ca-x::before{content:"";position:absolute;inset:-6px}
#rnAlunoNovo .ca-t{margin:0;font:500 var(--fs-xl)/1.25 var(--serif);color:var(--text);text-wrap:pretty}
#rnAlunoNovo .ca-faixa{border:1px solid var(--card-line-1);border-radius:14px 14px 14px 7px;overflow:hidden}
#rnAlunoNovo .ca-faixa .cab{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 12px 8px 14px;border:0;background:none;text-align:left;cursor:pointer}
#rnAlunoNovo .ca-faixa .cab .k{display:flex;align-items:center;gap:8px;font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.18em;text-transform:uppercase;color:var(--text3);white-space:nowrap}
#rnAlunoNovo .ca-faixa .cab .d{flex:1;min-width:0;font-size:var(--fs-xs);line-height:1.35;color:var(--text3);text-wrap:pretty}
#rnAlunoNovo .ca-faixa .cab .mic{color:var(--text3);display:grid}
#rnAlunoNovo .ca-faixa.aberta{border-color:var(--card-line-2)}
#rnAlunoNovo .ca-faixa.aberta .cab{min-height:48px;padding-top:12px;padding-bottom:4px;cursor:default}
#rnAlunoNovo .ca-faixa.aberta .cab .k,#rnAlunoNovo .ca-faixa.aberta .cab .d{color:var(--text2)}
#rnAlunoNovo .ca-faixa .corpo{display:flex;flex-direction:column;gap:12px;padding:8px 14px 14px}
#rnAlunoNovo .ca-faixa.fechada .cab{padding:9px 8px 9px 14px}
#rnAlunoNovo .ca-faixa.fechada .cab .ok{color:var(--verde);display:grid}
#rnAlunoNovo .ca-faixa.fechada .cab .lim{color:var(--limao);display:grid}
#rnAlunoNovo .ca-faixa.fechada .cab .ok svg.i,#rnAlunoNovo .ca-faixa.fechada .cab .lim svg.i{stroke-width:2}
#rnAlunoNovo .ca-faixa.fechada .cab .r{flex:1;min-width:0;font-size:var(--fs-sm);line-height:1.35;color:var(--text);text-wrap:pretty}
#rnAlunoNovo .ca-faixa.fechada .cab .r span{color:var(--text2)}
#rnAlunoNovo .ca-faixa.fechada .cab .r b{font:500 var(--fs-md)/1.2 var(--serif);color:var(--text)}
#rnAlunoNovo .ca-faixa.fechada .cab .r .falta{color:var(--limao);font-weight:500}
#rnAlunoNovo .ca-faixa.fechada .cab .lap{position:relative;width:36px;height:36px;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:9px 9px 9px 4px;background:rgba(255,255,255,.02);color:var(--text2);flex:none}
#rnAlunoNovo .ca-faixa.fechada .cab .lap::before{content:"";position:absolute;inset:-4px}
#rnAlunoNovo .ca-faixa.fechada .cab .pend{display:inline-flex;align-items:center;gap:5px;color:var(--text);font-weight:500}
#rnAlunoNovo .ca-faixa.fechada .cab .pend svg{color:rgb(var(--champ))}
/* o campo da fala: exemplo em itálico como placeholder; «Falar» é pílula de gesto dentro do campo */
#rnAlunoNovo .ca-fala{position:relative;border:1px solid var(--card-line-2);border-radius:13px;background:rgba(0,0,0,.26)}
#rnAlunoNovo .ca-fala textarea{display:block;width:100%;min-height:124px;padding:14px 14px 58px;border:0;border-radius:inherit;background:none;outline:none;resize:none;font:400 var(--fs-lg)/1.4 var(--ui);color:var(--text)}
#rnAlunoNovo .ca-fala.sem-mic textarea{min-height:96px;padding-bottom:14px}
/* Simulador 19/10: o exemplo da fala 2 (4 linhas) passava por baixo do «Falar» — a caixa cabe o exemplo inteiro; o texto digitado cresce a caixa (alunoNovoBundle.crescer) */
#rnAlunoNovo .ca-fala textarea[data-c="fala2"]{min-height:176px}
#rnAlunoNovo .ca-fala textarea[data-c="fala"]{min-height:148px}
#rnAlunoNovo .ca-fala.sem-mic textarea[data-c]{min-height:96px}
#rnAlunoNovo .ca-fala textarea::placeholder{color:var(--text3);font-style:italic}
#rnAlunoNovo .ca-fala.foco,#rnAlunoNovo .ca-fala:focus-within{border-color:var(--card-line-ouro);box-shadow:0 0 0 3px rgba(201,162,39,.08)}
#rnAlunoNovo .pp-gesto{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;height:40px;padding:0 10px 0 8px;border:1px dashed rgba(var(--champ),.32);border-radius:11px 11px 11px 5px;background:none;color:var(--text);font:500 var(--fs-sm)/1 var(--ui);white-space:nowrap;flex:none;cursor:pointer}
#rnAlunoNovo .pp-gesto::before{content:"";position:absolute;inset:-2px -4px}
#rnAlunoNovo .pp-gesto svg{color:rgb(var(--champ))}
#rnAlunoNovo .ca-falar{position:absolute;right:10px;bottom:10px;height:44px;padding:0 16px 0 13px;font-size:var(--fs-md)}
#rnAlunoNovo .ca-falar.ouvindo{border-style:solid;border-color:rgba(var(--champ),.5)}
#rnAlunoNovo .ca-lido{display:flex;flex-wrap:wrap;gap:8px 16px;padding:10px 12px;border:1px solid var(--line);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.18);font-size:var(--fs-sm);color:var(--text)}
#rnAlunoNovo .ca-lido span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
#rnAlunoNovo .ca-lido span svg{color:var(--verde)}
#rnAlunoNovo .ca-lido span.falta{color:var(--limao);font-weight:500}
#rnAlunoNovo .ca-lido span.falta svg{color:var(--limao)}
#rnAlunoNovo .ca-lido span.grade{color:var(--text2)}
#rnAlunoNovo .ca-campos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#rnAlunoNovo .ca-campos .um{grid-column:1 / -1}
#rnAlunoNovo .ca-campo{display:flex;flex-direction:column;gap:6px;min-width:0;position:relative}
#rnAlunoNovo .ca-campo label{display:flex;align-items:center;gap:8px;font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text3)}
#rnAlunoNovo .ca-campo label small{text-transform:none;letter-spacing:0;font-size:var(--fs-xs);color:var(--text3)}
#rnAlunoNovo .ca-campo label .st{display:inline-flex;align-items:center;gap:5px;text-transform:none;letter-spacing:0;font-size:var(--fs-xs);font-weight:500;color:var(--limao)}
#rnAlunoNovo .ca-in{width:100%;min-height:48px;display:flex;align-items:center;gap:10px;padding:0 14px;border:1px solid var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.26);color:var(--text);font:400 var(--fs-lg)/1.2 var(--ui);text-align:left;cursor:pointer}
#rnAlunoNovo .ca-in.vazio{color:var(--text3)}
#rnAlunoNovo .ca-in.falta{border:1px dashed rgba(253,224,71,.55)}
#rnAlunoNovo .ca-in .c-seta{margin-left:auto;color:var(--text3)}
#rnAlunoNovo .ca-pils{display:flex;flex-wrap:wrap;gap:8px}
#rnAlunoNovo .ca-lac{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border:1px dashed rgba(253,224,71,.55);border-radius:11px 11px 11px 5px;background:none;color:var(--limao);font:500 var(--fs-sm)/1 var(--ui);white-space:nowrap;cursor:pointer}
#rnAlunoNovo .ca-lac.pend{border-color:rgba(var(--champ),.32);color:var(--text)}
#rnAlunoNovo .ca-lac.pend svg{color:rgb(var(--champ))}
#rnAlunoNovo .ca-lac.ok{border-style:solid;border-color:var(--card-line-1);color:var(--text);font-weight:400}
#rnAlunoNovo .ca-lac.ok svg{color:var(--verde);stroke-width:2}
#rnAlunoNovo .ca-pode .k{font-size:var(--fs-xs);line-height:1.35;color:var(--text3);margin-bottom:8px}
#rnAlunoNovo .ca-pode .k b{color:var(--text2);font-weight:500}
#rnAlunoNovo .ca-eco{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font:italic 400 var(--fs-md)/1.3 var(--ui);color:var(--text2)}
#rnAlunoNovo .ca-eco b{font:500 var(--fs-xl)/1 var(--serif);color:var(--text);font-style:normal}
#rnAlunoNovo .ca-pe{display:flex;align-items:center;gap:10px;margin-top:4px}
#rnAlunoNovo .ca-btn{position:relative;flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:48px;border:1px solid var(--card-line-1);border-radius:12px 12px 12px 6px;background:rgba(255,255,255,.02);color:var(--text);font:500 var(--fs-md)/1.2 var(--ui);padding:0;cursor:pointer;white-space:nowrap}
#rnAlunoNovo .ca-btn>span{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:46px;border-radius:inherit;padding:0 18px}
#rnAlunoNovo .ca-btn--primary{border-color:transparent;background:var(--ouro);color:#0a0806;border-radius:12px 12px 6px 12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.22)}
#rnAlunoNovo .ca-btn.apagado{opacity:.45}
#rnAlunoNovo .ca-btn[disabled]{cursor:default}
/* [NUVEM-CICLO] Salvando… · Subindo… (borda azul correndo) · Na nuvem ✓ (borda verde fechada) — sem halo (item 4) */
#rnAlunoNovo .ca-btn.neutro{background:rgba(255,255,255,.03);border-color:var(--card-line-1);color:var(--text2);box-shadow:none;border-radius:12px 12px 12px 6px}
#rnAlunoNovo .ca-btn.sobe{border:0;padding:1.5px;background:conic-gradient(from var(--rnAng),var(--azul) 0deg 120deg,rgba(91,141,239,.2) 120deg 360deg);color:var(--text);animation:rnGira 1.4s linear infinite;border-radius:12px 12px 12px 6px}
#rnAlunoNovo .ca-btn.sobe>span{background:var(--chao);border-radius:11px 11px 11px 5px;min-height:45px}
#rnAlunoNovo .ca-btn.sobe svg{color:var(--azul)}
#rnAlunoNovo .ca-btn.nuvem{border:1.5px solid var(--verde);background:none;color:var(--text);border-radius:12px 12px 12px 6px}
#rnAlunoNovo .ca-btn.nuvem svg{color:var(--verde)}
#rnAlunoNovo .ca-btn.ciclo-nao{background:rgba(240,97,107,.1);color:var(--verm);box-shadow:inset 0 0 0 1px rgba(240,97,107,.5)}
#rnAlunoNovo .ca-pe .ca-btn:first-child:not(:last-child){flex:0 0 auto}
#rnAlunoNovo .ca-aviso{display:flex;align-items:center;gap:7px;font:500 var(--fs-xs)/1.3 var(--ui);color:var(--text2)}
#rnAlunoNovo .ca-aviso.lim{color:var(--limao)}
#rnAlunoNovo .ca-aviso span{color:var(--text2);font-weight:400}
#rnAlunoNovo .ca-rede{display:flex;align-items:center;gap:8px;margin-top:14px;padding:10px 14px;border:1px dashed var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.26);font-size:var(--fs-xs);color:var(--text2)}
#rnAlunoNovo .ca-rede svg{color:var(--text3)}
#rnAlunoNovo .ca-rede b{color:var(--text);font-weight:500}
#rnAlunoNovo .ca-dica{display:flex;align-items:flex-start;gap:8px;font:italic 400 var(--fs-xs)/1.45 var(--ui);color:var(--text2)}
#rnAlunoNovo .ca-dica svg{color:var(--text3);margin-top:1px}
@media (prefers-reduced-motion:reduce){#rnAlunoNovo .ca-btn.sobe{animation:none}}
/* Mac (≥1024, cópia do .pr-mac do molde): campo mais baixo, placeholder sem itálico, rodapé à direita */
@media (min-width:1024px){#rnAlunoNovo .ca-fala.sem-mic textarea{min-height:84px}#rnAlunoNovo .ca-fala.sem-mic textarea::placeholder{font-style:normal}#rnAlunoNovo .ca-pe{justify-content:flex-end}#rnAlunoNovo .ca-pe .ca-btn{flex:0 0 auto;min-width:200px}}
/* ─ as letras do selo (monograma, porte 19/10) — [CÓPIA] figura + legenda do §5 da prancha do Jean
     (selo, gap 6px, legenda --fs-xs --text / «· regra» --text3); [CONSTRUÇÃO] o escolhido = moldura ouro da .seg ─ */
#rnAlunoNovo .rn-mono{margin-top:16px}
#rnAlunoNovo .rn-mono-op{display:flex;gap:10px;flex-wrap:wrap}
#rnAlunoNovo .rn-mono-b{display:flex;flex-direction:column;align-items:center;gap:6px;min-width:76px;min-height:44px;padding:10px 10px 8px;border:1px solid var(--line);border-radius:12px 12px 12px 6px;background:rgba(0,0,0,.22);cursor:pointer;color:var(--text)}
#rnAlunoNovo .rn-mono-b svg{display:block}
#rnAlunoNovo .rn-mono-b.on{background:rgba(201,162,39,.12);box-shadow:inset 0 0 0 1px var(--card-line-ouro);border-color:transparent}
#rnAlunoNovo .rn-mono-t{font-size:var(--fs-xs);color:var(--text)}
#rnAlunoNovo .rn-mono-t span{color:var(--text3)}

/* ═══ ROTEIRO DA FALA (porte 20/10, Claudineia) — [CÓPIA] fonte: docs/rodada_roteiro_fala_2026-10-20/DO_JEAN/roteiro_fala_v3_2026-10-20.html,
   linhas 137–209, só com o prefixo #rnAlunoNovo. Aprovado por Raphael 20/10 («pode portar literal»). ═══ */
@property --caRotAng{syntax:'<angle>';inherits:false;initial-value:0deg}
@property --caRotArc{syntax:'<angle>';inherits:false;initial-value:360deg}
#rnAlunoNovo .ca-rot-wrap{display:flex;flex-direction:column;gap:10px}                /* caixa + roteiro: o par que pousa acima do teclado */
#rnAlunoNovo .ca-faixa.aberta .cab .d{display:none}                                   /* o roteiro absorve a descrição da faixa aberta */
#rnAlunoNovo .ca-rot{display:flex;flex-direction:column;gap:8px}
#rnAlunoNovo .ca-rot-k{display:flex;align-items:center;gap:8px;min-height:16px;font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--text3);white-space:nowrap}
#rnAlunoNovo .ca-rot-k::before{content:"";width:14px;height:1px;background:rgba(var(--champ),.7);flex:none}
#rnAlunoNovo .ca-rot-k .st{text-transform:none;letter-spacing:0;font:400 var(--fs-xs)/1.2 var(--ui);color:var(--text2)}
#rnAlunoNovo .ca-rot-k .st.lim{color:var(--limao);font-weight:500}
#rnAlunoNovo .ca-rot-l{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
#rnAlunoNovo .ca-rot-it{display:block;position:relative}
/* o quadro — igual pra todos */
#rnAlunoNovo .ca-rot-c{position:relative;display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:0 12px 0 10px;border:1px solid var(--card-line-1);border-radius:10px 10px 10px 5px;background:rgba(0,0,0,.26);color:var(--text2);font:400 var(--fs-sm)/1 var(--ui);white-space:nowrap;text-align:left;-webkit-appearance:none;appearance:none;transition:color .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease)}
#rnAlunoNovo button.ca-rot-c{cursor:pointer;-webkit-tap-highlight-color:transparent}
#rnAlunoNovo button.ca-rot-c::before{content:"";position:absolute;inset:-3px}         /* toque 44+ */
#rnAlunoNovo button.ca-rot-c:focus-visible{outline:2px solid rgba(var(--champ),.6);outline-offset:3px}
#rnAlunoNovo .ca-rot-m{position:relative;width:16px;height:16px;flex:none;display:grid;place-items:center}
#rnAlunoNovo .ca-rot-m::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);transition:background-color .18s var(--ease),border-color .18s var(--ease)}
#rnAlunoNovo .ca-rot-m svg{position:absolute;inset:0;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:none}
#rnAlunoNovo .ca-rot-v{display:none}
/* ── o próximo: o CONTORNO ──
   Anel de 2 px num ::after fora do quadro (inset −3 px: 1 px de ar entre a borda e o anel), só a borda (mask content-box/exclude),
   mesmo mecanismo do .ca-btn.sobe. Duas camadas de conic-gradient:
     base   = champanhe .9 fechado (0° → --caRotArc; na chegada o arco se desenha de 0° a 360°)
     brilho = creme #fff6dc sólido num feixe de 70° que gira (--caRotAng), só com .ca-rot.ativo; 1,4 s linear, contínuo
   Parado (faixa sem foco e sem microfone): só a base, anel fechado. */
#rnAlunoNovo .is-prox .ca-rot-c{color:var(--text);font-weight:500;background:rgba(var(--champ),.08);border-color:rgba(var(--champ),.45)}
#rnAlunoNovo .is-prox .ca-rot-c::after{content:"";position:absolute;inset:-4px;border-radius:13px 13px 13px 8px;padding:2px;pointer-events:none;
  background:conic-gradient(from var(--caRotAng),rgba(255,246,220,0) 0deg,rgba(255,246,220,0) 290deg,#fff6dc 325deg,rgba(255,246,220,0) 360deg),
             conic-gradient(rgba(var(--champ),.9) 0deg var(--caRotArc),rgba(var(--champ),0) var(--caRotArc) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
#rnAlunoNovo .ca-rot:not(.ativo) .is-prox .ca-rot-c::after{background:conic-gradient(rgba(var(--champ),.9) 0deg var(--caRotArc),rgba(var(--champ),0) var(--caRotArc) 360deg)}
#rnAlunoNovo .is-prox .ca-rot-m::before{background:rgb(var(--champ));border-color:rgb(var(--champ))}
#rnAlunoNovo .ca-rot.ativo .is-prox .ca-rot-c::after{animation:caRotCorre 1.4s linear infinite}
@keyframes caRotCorre{to{--caRotAng:360deg}}
#rnAlunoNovo .is-prox.chega .ca-rot-c::after{animation:caRotChega .36s var(--ease) both}          /* chegada: o anel se desenha; o brilho começa a correr depois */
#rnAlunoNovo .ca-rot.ativo .is-prox.chega .ca-rot-c::after{animation:caRotChega .36s var(--ease) both,caRotCorre 1.4s linear .36s infinite}
@keyframes caRotChega{from{--caRotArc:0deg}to{--caRotArc:360deg}}
/* entendido ✓ (com o valor) */
#rnAlunoNovo .is-ok .ca-rot-c,#rnAlunoNovo .is-app .ca-rot-c{color:var(--text);font-weight:500;border-color:var(--card-line-1);background:rgba(255,255,255,.03)}
#rnAlunoNovo .is-ok .ca-rot-m::before,#rnAlunoNovo .is-app .ca-rot-m::before{display:none}
#rnAlunoNovo .is-ok .ca-rot-m .g-ok,#rnAlunoNovo .is-app .ca-rot-m .g-ok{display:block;color:var(--verde)}
#rnAlunoNovo .is-ok .ca-rot-t,#rnAlunoNovo .is-app .ca-rot-t{display:none}
#rnAlunoNovo .is-ok .ca-rot-v,#rnAlunoNovo .is-app .ca-rot-v{display:inline}
#rnAlunoNovo .is-app .ca-rot-c{color:var(--text2);font-weight:400}
/* opcional — pode pular (o contorno pode pousar nele quando todo obrigatório acendeu) */
#rnAlunoNovo .is-opc .ca-rot-c{color:var(--text);border-style:dashed;border-color:rgba(var(--champ),.32);background:none}
#rnAlunoNovo .is-opc .ca-rot-m::before{display:none}
#rnAlunoNovo .is-opc .ca-rot-m .g-tr{display:block;color:rgb(var(--champ));stroke-width:1.8}
#rnAlunoNovo .is-opc.is-prox .ca-rot-c{background:rgba(var(--champ),.08);border-color:rgba(var(--champ),.45);font-weight:500}
#rnAlunoNovo .is-opc.is-prox .ca-rot-m .g-tr{display:none}
#rnAlunoNovo .is-opc.is-prox .ca-rot-m::before{display:block}
/* faltou */
#rnAlunoNovo .is-falta .ca-rot-c{color:var(--limao);font-weight:500;border-style:dashed;border-color:rgba(253,224,71,.55);background:none}
#rnAlunoNovo .is-falta .ca-rot-m::before{display:none}
#rnAlunoNovo .is-falta .ca-rot-m .g-tr{display:block;color:var(--limao)}
/* ── o ACENDER (→ entendido), uma vez só:
   1. o ✓ se desenha: stroke-dashoffset 24→0 · 260 ms · (.23,1,.32,1) · atraso 60 ms
   2. o valor entra: opacity 0→1 + translateY 4px→0 · 220 ms · mesma curva
   3. o quadro lava de verde e assenta: fundo rgba(61,220,151,.18)→branco .03, borda verde .6→--card-line-1 · 900 ms (.2,.7,.3,1)
   O contorno sai deste item no mesmo quadro (.is-prox cai) e CHEGA no próximo com .chega (360 ms). */
#rnAlunoNovo .acende .ca-rot-c{animation:caRotLava .9s cubic-bezier(.2,.7,.3,1) both}
@keyframes caRotLava{0%{background-color:rgba(61,220,151,.18);border-color:rgba(61,220,151,.6)}100%{background-color:rgba(255,255,255,.03);border-color:var(--card-line-1)}}
#rnAlunoNovo .acende .ca-rot-m .g-ok path{stroke-dasharray:24;stroke-dashoffset:24;animation:caRotTraco .26s var(--ease) .06s forwards}
@keyframes caRotTraco{to{stroke-dashoffset:0}}
#rnAlunoNovo .acende .ca-rot-v{animation:caRotSobe .22s var(--ease) both}
@keyframes caRotSobe{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  #rnAlunoNovo .ca-rot-c,#rnAlunoNovo .ca-rot-m::before{transition:none}
  #rnAlunoNovo .is-prox .ca-rot-c::after,#rnAlunoNovo .ca-rot.ativo .is-prox .ca-rot-c::after,#rnAlunoNovo .is-prox.chega .ca-rot-c::after,#rnAlunoNovo .ca-rot.ativo .is-prox.chega .ca-rot-c::after{animation:none;background:conic-gradient(rgba(var(--champ),.9) 0deg 360deg)}
  #rnAlunoNovo .acende .ca-rot-c,#rnAlunoNovo .acende .ca-rot-m .g-ok path,#rnAlunoNovo .acende .ca-rot-v{animation:none}
  #rnAlunoNovo .acende .ca-rot-m .g-ok path{stroke-dasharray:none;stroke-dashoffset:0}
}

/* porte (Claudineia): o cartão se redesenha a cada pedaço da fala — os movimentos continuam de onde estavam
   (atraso negativo = tempo já corrido), em vez de recomeçar a cada redesenho */
#rnAlunoNovo .ca-rot.ativo .is-prox .ca-rot-c::after{animation-delay:var(--rotCorre,0s)}
#rnAlunoNovo .is-prox.chega .ca-rot-c::after{animation-delay:var(--rotC,0s)}
#rnAlunoNovo .ca-rot.ativo .is-prox.chega .ca-rot-c::after{animation-delay:var(--rotC,0s),calc(.36s + var(--rotC,0s))}
#rnAlunoNovo .acende .ca-rot-c,#rnAlunoNovo .acende .ca-rot-v{animation-delay:var(--rotT,0s)}
#rnAlunoNovo .acende .ca-rot-m .g-ok path{animation-delay:calc(.06s + var(--rotT,0s))}

/* ═══ FALA CORRIDA — O CARTÃO QUE SE PREENCHE (porte 21/10, galho dedicado da Claudineia) ═══
   [CÓPIA] fonte: docs/rodada_fala_corrida_2026-10-21/DO_JEAN/fala_corrida_v1_2026-10-21.html, <style> linhas 97–174, 176–178,
   180–181, 197–252, 255–263, 396–403 e 421–436 (bloco .fc-*), só com o prefixo #rnAlunoNovo; .ph.com-janela → body.rnj-aberta;
   .mac-esq → .fc-mac; .fc-pe e .fc-grav-l com margem −20/20 (o gutter do app é 20, o da prancha 16). Fora (prancha só): .pr-*, .ph*, .gs-mini,
   .gm-* (a grade aberta é a .gs que já existe — Jean, pré-porte 21/10), .fc-teclado, .ord, gchip.vz/.prox/.mais (Colados = Sugestão 1).
   is-prov / is-conf / is-so / .fc-so / medidor vivo entram INERTES (pedem motor — decisão de Raphael). */
#rnAlunoNovo{--an-corre:fcCorre 1.4s linear infinite;--an-chega:fcChega .36s var(--ease) both;--an-lava:fcLava .9s cubic-bezier(.2,.7,.3,1) both;
--an-traco:fcTraco .26s var(--ease) .06s forwards;--an-sobe:fcSobe .22s var(--ease) both;--an-med:fcMed .9s var(--ease) infinite;
--an-caret:fcCaret 1s steps(1) infinite;--an-gira:rnGira 1.4s linear infinite;--an-tick:fcTick .5s var(--ease) 1}
#rnAlunoNovo svg.i14{width:14px;height:14px}
#rnAlunoNovo .fc .pa,#rnAlunoNovo .fc-grav .pa{display:inline-block;width:7px;height:24px;border-radius:4px;flex:none}
#rnAlunoNovo .fc{margin-top:14px;border:1px solid var(--card-line-2);border-radius:18px;padding:16px 14px 14px;background:rgba(0,0,0,.18);display:flex;flex-direction:column;gap:16px}
#rnAlunoNovo .fc-cab{display:flex;align-items:center;gap:8px}
#rnAlunoNovo .fc-cab .fc-k{flex:1}
#rnAlunoNovo .fc-k{display:flex;align-items:center;gap:8px;min-height:24px;font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.2em;text-transform:uppercase;color:var(--text3);white-space:nowrap}
#rnAlunoNovo .fc-k::before{content:"";width:14px;height:1px;background:rgba(var(--champ),.7);flex:none}
#rnAlunoNovo .fc-k .st{text-transform:none;letter-spacing:0;font:400 var(--fs-xs)/1.2 var(--ui);color:var(--text2);white-space:normal}
#rnAlunoNovo .fc-k .n{color:var(--text2)}
#rnAlunoNovo .fc-sec{display:flex;flex-direction:column;gap:8px}
#rnAlunoNovo .fc-sec>.fc-k::after{content:"";flex:1;height:1px;background:rgba(255,255,255,.08)}     /* tinta 19/10: título gravado, filete até a borda */
#rnAlunoNovo .fc-sec>.fc-k .pp-gesto{margin-left:auto}
#rnAlunoNovo .fc-sec>.fc-k .pp-gesto+*{display:none}
#rnAlunoNovo .ca-x{position:relative;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--card-line-1);border-radius:9px 9px 9px 4px;background:rgba(255,255,255,.02);color:var(--text2);padding:0;cursor:pointer;flex:none}
#rnAlunoNovo .ca-x::before{content:"";position:absolute;inset:-6px}
#rnAlunoNovo .fc-grid{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:8px}
#rnAlunoNovo .fc-it{display:flex;position:relative;min-width:0}
#rnAlunoNovo .fc-it.um{grid-column:1/-1}
/* o campo — igual pra todos; estica à altura da linha do grid, pra vizinhos não desalinharem quando um valor quebra */
#rnAlunoNovo .fc-c{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;min-height:60px;padding:9px 12px 9px 11px;border:1px solid var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.26);color:var(--text2);text-align:left;cursor:pointer;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;transition:color .18s var(--ease),border-color .18s var(--ease),background-color .18s var(--ease)}
#rnAlunoNovo .fc-c:focus-visible{outline:2px solid rgba(var(--champ),.6);outline-offset:3px}
#rnAlunoNovo .fc-l{display:flex;align-items:center;gap:4px 6px;flex-wrap:wrap;font:500 var(--fs-micro)/1.2 var(--ui);letter-spacing:.14em;text-transform:uppercase;color:var(--text3);min-width:0}
#rnAlunoNovo .fc-l small{text-transform:none;letter-spacing:0;font:400 var(--fs-xs)/1.2 var(--ui);color:var(--text3);white-space:nowrap}
#rnAlunoNovo .fc-l span.lt{white-space:nowrap}
#rnAlunoNovo .fc-l small.cf{color:rgb(var(--champ));font-weight:500}
#rnAlunoNovo .fc-v{display:flex;align-items:flex-start;gap:7px;min-height:22px;font:400 var(--fs-md)/1.35 var(--ui);color:var(--text2);min-width:0}
#rnAlunoNovo .fc-v .fc-m{margin-top:3px}
#rnAlunoNovo .fc-m{position:relative;width:16px;height:16px;flex:none;display:grid;place-items:center}
#rnAlunoNovo .fc-m::before{content:"";width:8px;height:8px;border-radius:50%;border:1.5px solid rgba(255,255,255,.4);transition:background-color .18s var(--ease),border-color .18s var(--ease)}
#rnAlunoNovo .fc-m svg{position:absolute;inset:0;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:none}
#rnAlunoNovo .fc-t,#rnAlunoNovo .fc-h{min-width:0;display:inline;line-height:1.35;text-wrap:pretty;overflow-wrap:normal;word-break:keep-all;hyphens:none}
#rnAlunoNovo .fc-t .pa,#rnAlunoNovo .fc-h .pa{vertical-align:-3px;margin-right:6px}
#rnAlunoNovo .fc-t .pa{height:18px;width:6px}
#rnAlunoNovo .fc-h{font:italic 400 var(--fs-sm)/1.3 var(--ui);color:var(--text3)}
/* ── o próximo: o CONTORNO (mesmo anel do roteiro v3: 2 px fora do quadro, só a borda; brilho creme corre com .ouvindo) ── */
#rnAlunoNovo .is-prox .fc-c,#rnAlunoNovo .is-so .fc-c{color:var(--text);background:rgba(var(--champ),.08);border-color:rgba(var(--champ),.45)}
#rnAlunoNovo .is-prox .fc-c::after,#rnAlunoNovo .is-so .fc-c::after{content:"";position:absolute;inset:-4px;border-radius:14px 14px 14px 8px;padding:2px;pointer-events:none;
  background:conic-gradient(from var(--caRotAng),rgba(255,246,220,0) 0deg,rgba(255,246,220,0) 290deg,#fff6dc 325deg,rgba(255,246,220,0) 360deg),
             conic-gradient(rgba(var(--champ),.9) 0deg var(--caRotArc),rgba(var(--champ),0) var(--caRotArc) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude}
#rnAlunoNovo .fc:not(.ouvindo) .is-prox .fc-c::after{background:conic-gradient(rgba(var(--champ),.9) 0deg var(--caRotArc),rgba(var(--champ),0) var(--caRotArc) 360deg)}
#rnAlunoNovo .fc.ouvindo .is-prox .fc-c::after,#rnAlunoNovo .is-so .fc-c::after{animation:var(--an-corre)}
#rnAlunoNovo .is-prox.chega .fc-c::after{animation:var(--an-chega)}
#rnAlunoNovo .fc.ouvindo .is-prox.chega .fc-c::after{animation:var(--an-chega),fcCorre 1.4s linear .36s infinite}
#rnAlunoNovo .is-prox .fc-m::before{background:rgb(var(--champ));border-color:rgb(var(--champ))}
#rnAlunoNovo .is-so .fc-m::before{display:none}
#rnAlunoNovo .is-so .fc-m .g-mic{display:block;color:rgb(var(--champ))}
/* provisório */
#rnAlunoNovo .is-prov .fc-m::before{display:none}
#rnAlunoNovo .is-prov .fc-m .g-pts{display:block;color:rgb(var(--champ))}
#rnAlunoNovo .is-prov .fc-t{font-style:italic;color:var(--text2);text-decoration:underline dashed rgba(var(--champ),.65);text-underline-offset:4px;text-decoration-thickness:1px}
/* entendido ✓ · o app preencheu · corrigido */
#rnAlunoNovo .is-ok .fc-c,#rnAlunoNovo .is-app .fc-c,#rnAlunoNovo .is-conf .fc-c{color:var(--text);background:rgba(255,255,255,.03)}
#rnAlunoNovo .is-ok .fc-m::before,#rnAlunoNovo .is-app .fc-m::before,#rnAlunoNovo .is-conf .fc-m::before{display:none}
#rnAlunoNovo .is-ok .fc-m .g-ok,#rnAlunoNovo .is-app .fc-m .g-ok{display:block;color:var(--verde)}
#rnAlunoNovo .is-ok .fc-t{color:var(--text);font-weight:500}
#rnAlunoNovo .is-ok[data-k="nome"] .fc-t{font:500 var(--fs-xl)/1.15 var(--serif)}
#rnAlunoNovo .is-app .fc-t{color:var(--text2);font-weight:400}
#rnAlunoNovo .is-mud .fc-t::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:rgb(var(--champ));vertical-align:3px;margin-right:6px}
/* precisa conferir — dúvida não é falta: tinta sem cor */
#rnAlunoNovo .is-conf .fc-m .g-tr{display:block;color:rgb(var(--champ))}
#rnAlunoNovo .is-conf .fc-t{color:var(--text);font-weight:500}
/* pendência (depois de parar) · opcional (quieto) · faltou */
#rnAlunoNovo .is-pend .fc-c{border-style:dashed;border-color:rgba(var(--champ),.32);background:none}
#rnAlunoNovo .is-pend .fc-m::before{display:none}
#rnAlunoNovo .is-pend .fc-m .g-tr{display:block;color:rgb(var(--champ));stroke-width:1.8}
#rnAlunoNovo .is-pend .fc-t{color:var(--text2)}
#rnAlunoNovo .is-opc .fc-c{border-color:var(--line);background:none}
#rnAlunoNovo .is-opc .fc-m::before{border-color:rgba(255,255,255,.22)}
#rnAlunoNovo .is-opc.is-prox .fc-c{background:rgba(var(--champ),.08);border-color:rgba(var(--champ),.45)}
#rnAlunoNovo .is-opc.is-prox .fc-m::before{border-color:rgb(var(--champ))}
#rnAlunoNovo .is-falta .fc-c{border-style:dashed;border-color:rgba(253,224,71,.55);background:none}
#rnAlunoNovo .is-falta .fc-m::before{display:none}
#rnAlunoNovo .is-falta .fc-m .g-tr{display:block;color:var(--limao)}
#rnAlunoNovo .is-falta .fc-t{color:var(--limao);font-weight:500}
#rnAlunoNovo .is-falta.is-prox .fc-c{background:rgba(253,224,71,.05)}
/* ── o ACENDER (→ entendido), uma vez só — igual ao roteiro v3; na fala inteira de uma vez, uma ONDA: cada campo 60 ms depois do anterior (--i) ── */
#rnAlunoNovo .acende .fc-c{animation:var(--an-lava);animation-delay:calc(var(--i,0)*60ms)}
#rnAlunoNovo .acende .fc-m .g-ok path{stroke-dasharray:24;stroke-dashoffset:24;animation:var(--an-traco);animation-delay:calc(60ms + var(--i,0)*60ms)}
#rnAlunoNovo .acende .fc-t{animation:var(--an-sobe);animation-delay:calc(var(--i,0)*60ms)}
#rnAlunoNovo .fc-nota{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;border:1px solid var(--line);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.18);font-size:var(--fs-sm);line-height:1.45;color:var(--text2)}
#rnAlunoNovo .fc-nota svg{color:var(--verde);margin-top:2px}
#rnAlunoNovo .fc-nota b{color:var(--text);font-weight:500}
#rnAlunoNovo .fc-vergrade{align-self:flex-start;height:36px;font-size:var(--fs-xs)}
#rnAlunoNovo .fc-grade{display:flex;flex-direction:column;gap:6px;margin-top:2px}
#rnAlunoNovo .fc-pe{position:sticky;bottom:0;z-index:5;margin:0 -20px;padding:10px 20px calc(12px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:10px;background:linear-gradient(180deg,rgba(10,8,6,0),rgba(10,8,6,.96) 14px)}
#rnAlunoNovo .fc-fala{position:relative;display:flex;align-items:flex-end;gap:10px;padding:10px 10px 10px 14px;border:1px solid var(--card-line-2);border-radius:13px;background:#120e09;transition:border-color .18s var(--ease),box-shadow .18s var(--ease)}
#rnAlunoNovo .fc-fala.foco,#rnAlunoNovo .fc-fala.ouvindo{border-color:var(--card-line-ouro);box-shadow:0 0 0 3px rgba(201,162,39,.08)}   /* foco de campo = estado, ouro baixo (tinta 19/10) */
#rnAlunoNovo .fc-tx{flex:1;min-width:0;min-height:26px;max-height:72px;overflow:hidden;align-self:center;font:400 var(--fs-md)/1.5 var(--ui);color:var(--text2);text-wrap:pretty}
#rnAlunoNovo .fc-tx.rola{-webkit-mask-image:linear-gradient(180deg,transparent,#000 22px);mask-image:linear-gradient(180deg,transparent,#000 22px)}
#rnAlunoNovo .fc-tx .vz{color:var(--text3);font-style:italic}
#rnAlunoNovo .fc-tx .ruido{color:var(--text3)}
#rnAlunoNovo .fc-tx u{color:var(--text);text-decoration:underline;text-decoration-color:rgba(240,235,224,.45);text-decoration-thickness:1px;text-underline-offset:3px}          /* virou dado */
#rnAlunoNovo .fc-tx i{font-style:italic;color:var(--text2);text-decoration:underline dashed rgba(var(--champ),.65);text-decoration-thickness:1px;text-underline-offset:3px}     /* provisório */
#rnAlunoNovo .fc-tx s{color:var(--text3);text-decoration:line-through;text-decoration-color:rgba(177,169,154,.8)}                                                                /* substituído (por fala ou por toque) */
#rnAlunoNovo .fc-tx .cur{display:inline-block;width:1.5px;height:1em;margin-left:1px;background:var(--gold2);vertical-align:-2px;animation:var(--an-caret)}
#rnAlunoNovo .fc-fala.mac .fc-tx{min-height:84px;align-self:stretch}
#rnAlunoNovo .fc-fala.mac .fc-tx .vz{font-style:normal}
#rnAlunoNovo .fc-so{position:absolute;top:-12px;left:12px;display:inline-flex;align-items:center;gap:6px;height:24px;padding:0 8px 0 9px;border:1px solid rgba(var(--champ),.5);border-radius:7px 7px 7px 3px;background:#120e09;color:rgb(var(--champ));font:500 var(--fs-micro)/1 var(--ui);letter-spacing:.14em;text-transform:uppercase;cursor:pointer}
#rnAlunoNovo .fc-so svg{color:var(--text2)}
#rnAlunoNovo .fc-fala:has(.fc-so){margin-top:6px}
/* a pílula de gesto (tinta 19/10) e o microfone */
#rnAlunoNovo .pp-gesto{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:5px;height:40px;padding:0 10px 0 8px;border:1px dashed rgba(var(--champ),.32);border-radius:11px 11px 11px 5px;background:none;color:var(--text);font:500 var(--fs-sm)/1 var(--ui);white-space:nowrap;flex:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
#rnAlunoNovo .pp-gesto::before{content:"";position:absolute;inset:-2px -4px}
#rnAlunoNovo .pp-gesto svg{color:rgb(var(--champ))}
#rnAlunoNovo .pp-gesto.mini{height:32px;font-size:var(--fs-xs);padding:0 9px 0 7px}
#rnAlunoNovo .pp-gesto.mini::before{inset:-6px -4px}
#rnAlunoNovo .fc-mic{height:44px;padding:0 14px 0 11px;font-size:var(--fs-md)}
#rnAlunoNovo .fc-mic.ouvindo{border-style:solid;border-color:rgba(var(--champ),.5);background:rgba(255,255,255,.04)}
#rnAlunoNovo .fc-mic.negado{border-color:var(--card-line-1);color:var(--text3)}
#rnAlunoNovo .fc-mic.negado svg{color:var(--text3)}
/* o medidor: 4 barras champanhe. Vivo = nível de áudio (se o teste técnico passar). Substituto honesto (.fc-med--pulso): paradas, e PULSAM uma vez quando chega texto (.tick). */
#rnAlunoNovo .fc-med{display:none;align-items:flex-end;justify-content:center;gap:2px;width:18px;height:16px}
#rnAlunoNovo .fc-med i{display:block;width:3px;height:16px;border-radius:2px;background:rgb(var(--champ));transform-origin:50% 100%;transform:scaleY(.3)}
#rnAlunoNovo .fc-mic.ouvindo .g-mic{display:none}
#rnAlunoNovo .fc-mic.ouvindo .fc-med{display:inline-flex}
#rnAlunoNovo .fc-mic.ouvindo .fc-med i{animation:var(--an-med)}
#rnAlunoNovo .fc-med i:nth-child(2){animation-delay:.15s}#rnAlunoNovo .fc-med i:nth-child(3){animation-delay:.3s}#rnAlunoNovo .fc-med i:nth-child(4){animation-delay:.08s}
#rnAlunoNovo .fc-med--pulso i{animation:none!important;transform:scaleY(.3)}
#rnAlunoNovo .fc-med--pulso.tick i{animation:var(--an-tick)!important}
#rnAlunoNovo .fc-med--pulso.tick i:nth-child(2){animation-delay:.05s}#rnAlunoNovo .fc-med--pulso.tick i:nth-child(3){animation-delay:.1s}#rnAlunoNovo .fc-med--pulso.tick i:nth-child(4){animation-delay:.03s}
#rnAlunoNovo .fc-dica{display:flex;align-items:flex-start;gap:8px;font:italic 400 var(--fs-xs)/1.45 var(--ui);color:var(--text2);text-wrap:pretty}
#rnAlunoNovo .fc-dica svg{color:var(--text3);margin-top:1px;flex:none}
#rnAlunoNovo .fc-dica b{color:var(--text);font-weight:500;font-style:normal}
#rnAlunoNovo .fc-dica.champ svg{color:rgb(var(--champ))}
#rnAlunoNovo .ca-aviso{display:flex;align-items:flex-start;gap:7px;font:500 var(--fs-xs)/1.35 var(--ui);color:var(--text2);text-wrap:pretty}
#rnAlunoNovo .ca-aviso svg{flex:none;margin-top:1px}
#rnAlunoNovo .ca-aviso span.m{flex:1;min-width:0}
#rnAlunoNovo .ca-aviso.lim{color:var(--limao)}
#rnAlunoNovo .ca-aviso.lim svg{stroke-width:2}
#rnAlunoNovo .ca-aviso span{color:var(--text2);font-weight:400}
#rnAlunoNovo .fc-resumo{display:flex;flex-direction:column;gap:6px;padding:10px 14px 12px;border:1px solid var(--card-line-1);border-radius:13px 13px 13px 6px;background:#120e09}
#rnAlunoNovo .fc-resumo .fc-k{min-height:24px}
#rnAlunoNovo .fc-resumo .fc-k .rn-ajuda{margin-left:auto}
#rnAlunoNovo .fc-resumo p{font:400 var(--fs-md)/1.4 var(--serif);color:var(--text);text-wrap:pretty}
#rnAlunoNovo .fc-resumo p b{font-weight:600}
#rnAlunoNovo .fc-conf{display:flex}
#rnAlunoNovo .fc-conf .ca-btn{flex:1}
/* com uma janela v2 aberta, o ouro é do botão principal DELA: o Confirmar de baixo fica sob o véu e sem ouro (tinta 19/10 — nunca dois ouros visíveis) */
body.rnj-aberta #rnAlunoNovo .fc-conf .ca-btn--primary:not(.ciclo-nao){background:rgba(255,255,255,.03);color:var(--text2);border-color:var(--card-line-1);box-shadow:none;opacity:1}
#rnAlunoNovo .fc-grav{margin-top:14px;display:flex;flex-direction:column;gap:8px}
#rnAlunoNovo .fc-grav .fc-k .pp-gesto{margin-left:auto}
#rnAlunoNovo .fc-grav-l{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -20px;padding:4px 20px}
#rnAlunoNovo .fc-grav-l::-webkit-scrollbar{display:none}
#rnAlunoNovo .fc-gchip{position:relative;display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 12px 0 9px;border:1px solid var(--card-line-1);border-radius:11px 11px 11px 5px;background:rgba(0,0,0,.18);color:var(--text);font:500 var(--fs-md)/1 var(--serif);white-space:nowrap;flex:none;cursor:pointer}
#rnAlunoNovo .fc-gchip .pa{height:20px;width:6px}
#rnAlunoNovo .fc-gchip.at{border-color:var(--card-line-ouro);background:rgba(201,162,39,.06)}
#rnAlunoNovo .fc-gchip .esp{color:var(--text3)}
#rnAlunoNovo .fc-gchip .g-ok{color:var(--verde);stroke-width:2}
#rnAlunoNovo .mac-pal.fc-mac{display:grid;grid-template-columns:440px minmax(0,1fr);gap:36px;padding:28px 40px 32px;align-items:start}
#rnAlunoNovo .fc-mac .fc-grav-l{margin:0;padding:4px 0}
#rnAlunoNovo .fc-mac .fc-pe{position:static;margin:0;padding:14px 0 0;background:none}
#rnAlunoNovo .fc-mac .fc-conf{justify-content:flex-end}
#rnAlunoNovo .fc-mac .fc-conf .ca-btn{flex:0 0 auto;min-width:220px}
#rnAlunoNovo .fc-mac .mac-dir{display:flex;flex-direction:column;gap:10px;padding-top:50px}
@keyframes fcCorre{to{--caRotAng:360deg}}
@keyframes fcChega{from{--caRotArc:0deg}to{--caRotArc:360deg}}
@keyframes fcLava{0%{background-color:rgba(61,220,151,.18);border-color:rgba(61,220,151,.6)}100%{background-color:rgba(255,255,255,.03);border-color:var(--card-line-1)}}
@keyframes fcTraco{to{stroke-dashoffset:0}}
@keyframes fcSobe{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes fcMed{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
@keyframes fcTick{0%,100%{transform:scaleY(.3)}40%{transform:scaleY(.95)}}
@keyframes fcCaret{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){
  #rnAlunoNovo{--an-corre:none;--an-chega:none;--an-lava:none;--an-traco:none;--an-sobe:none;--an-med:none;--an-caret:none;--an-gira:none;--an-tick:none}
  #rnAlunoNovo .is-prox .fc-c::after,#rnAlunoNovo .is-so .fc-c::after,#rnAlunoNovo .fc.ouvindo .is-prox .fc-c::after{animation:none;background:conic-gradient(rgba(var(--champ),.9) 0deg 360deg)}
  #rnAlunoNovo .fc-mic.ouvindo .fc-med i{transform:scaleY(.8)}
  #rnAlunoNovo .acende .fc-m .g-ok path{stroke-dasharray:none;stroke-dashoffset:0}
  #rnAlunoNovo .fc-c,#rnAlunoNovo .fc-m::before,#rnAlunoNovo .fc-fala,#rnAlunoNovo .fc-tx{transition:none}
  #rnAlunoNovo .rnj-overlay,#rnAlunoNovo .rnj-overlay .rnj,#rnAlunoNovo .rnj-overlay .rnj-head,#rnAlunoNovo .rnj-overlay .rnj-body,#rnAlunoNovo .rnj-overlay .rnj-foot,#rnAlunoNovo .rnj-fio{animation:none!important}
}

/* [CONSTRUÇÃO] o que a prancha desenha e o app precisa ligar (21/10):
   1. a tira é um <textarea> real (o microfone escreve nele): o .fc-tx sem moldura; o placeholder é o .vz da prancha
   2. o cartão se redesenha a cada pedaço da fala: o anel e a chegada continuam de onde estavam (atraso negativo), como no roteiro v3
   3. teclado aberto no celular (.teclado): o pé continua preso, agora a 32 px do teclado (--fc-kb = o teclado medido pelo
      visualViewport), e o campo da vez rola pra logo acima dele; a dica sobe, o Confirmar e o aviso saem (prancha K) */
#rnAlunoNovo textarea.fc-tx{display:block;width:100%;height:26px;padding:0;border:0;border-radius:0;background:none;outline:none;resize:none;color:var(--text2);caret-color:var(--gold2);overflow-y:auto}
#rnAlunoNovo .fc-fala:not(.mac) textarea.fc-tx:placeholder-shown{height:48px}
#rnAlunoNovo textarea.fc-tx::placeholder{color:var(--text3);font-style:italic}
#rnAlunoNovo .fc-fala.mac textarea.fc-tx::placeholder{font-style:normal}
#rnAlunoNovo .fc.ouvindo .is-prox .fc-c::after,#rnAlunoNovo .is-so .fc-c::after{animation-delay:var(--fcCorre,0s)}
#rnAlunoNovo .is-prox.chega .fc-c::after{animation-delay:var(--fcChega,0s)}
#rnAlunoNovo .fc.ouvindo .is-prox.chega .fc-c::after{animation-delay:var(--fcChega,0s),calc(.36s + var(--fcChega,0s))}
#rnAlunoNovo .fc-pe.teclado.kb{bottom:calc(var(--fc-kb,0px) + 32px);padding-bottom:0}
#rnAlunoNovo .fc-pe.teclado .fc-conf,#rnAlunoNovo .fc-pe.teclado .ca-aviso{display:none}
#rnAlunoNovo .fc-grade .gs{margin-top:2px}
