/* ==========================================================================
   rt.css — design system do RagnaMT
   Site (/), apresentacao (/servidor), wiki (/wiki/) e painel (/painel/)
   usam este mesmo arquivo. Componentes com prefixo rt- para nao colidir com
   o CSS da wiki ou do FluxCP. Documentacao: assets/README.md.

   Fontes (Google Fonts, licenca OFL):
     Lilita One — titulos cartoon       Nunito — texto e menu

   Layout comum e celular (secoes 2, 3, 16, 19 e 23):
     --rt-toque     44px, alvo de toque minimo (menu, rodape, icones)
     --rt-calha     margem lateral fluida, clamp(16px, 4vw, 32px)
     --rt-esp-1..5  espacamentos base (4, 8, 16, 24, 40px)
     --rt-texto-p/m/g  tamanhos de texto fluidos (corpo pequeno, normal, grande)
   Utilitarios globais (secao 23), para qualquer pagina:
     .rt-rolagem-x  embrulho com rolagem horizontal propria (tabelas, codigo,
                    abas largas) — a pagina nunca rola de lado
     .rt-fluido     imagem/video/iframe a 100% da largura, proporcao mantida
     .rt-toque      garante min 44x44px num link/botao pequeno
     .rt-quebra     quebra palavras/URLs compridas em qualquer ponto
   Menu no celular (< 1024px): gaveta [data-aberto] no .rt-topo; o rt.js poe
   inert no resto da pagina, leva o foco para dentro e o devolve ao fechar
   (Esc, botao, clique no fundo ou ao passar para o desktop).
   ========================================================================== */

/* ---------- 1. tokens ---------------------------------------------------- */
:root {
  --rt-topo-altura: 52px;

  --rt-fonte-titulo: "Lilita One", "Baloo 2", "Arial Rounded MT Bold", system-ui, sans-serif;
  --rt-fonte: "Nunito", "Segoe UI", system-ui, -apple-system, sans-serif;

  /* madeira e couro */
  --rt-madeira-clara: #c98a5a;
  --rt-madeira: #9a5b36;
  --rt-madeira-escura: #6b3a22;
  --rt-couro: #a5552f;
  /* papel */
  --rt-papel: #fbf4e4;
  --rt-papel-2: #f3e6c8;
  --rt-papel-borda: #e2cfa6;
  --rt-pergaminho: #f1dfb5;
  /* destaque */
  --rt-ouro: #f5c451;
  --rt-ouro-claro: #ffe9a6;
  --rt-ouro-escuro: #c58a1c;
  --rt-vermelho: #d23b2f;
  --rt-vermelho-claro: #ef6b4f;
  --rt-vermelho-escuro: #8e1f19;
  --rt-creme: #fff3c4;
  --rt-lilas: #b69cf3;
  --rt-roxo: #5b3fb6;
  --rt-turquesa: #43c6c9;
  /* texto */
  --rt-texto: #5a3a28;
  --rt-texto-suave: #7a5c47; /* 4,6:1 sobre o pergaminho (#f1dfb5); o #8b6a52 dava 3,7 */
  --rt-menu-texto: #6d5a50;
  --rt-menu-ativo: #8a5a3b;

  --rt-sombra-cartao: 0 10px 24px rgba(74, 40, 18, .28);
  --rt-sombra-funda: 0 18px 40px rgba(60, 30, 10, .35);
  --rt-raio: 14px;

  --rt-curva: cubic-bezier(.45, .05, .25, 1);
  --rt-escala: 1;

  /* layout comum (ver o topo do arquivo) */
  --rt-toque: 44px;
  --rt-calha: clamp(16px, 4vw, 32px);
  --rt-esp-1: 4px; --rt-esp-2: 8px; --rt-esp-3: 16px; --rt-esp-4: 24px; --rt-esp-5: 40px;
  --rt-texto-p: clamp(13px, 12.2px + .2vw, 14px);
  --rt-texto-m: clamp(15px, 14.4px + .2vw, 16px);
  --rt-texto-g: clamp(17px, 15.8px + .4vw, 19px);
}

/* ---------- 2. base ------------------------------------------------------ */
.rt, .rt *, .rt *::before, .rt *::after { box-sizing: border-box; }
.rt { margin: 0; font-family: var(--rt-fonte); color: var(--rt-texto); background: #1a120c; line-height: 1.5; -webkit-font-smoothing: antialiased; }
.rt img { max-width: 100%; }
/* largura/altura dos atributos HTML nao podem esticar a imagem encolhida pelo
   max-width; o :where (especificidade zero) deixa qualquer classe vencer */
:where(.rt) :where(img, video) { height: auto; }
:where(.rt) :where(video, iframe, embed, object) { max-width: 100%; }
html:has(> body.rt) { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: calc(var(--rt-topo-altura) + 12px); }
:where(.rt) a { color: inherit; }
:where(.rt) button { font: inherit; color: inherit; }
.rt :focus-visible { outline: 3px solid #ffb02e; outline-offset: 3px; }
.rt-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rt-pular { position: fixed; left: 12px; top: -60px; z-index: 300; background: #fff; color: var(--rt-texto); padding: 10px 16px; border-radius: 8px; font-weight: 800; transition: top .2s; }
.rt-pular:focus { top: 8px; }
.rt-pixel { image-rendering: pixelated; image-rendering: crisp-edges; }

/* ---------- 3. menu do topo --------------------------------------------- */
.rt-topo { position: fixed; inset: 0 0 auto 0; height: var(--rt-topo-altura); z-index: 200; background: #fff; box-shadow: 0 1px 0 rgba(0,0,0,.06); font-family: var(--rt-fonte); }
.rt-topo__barra { height: 100%; display: flex; align-items: center; padding: 0 0 0 4px; }
.rt-topo__marca { display: flex; align-items: center; gap: 6px; text-decoration: none; height: 100%; padding: 0 12px 0 6px; }
.rt-topo__marca img { display: block; width: auto; height: 48px; aspect-ratio: 1710 / 789; transition: transform .25s var(--rt-curva, ease); }
.rt-topo__marca:hover img, .rt-topo__marca:focus-visible img { transform: scale(1.04) rotate(-1deg); }
/* o span abaixo e da marca antiga (icone + texto); fica so enquanto houver copia velha do RT-TOPO */
.rt-topo__marca span { font-family: var(--rt-fonte-titulo); font-size: 25px; letter-spacing: .5px; color: #3c63c9; -webkit-text-stroke: 1px #20357a; text-shadow: 0 2px 0 #f1c94b; line-height: 1; }
.rt-topo__marca span b { color: var(--rt-vermelho); -webkit-text-stroke-color: var(--rt-vermelho-escuro); font-weight: 400; }
.rt-menu { margin-left: auto; height: 100%; }
.rt-menu > ul { display: flex; height: 100%; margin: 0; padding: 0; list-style: none; gap: 2px; }
.rt-menu li { position: relative; list-style: none; }
.rt-menu > ul > li { height: 100%; display: flex; align-items: center; }
.rt-menu__item { display: flex; align-items: center; gap: 3px; height: 100%; padding: 0 11px; font-size: 14px; font-weight: 700; color: var(--rt-menu-texto); text-decoration: none; background: none; border: 0; cursor: pointer; position: relative; white-space: nowrap; transition: color .2s; }
.rt-menu__item::after { content: ""; position: absolute; left: 11px; right: 11px; bottom: 6px; height: 3px; border-radius: 2px; background: var(--rt-menu-ativo); transform: scaleX(0); transition: transform .3s; }
.rt-menu__item:hover { color: var(--rt-menu-ativo); }
.rt-menu__item[aria-current], .rt-menu__item.rt-ativo { color: var(--rt-menu-ativo); }
.rt-menu__item[aria-current]::after, .rt-menu__item.rt-ativo::after { transform: scaleX(1); }
.rt-menu__seta { width: 0; height: 0; border: 5px solid transparent; border-top: 6px solid currentColor; border-bottom: 0; margin-top: 2px; transition: transform .2s; }
.rt-menu__sub[data-aberto] .rt-menu__seta { transform: rotate(180deg); }
.rt-menu__painel { position: absolute; top: calc(100% - 4px); left: 50%; min-width: 190px; transform: translate(-50%, 6px); background: #fff; border-radius: 10px; box-shadow: 0 12px 30px rgba(60, 30, 10, .18); padding: 8px; margin: 0; list-style: none; opacity: 0; visibility: hidden; transition: opacity .2s, transform .2s, visibility .2s; }
.rt-menu__painel::before { content: ""; position: absolute; top: -6px; left: 50%; margin-left: -6px; border: 6px solid transparent; border-top: 0; border-bottom-color: #fff; }
.rt-menu__sub[data-aberto] .rt-menu__painel { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.rt-menu__painel a, .rt-menu__painel span { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 7px; font-size: 14px; font-weight: 700; color: var(--rt-menu-texto); text-decoration: none; white-space: nowrap; }
.rt-menu__painel a:hover, .rt-menu__painel a:focus-visible { background: #fbf1e2; color: var(--rt-menu-ativo); }
.rt-menu__painel span { color: #b5a597; cursor: default; }
.rt-selo { font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; background: #f3e7d8; color: #a2836b; padding: 1px 6px; border-radius: 99px; }
.rt-topo__hamburguer { display: none; }

/* 3b. barra unica (a faixa fina de cima saiu em 11/10): Home ... Comercio,
   Doacoes, a pilula vermelha Conta e, por ultimo, o idioma (globo + PT).
   No celular tudo entra na gaveta; o idioma fica no fim, depois da Conta. */
@media (min-width: 1024px) { .rt-menu__gaveta { display: none; } }
.rt-menu__icone { flex: none; width: 17px; height: 17px; }
.rt-menu__icone--avatar { width: 21px; height: 21px; color: #7d6455; }
.rt-menu__baixar .rt-menu__item { color: #fff; background: linear-gradient(#f0614a, #c9302a); box-shadow: 0 3px 0 #7d1a15, inset 0 2px 0 rgba(255, 255, 255, .3); border-radius: 99px; font-weight: 800; letter-spacing: .2px; transition: filter .2s, transform .2s; }
.rt-menu__baixar .rt-menu__item:hover, .rt-menu__baixar .rt-menu__item[aria-current], .rt-menu__baixar .rt-menu__item.rt-ativo { color: #fff; filter: brightness(1.08); }
.rt-menu__baixar .rt-menu__item::after { display: none; }
.rt-menu__baixar .rt-menu__item.rt-ativo { box-shadow: 0 3px 0 #7d1a15, inset 0 0 0 2px #ffd9a0; }
/* a pilula vermelha e o menu Conta (Entrar / Criar conta; logado, os atalhos da conta: rt.js) */
.rt-menu__baixar .rt-menu__item { gap: 7px; }
.rt-menu__baixar .rt-menu__icone--avatar { color: rgba(110, 16, 10, .42); }
.rt-menu__baixar .rt-menu__usuario b { color: #ffe9a6; }
.rt-menu__baixar[data-aberto] .rt-menu__item { filter: brightness(1.08); }
@media (min-width: 1024px) {
  :root { --rt-topo-altura: 64px; }
  .rt-topo__barra { padding-right: 14px; }
  .rt-menu__idioma { margin-left: 6px; }
  .rt-menu__idioma .rt-menu__item { gap: 5px; padding: 0 10px; }
  .rt-menu__idioma .rt-menu__icone { width: 19px; height: 19px; }
  .rt-menu__idioma .rt-menu__painel { left: auto; right: 0; transform: translate(0, 6px); }
  .rt-menu__idioma[data-aberto] .rt-menu__painel { transform: translate(0, 0); }
  .rt-menu__idioma .rt-menu__painel::before { left: auto; right: 22px; margin-left: 0; }
  .rt-menu__baixar { margin-left: 10px; }
  .rt-menu__baixar .rt-menu__item { height: 36px; padding: 0 18px 0 12px; }
  .rt-menu__baixar .rt-menu__painel { left: auto; right: -8px; transform: translate(0, 6px); }
  .rt-menu__baixar[data-aberto] .rt-menu__painel { transform: translate(0, 0); }
  .rt-menu__baixar .rt-menu__painel::before { left: auto; right: 40px; margin-left: 0; }
}
.rt-aviso { position: fixed; left: 50%; top: 64px; transform: translate(-50%, -10px); z-index: 260; background: #3b2516; color: #fff6e0; padding: 10px 18px; border-radius: 99px; font-weight: 700; font-size: 14px; opacity: 0; pointer-events: none; transition: opacity .25s, transform .25s; }
.rt-aviso[data-visivel] { opacity: 1; transform: translate(-50%, 0); }

/* ---------- 4. secoes da home ------------------------------------------- */
/* Rolagem nativa (o modo de tela cheia saiu em 11/10). Cada palco e um
   desenho de 1440x848 em px; no desktop ele escala por --rt-escala (rt.js:
   a largura E a altura util da tela, para cada secao caber inteira numa
   dobra, entre .55 e 1.25) e a secao fica com a altura do palco escalado
   (848 * escala: a margem negativa desconta o que o scale() encolheu ou
   cresceu, sem buraco nem sobreposicao). O hero ocupa a primeira dobra.
   As secoes nao isolam o empilhamento: o fundo de cada uma (z-index -2) vai
   para o contexto do .rt-trilho, abaixo do conteudo de TODAS, e por isso o
   fundo de uma secao pode subir sobre o fim da anterior na emenda (secao 5,
   "emendas") sem cobrir nada que nao seja fundo. */
html:has(.rt-trilho) { scroll-padding-top: var(--rt-topo-altura); }
@media (prefers-reduced-motion: no-preference) { html:has(.rt-trilho) { scroll-behavior: smooth; } }
.rt-trilho { position: relative; isolation: isolate; overflow-x: clip; }
.rt-secao { position: relative; display: flow-root; overflow-x: clip; }
.rt-secao:first-child { padding-top: var(--rt-topo-altura); }
.rt-hero { min-height: 100vh; min-height: 100svh; }
.rt-palco { position: relative; width: 1440px; height: 848px; margin: 0 auto; }
@media (min-width: 1024px) {
  /* centrado mesmo quando os 1440px passam da largura da tela (a escala encolhe so o desenho) */
  .rt-palco { left: 50%; margin: 0 0 calc(848px * (var(--rt-escala) - 1)) -720px; transform: scale(var(--rt-escala)); transform-origin: top center; }
  .rt-hero { display: flex; flex-direction: column; justify-content: center; }
  .rt-hero .rt-palco { flex: none; }
}
/* entrada dos elementos quando a secao fica ativa */
.rt-entra { opacity: 0; transform: translateY(26px); transition: opacity .7s ease .25s, transform .7s cubic-bezier(.2, .8, .2, 1) .25s; }
.rt-secao.rt-visivel .rt-entra { opacity: 1; transform: none; }
.rt-entra--2 { transition-delay: .4s; }
.rt-entra--3 { transition-delay: .55s; }
.rt-entra--pop { transform: scale(.4); transition: opacity .5s ease .6s, transform .7s cubic-bezier(.3, 1.6, .5, 1) .6s; }
.rt-sem-js .rt-entra { opacity: 1; transform: none; }

/* ---------- 5. fundos de secao ------------------------------------------ */
.rt-fundo { position: absolute; inset: 0; z-index: -2; background: #f3e2bb center / cover no-repeat; }
.rt-fundo--mapa { background-image: linear-gradient(rgba(255, 246, 225, .38), rgba(255, 238, 205, .45)), url(arte/mapa.jpg); background-size: cover; filter: sepia(.35) saturate(.8) brightness(1.08); }
.rt-fundo--mapa-cor { background-image: linear-gradient(rgba(255, 250, 235, .30), rgba(255, 245, 225, .35)), url(arte/mapa.jpg); background-size: cover; filter: saturate(.75) brightness(1.1) hue-rotate(-8deg); }
.rt-fundo--pedras { background: #f3c868 url(arte/pedras.svg) 0 0 / 360px repeat; }
.rt-fundo--pedras::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 40%, rgba(255, 249, 220, .55), rgba(255, 240, 200, 0) 60%), radial-gradient(ellipse at 50% 50%, transparent 55%, rgba(170, 100, 20, .3)); }
.rt-fundo--mesa::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 45%, rgba(255, 248, 228, .5), transparent 55%), radial-gradient(ellipse at 50% 50%, transparent 50%, rgba(110, 60, 20, .45)); }
/* raios de luz de janela */
.rt-raios { position: absolute; inset: -10% -20%; z-index: -1; pointer-events: none; background: repeating-linear-gradient(115deg, rgba(255, 255, 255, 0) 0 90px, rgba(255, 252, 235, .42) 90px 210px, rgba(255, 255, 255, 0) 210px 330px); filter: blur(18px); mix-blend-mode: soft-light; animation: rt-raios 14s ease-in-out infinite alternate; }
.rt-raios--fortes { mix-blend-mode: screen; opacity: .55; }
@keyframes rt-raios { from { transform: translateX(-2%); opacity: .7; } to { transform: translateX(2%); opacity: 1; } }
/* particulas (geradas pelo rt.js dentro de .rt-particulas) */
.rt-particulas { position: absolute; inset: 0; z-index: -1; pointer-events: none; overflow: hidden; }
.rt-particulas i { position: absolute; bottom: -20px; width: var(--t, 6px); height: var(--t, 6px); border-radius: 50%; background: radial-gradient(circle, #fffbe0 0, rgba(255, 230, 140, .9) 35%, rgba(255, 220, 120, 0) 70%); animation: rt-sobe var(--d, 9s) linear var(--a, 0s) infinite; opacity: 0; }
.rt-particulas--petalas i { width: calc(var(--t, 8px) * 1.6); height: var(--t, 8px); border-radius: 80% 10% 80% 10%; background: linear-gradient(135deg, #ffd6e3, #f59ab8); animation-name: rt-cai; top: -20px; bottom: auto; }
@keyframes rt-sobe { 0% { transform: translate(0, 0); opacity: 0; } 15% { opacity: 1; } 85% { opacity: .9; } 100% { transform: translate(var(--x, 40px), -105vh); opacity: 0; } }
@keyframes rt-cai { 0% { transform: translate(0, 0) rotate(0); opacity: 0; } 10% { opacity: .95; } 100% { transform: translate(var(--x, -120px), 105vh) rotate(540deg); opacity: 0; } }
/* enfeites nas bordas */
.rt-enfeite { position: absolute; z-index: 0; pointer-events: none; filter: drop-shadow(0 10px 12px rgba(60, 30, 10, .35)); }

/* 5b. home: fundo fixo e emendas. O mesmo efeito das subpaginas (la o
   .rt-fundo e position: fixed): o desenho do fundo fica parado na tela e o
   conteudo rola por cima, entao secoes seguidas com o mesmo fundo (Noticias,
   Classes, Sistemas) viram um fundo continuo, sem costura. Aqui e
   background-attachment: fixed (o position: fixed escaparia da secao); onde
   nao ha suporte (iOS) o fundo so rola junto, como antes. O hero rola com a
   arte. Na emenda, o fundo de cada secao sobe --rt-emenda sobre o fim da
   anterior e aparece num degrade (mask), por baixo do conteudo das duas:
   fundos diferentes se fundem, iguais nao mudam nada. */
.rt-trilho { --rt-emenda: clamp(90px, 16vh, 180px); }
.rt-secao:not(.rt-hero) > .rt-fundo, .rt-secao:not(.rt-hero) > .rt-fundo::after { background-attachment: fixed; }
.rt-secao + .rt-secao > .rt-fundo { top: calc(-1 * var(--rt-emenda)); -webkit-mask-image: linear-gradient(transparent, #000 var(--rt-emenda)); mask-image: linear-gradient(transparent, #000 var(--rt-emenda)); }
.rt-secao > .rt-raios { inset: 0 -20%; }
.rt-trilho > .rt-rodape::before { content: ""; position: absolute; left: 0; right: 0; bottom: 100%; height: var(--rt-emenda); z-index: -1; pointer-events: none; background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, .3) 55%, #000); }
@media (max-width: 1023px) { .rt-trilho { --rt-emenda: 72px; } }
/* O hero nao recebe a emenda: a secao logo depois dele comeca seca (pedido do dono, 11/10). */
.rt-hero + .rt-secao > .rt-fundo { top: 0; -webkit-mask-image: none; mask-image: none; }

/* ---------- 6. titulos --------------------------------------------------- */
/* 6a. titulo cartoon (creme, contorno vermelho, borda branca, sombra 3D) */
.rt-titulo { position: relative; margin: 0; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 84px; line-height: .98; letter-spacing: 1px; text-align: center; color: #fff4c6; -webkit-text-stroke: 9px #d4402f; paint-order: stroke fill; filter: drop-shadow(0 3px 0 #fff) drop-shadow(0 -3px 0 #fff) drop-shadow(3px 0 0 #fff) drop-shadow(-3px 0 0 #fff) drop-shadow(0 7px 0 #b02c22) drop-shadow(0 12px 10px rgba(110, 40, 10, .35)); }
.rt-titulo span { display: block; }
.rt-titulo--grande { font-size: 96px; }
.rt-titulo__borla { position: absolute; width: 270px; height: 90px; pointer-events: none; }
/* 6b. placa de madeira (Noticias, Classes, Sistemas) */
.rt-placa { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 20px; min-width: 268px; height: 66px; padding: 0 44px; margin: 0; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 34px; line-height: 1; color: #fdf1d8; -webkit-text-stroke: 5px #7c4b31; paint-order: stroke fill; text-shadow: 0 3px 0 #7c4b31; background: linear-gradient(#e6c6a4, #d2a982 55%, #c4986f); border: 4px solid #8d5b3d; border-radius: 6px; box-shadow: inset 0 0 0 3px #f2dcc0, inset 0 -6px 0 rgba(120, 70, 40, .25), 0 6px 0 #6e4329, 0 12px 18px rgba(70, 35, 15, .35); }
.rt-placa::before, .rt-placa::after { content: ""; width: 0; height: 0; border: 9px solid transparent; flex: none; -webkit-text-stroke: 0; }
.rt-placa::before { border-left: 12px solid #fdf1d8; border-right: 0; filter: drop-shadow(0 2px 0 #7c4b31); }
.rt-placa::after { border-right: 12px solid #fdf1d8; border-left: 0; filter: drop-shadow(0 2px 0 #7c4b31); }
.rt-placa__cantos { position: absolute; inset: -9px -14px; pointer-events: none; background:
  linear-gradient(#8d5b3d, #8d5b3d) left top / 10px 10px no-repeat, linear-gradient(#8d5b3d, #8d5b3d) right top / 10px 10px no-repeat,
  linear-gradient(#8d5b3d, #8d5b3d) left bottom / 10px 10px no-repeat, linear-gradient(#8d5b3d, #8d5b3d) right bottom / 10px 10px no-repeat; }
.rt-placa__icone { position: absolute; left: 50%; top: -46px; width: 60px; height: auto; transform: translateX(-50%); filter: drop-shadow(0 3px 0 rgba(90, 50, 20, .35)); animation: rt-flutua 3.2s ease-in-out infinite; }
.rt-cabeca { position: absolute; left: 0; right: 0; top: 128px; display: flex; justify-content: center; z-index: 3; }

/* ---------- 7. botoes ---------------------------------------------------- */
.rt-botao { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 46px; padding: 0 26px; border-radius: 99px; border: 3px solid #fff1d2; font-family: var(--rt-fonte-titulo); font-size: 20px; letter-spacing: .3px; color: #fff; text-decoration: none; cursor: pointer; background: linear-gradient(#f39a52, #e0702d); box-shadow: 0 4px 0 #a3471b, 0 8px 14px rgba(90, 40, 10, .3), inset 0 2px 0 rgba(255, 255, 255, .4); text-shadow: 0 2px 0 rgba(120, 50, 10, .45); transition: transform .2s, filter .2s; }
.rt-botao:hover { transform: translateY(-2px); filter: brightness(1.07); }
.rt-botao:active { transform: translateY(2px); }
.rt-botao--vermelho { background: linear-gradient(#f0614a, #c9302a); box-shadow: 0 4px 0 #7d1a15, 0 8px 14px rgba(90, 20, 10, .3), inset 0 2px 0 rgba(255, 255, 255, .35); }
.rt-botao--madeira { background: linear-gradient(#c88b5f, #9e6340); box-shadow: 0 4px 0 #64391f, 0 8px 14px rgba(60, 30, 10, .3), inset 0 2px 0 rgba(255, 255, 255, .3); }
/* pilula de papel (Noticias) com mascote na ponta */
.rt-pilula { position: relative; display: inline-flex; align-items: center; gap: 10px; height: 50px; padding: 0 24px 0 68px; border-radius: 99px; text-decoration: none; font-family: var(--rt-fonte-titulo); font-size: 19px; color: #fff7e4; -webkit-text-stroke: 3px #b55a2b; paint-order: stroke fill; background: linear-gradient(#f7b46d, #e98a46); border: 3px solid #fff0cf; box-shadow: 0 0 0 3px #d18548, 0 5px 0 3px #9e5527, 0 10px 16px rgba(80, 40, 10, .3); transition: transform .3s; }
.rt-pilula:hover { transform: translateY(-3px) scale(1.03); }
.rt-pilula img { position: absolute; left: 12px; top: 50%; width: 46px; transform: translateY(-50%); }
/* seta circular */
.rt-seta { position: absolute; z-index: 4; width: 114px; height: 114px; border-radius: 50%; border: 0; padding: 0; cursor: pointer; background: radial-gradient(circle at 50% 38%, #e2473a 0, #c22d25 52%, #8f1b17 100%); box-shadow: 0 0 0 5px #fbe9d0, 0 0 0 7px #d9b58e, 0 8px 0 5px #b48a63, 0 14px 22px rgba(90, 30, 10, .35), inset 0 -8px 12px rgba(80, 10, 5, .45), inset 0 6px 8px rgba(255, 160, 140, .35); transition: transform .3s; }
.rt-seta:hover { transform: scale(1.07); }
.rt-seta:active { transform: scale(.96); }
.rt-seta svg { width: 56%; height: 56%; display: block; margin: auto; filter: drop-shadow(0 3px 0 rgba(90, 20, 10, .45)); }
.rt-seta--bronze { width: 88px; height: 88px; background: radial-gradient(circle at 50% 40%, #c79470 0, #a5704c 55%, #7a4a2f 100%); box-shadow: 0 0 0 4px #e8cfb2, 0 0 0 6px #9b6a49, 0 8px 18px rgba(60, 30, 10, .4), inset 0 -6px 10px rgba(60, 25, 10, .45), inset 0 4px 6px rgba(255, 220, 190, .45); }
/* paginacao em pilula */
.rt-paginas { position: absolute; display: flex; align-items: center; justify-content: space-evenly; gap: 6px; height: 48px; padding: 0 36px; border-radius: 99px; background: linear-gradient(#fff3c2, #fde59a); box-shadow: inset 0 0 0 2px #f7d784, 0 3px 0 #e8bd6d; }
.rt-paginas::before, .rt-paginas::after { content: ""; position: absolute; top: -2px; bottom: -2px; width: 22px; border: 6px solid #d1453a; border-radius: 99px; }
.rt-paginas::before { left: -4px; border-right: 0; border-top-right-radius: 0; border-bottom-right-radius: 0; }
.rt-paginas::after { right: -4px; border-left: 0; border-top-left-radius: 0; border-bottom-left-radius: 0; }
.rt-paginas__fio { position: absolute; left: 30px; right: 30px; top: 50%; border-top: 3px dotted #f0c873; z-index: 0; }
.rt-paginas button { position: relative; z-index: 1; width: 40px; height: 40px; padding: 0; border: 0; background: none; cursor: pointer; color: #f2c46c; transition: transform .3s, color .3s; }
.rt-paginas button svg { width: 100%; height: 100%; }
.rt-paginas button[aria-current="true"] { color: #d8392c; transform: scale(1.2); }
.rt-paginas--estrelas { background: linear-gradient(#fbe6bf, #f6d8a2); box-shadow: inset 0 0 0 2px #e9c58b, 0 0 0 4px #fbf1dc, 0 0 0 5px #e2c69a; }
.rt-paginas--estrelas::before, .rt-paginas--estrelas::after { display: none; }
.rt-paginas--estrelas .rt-paginas__fio { border-top: 2px dotted #d3a86c; }
.rt-paginas--estrelas button { color: #c99a62; width: 26px; }
.rt-paginas--estrelas button[aria-current="true"] { color: #8d5b3d; transform: scale(1.9); }

/* ---------- 8. carrossel ------------------------------------------------- */
.rt-carrossel { position: relative; overflow: hidden; touch-action: pan-y; }
.rt-carrossel__trilho { display: flex; height: 100%; transition: transform .6s cubic-bezier(.5, 0, .2, 1); }
.rt-carrossel__item { flex: 0 0 100%; height: 100%; position: relative; }
.rt-carrossel--fade .rt-carrossel__trilho { display: grid; grid-template: 100% / 100%; }
.rt-carrossel--fade .rt-carrossel__item { grid-area: 1 / 1; opacity: 0; transition: opacity .7s; }
.rt-carrossel--fade .rt-carrossel__item[data-ativo] { opacity: 1; }

/* ---------- 9. moldura: livro aberto (Informacoes) ---------------------- */
.rt-livro { position: absolute; left: 136px; top: 54px; width: 1168px; height: 668px; }
.rt-livro__capa { position: absolute; inset: 0; border-radius: 38px; background: linear-gradient(90deg, #6f6a73, #8e8792 6%, #7b7480 50%, #8e8792 94%, #6f6a73); box-shadow: inset 0 0 0 4px #5d5862, inset 0 0 0 9px #a59fa8, 0 14px 0 #5a5560, 0 26px 40px rgba(90, 50, 10, .45); }
.rt-livro__capa::before { content: ""; position: absolute; inset: 22px 16px; border-radius: 26px; background: linear-gradient(#c9b48a, #b19d75); }
.rt-livro__fecho { position: absolute; right: -30px; top: 50%; width: 46px; height: 110px; margin-top: -55px; border-radius: 0 18px 18px 0; background: linear-gradient(90deg, #6a4c3a, #8c6a55); box-shadow: inset 0 0 0 3px #4d3527, 0 6px 10px rgba(0,0,0,.25); }
.rt-livro__canto { position: absolute; width: 70px; height: 110px; background: linear-gradient(135deg, #f1e3c4, #cbb388); border: 4px solid #8f7f6a; border-radius: 20px 8px 8px 20px; box-shadow: inset 0 0 0 4px #e9d9b6, 0 6px 8px rgba(0,0,0,.25); }
.rt-livro__canto::after { content: ""; position: absolute; left: 50%; top: 50%; width: 20px; height: 20px; margin: -10px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #fff, #b9a787 60%, #7e6c55); }
.rt-livro__canto--a { left: -38px; top: 130px; } .rt-livro__canto--b { left: -38px; bottom: 120px; }
.rt-livro__paginas { position: absolute; inset: 28px 54px 42px; display: flex; }
.rt-livro__pagina { position: relative; flex: 1; background: radial-gradient(ellipse at 50% 45%, rgba(255,255,255,.6), transparent 70%), linear-gradient(90deg, #f6f0e2, #f1ead9 85%, #ddd2ba); box-shadow: 0 0 0 1px #d9ccb0, 3px 3px 0 #e8dec8, 6px 6px 0 #d8ccb2, 9px 9px 0 #e8dec8, 12px 12px 0 #cdbf9f; border-radius: 6px 2px 2px 12px; }
.rt-livro__pagina + .rt-livro__pagina { background: radial-gradient(ellipse at 50% 45%, rgba(255,255,255,.6), transparent 70%), linear-gradient(270deg, #f6f0e2, #f1ead9 85%, #ddd2ba); border-radius: 2px 6px 12px 2px; box-shadow: 0 0 0 1px #d9ccb0, -3px 3px 0 #e8dec8, -6px 6px 0 #d8ccb2, -9px 9px 0 #e8dec8, -12px 12px 0 #cdbf9f; }
.rt-livro__pagina::after { content: ""; position: absolute; inset: 0; background: url(arte/mapa.jpg) center 60% / 160% no-repeat; opacity: .05; mix-blend-mode: multiply; border-radius: inherit; }

/* medalhoes */
.rt-medalhas { position: absolute; left: 0; right: 0; top: 276px; display: flex; justify-content: center; gap: 28px; }
.rt-medalhas::before { content: ""; position: absolute; left: 230px; right: 230px; top: 100px; height: 10px; background: linear-gradient(#cdbb94, #b7a37b); border-radius: 4px; z-index: -1; }
.rt-medalha { position: relative; width: 182px; text-align: center; }
.rt-medalha__disco { position: relative; width: 162px; height: 162px; margin: 0 auto; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle, #fffbe6 0, #fff3b8 42%, #fde07a 72%, #f6c04c 100%); box-shadow: 0 0 0 5px #fff2c9, 0 0 0 7px #f3c35a, 0 0 26px 8px rgba(255, 214, 94, .65); transition: transform .35s; }
.rt-medalha__disco::before { content: ""; position: absolute; inset: 10px; border-radius: 50%; border: 2px dashed rgba(220, 150, 40, .55); }
.rt-medalha:hover .rt-medalha__disco { transform: translateY(-6px) rotate(-3deg); }
.rt-medalha__disco img { position: relative; width: 92px; height: 92px; object-fit: contain; margin-top: -16px; filter: drop-shadow(0 4px 2px rgba(120, 70, 20, .3)); }
.rt-medalha__fita { position: relative; margin: -50px -6px 0; height: 46px; display: flex; align-items: center; justify-content: center; gap: 1px; border-radius: 6px 6px 12px 12px; background: linear-gradient(#e2493b, #c3302a 60%, #a3241f); box-shadow: inset 0 2px 0 rgba(255, 255, 255, .3), 0 4px 0 #7e1a16, 0 7px 10px rgba(100, 20, 10, .3); font-family: var(--rt-fonte-titulo); font-size: 29px; color: #fff; text-shadow: 0 2px 0 #7e1a16; line-height: 1; }
.rt-medalha__fita small { font-size: 15px; }
.rt-medalha__estado { margin-top: 10px; font-weight: 800; font-size: 17px; color: #a8302a; line-height: 1.2; }
.rt-medalha__estado small { display: block; margin-top: 3px; font-size: 14px; font-weight: 700; color: #8b6a52; }
.rt-medalha__estado::before { content: "\2714\FE0E  "; }
.rt-medalha--futura .rt-medalha__disco { background: radial-gradient(circle, #fff 0, #eeeeee 45%, #cfcfcf 80%, #b9b9b9); box-shadow: 0 0 0 5px #f3f3f3, 0 0 0 7px #bdbdbd, 0 0 20px 6px rgba(255, 255, 255, .7); }
.rt-medalha--futura .rt-medalha__disco::before { border-color: rgba(120, 120, 120, .5); }
.rt-medalha--futura .rt-medalha__disco img { filter: grayscale(1) contrast(.9) brightness(1.1); }
.rt-medalha--futura .rt-medalha__fita { background: linear-gradient(#a7a7a7, #8c8c8c); box-shadow: inset 0 2px 0 rgba(255,255,255,.35), 0 4px 0 #6b6b6b; text-shadow: 0 2px 0 #5d5d5d; }
.rt-medalha--futura .rt-medalha__estado { color: #6f6f6f; }
.rt-medalha--futura .rt-medalha__estado::before { content: ""; }

/* ---------- 10. moldura de couro e papel (Eventos) ---------------------- */
.rt-quadro { position: absolute; background: #b8613a; border-radius: 28px; padding: 16px; box-shadow: inset 0 0 0 3px #8b4024, inset 0 0 0 7px #cf7f55, 0 10px 0 #7a3a20, 0 22px 36px rgba(80, 35, 10, .4); }
.rt-quadro::before { content: ""; position: absolute; inset: 9px; border: 2px dashed rgba(255, 226, 190, .75); border-radius: 22px; pointer-events: none; }
.rt-quadro__papel { position: relative; width: 100%; height: 100%; border-radius: 14px; background: radial-gradient(ellipse at 50% 40%, #fffaf0, #f7edd8 70%, #eedfc0); box-shadow: inset 0 0 0 2px #e6d4b0, inset 0 0 30px rgba(190, 150, 90, .3); }
.rt-quadro__papel::before { content: ""; position: absolute; inset: 22px; border: 2px solid #ead8b6; border-radius: 6px; pointer-events: none; background:
  radial-gradient(circle at 0 0, transparent 14px, #ead8b6 14px 16px, transparent 16px) left top / 34px 34px no-repeat,
  radial-gradient(circle at 100% 0, transparent 14px, #ead8b6 14px 16px, transparent 16px) right top / 34px 34px no-repeat,
  radial-gradient(circle at 0 100%, transparent 14px, #ead8b6 14px 16px, transparent 16px) left bottom / 34px 34px no-repeat,
  radial-gradient(circle at 100% 100%, transparent 14px, #ead8b6 14px 16px, transparent 16px) right bottom / 34px 34px no-repeat; }

/* slide de evento: carta + texto, composto em CSS */
.rt-evento { position: absolute; inset: 0; overflow: hidden; display: grid; grid-template-columns: 44% 56%; align-items: center; background: var(--fundo, linear-gradient(135deg, #7d5cd6, #c27fe3)); color: #fff; }
.rt-evento::before { content: ""; position: absolute; inset: -50%; background: repeating-conic-gradient(from 0deg at 30% 50%, rgba(255, 255, 255, .13) 0 8deg, rgba(255, 255, 255, 0) 8deg 20deg); animation: rt-gira 40s linear infinite; }
.rt-evento__carta { position: relative; justify-self: center; width: 228px; aspect-ratio: 284 / 364; border-radius: 10px; overflow: hidden; border: 6px solid #ffe28c; box-shadow: 0 0 0 3px #b8781c, 0 16px 26px rgba(30, 10, 40, .45); transform: rotate(-5deg); animation: rt-flutua 4s ease-in-out infinite; }
.rt-evento__carta img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rt-evento__texto { position: relative; padding-right: 40px; }
.rt-evento__nome { margin: 0 0 12px; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 52px; line-height: 1; color: #fff7cf; -webkit-text-stroke: 6px #5a2c9a; paint-order: stroke fill; filter: drop-shadow(0 4px 0 #3c1d70); }
.rt-evento__fita { display: inline-block; margin: 0 0 14px; padding: 5px 18px; border-radius: 99px; background: linear-gradient(#6c5ce7, #4b3bb5); border: 2px solid #c9c0ff; font-weight: 800; font-size: 16px; color: #fff; }
.rt-evento__fita b { color: #ffd84d; }
.rt-evento__desc { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.45; text-shadow: 0 2px 4px rgba(30, 10, 50, .55); max-width: 30em; }

/* ---------- 11. caderno (Noticias) -------------------------------------- */
.rt-caderno { position: absolute; left: 178px; top: 230px; width: 1084px; height: 512px; border-radius: 6px; background: linear-gradient(#d7b88a, #c6a271); padding: 12px; box-shadow: inset 0 0 0 2px #a9814f, 0 18px 40px rgba(70, 35, 10, .4); }
.rt-caderno::before { content: ""; position: absolute; inset: -4px; border: 3px solid #e7cf9b; border-radius: 9px; pointer-events: none; background:
  linear-gradient(135deg, #f0d48e 0 50%, transparent 50%) left top / 36px 36px no-repeat,
  linear-gradient(225deg, #f0d48e 0 50%, transparent 50%) right top / 36px 36px no-repeat,
  linear-gradient(45deg, #f0d48e 0 50%, transparent 50%) left bottom / 36px 36px no-repeat,
  linear-gradient(315deg, #f0d48e 0 50%, transparent 50%) right bottom / 36px 36px no-repeat; }
.rt-caderno__folhas { position: relative; display: flex; height: 100%; }
.rt-caderno__folha { position: relative; flex: 1; background: linear-gradient(90deg, #f7f1e3, #f3ead6 92%, #e3d5b7); box-shadow: inset 0 0 0 1px #e1d2b1; }
.rt-caderno__folha + .rt-caderno__folha { background: linear-gradient(270deg, #f7f1e3, #f3ead6 92%, #e3d5b7); }
.rt-caderno__folha::after { content: ""; position: absolute; inset: 8px; border: 1px solid #e8dcc2; pointer-events: none; }
.rt-caderno__espiral { position: absolute; left: 50%; top: 0; bottom: 0; width: 26px; margin-left: -13px; background: linear-gradient(90deg, rgba(120, 80, 40, .25), rgba(255, 255, 255, .2) 50%, rgba(120, 80, 40, .25)); }
.rt-fita-adesiva { position: absolute; width: 110px; height: 30px; background: rgba(255, 255, 255, .55); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); transform: rotate(-35deg); z-index: 3; }
.rt-clipe { position: absolute; width: 22px; height: 58px; border: 4px solid #b9b9c4; border-radius: 12px; transform: rotate(-30deg); z-index: 3; }
.rt-clipe::after { content: ""; position: absolute; inset: 8px 3px 4px; border: 3px solid #cfd0d8; border-radius: 8px; border-top: 0; }
.rt-noticias__banner { position: absolute; left: 32px; top: 68px; width: 496px; height: 266px; border: 6px solid #fff; box-shadow: 0 0 0 1px #d8c9a8, 0 6px 14px rgba(80, 50, 20, .25); background: #eadcc0; }
.rt-noticias__banner .rt-carrossel { height: 100%; }
.rt-noticias__banner img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rt-noticias__banner figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 26px 16px 10px; background: linear-gradient(transparent, rgba(40, 20, 50, .8)); color: #fff; font-family: var(--rt-fonte-titulo); font-size: 22px; line-height: 1.1; text-shadow: 0 2px 0 rgba(0, 0, 0, .4); }
.rt-noticias__legenda { position: absolute; left: 32px; top: 352px; width: 496px; margin: 0; text-align: center; font-weight: 800; font-size: 18px; color: #a4704e; }
.rt-noticias__legenda::before { content: ""; display: block; width: 46px; height: 12px; margin: 0 auto 6px; background: radial-gradient(circle, #c9a17b 2px, transparent 3px) 0 0 / 12px 12px repeat-x; }
.rt-noticias__pontos { left: 170px; top: 408px; width: 222px; height: 26px; padding: 0 22px; }
.rt-noticias__pontos::before, .rt-noticias__pontos::after { display: none; }
.rt-noticias__pontos button { width: 16px; height: 16px; color: #e2c48a; }
.rt-noticias__pontos button[aria-current="true"] { color: #b77d4f; transform: scale(1.4); }
.rt-abas { position: absolute; left: 575px; top: 46px; width: 436px; }
.rt-abas__lista { display: flex; justify-content: space-between; align-items: center; padding: 0 0 8px; margin: 0; border-bottom: 2px solid #c9ab8a; }
.rt-abas__aba { border: 0; background: none; padding: 4px 10px; border-radius: 99px; font-weight: 800; font-size: 15px; color: #8a5a3b; cursor: pointer; transition: background .25s, color .25s; }
.rt-abas__aba:hover { color: #5e3a24; }
.rt-abas__aba[aria-selected="true"] { background: linear-gradient(#b48767, #9b6b4b); color: #fff7ea; box-shadow: inset 0 0 0 2px #e4c6a8, 0 0 0 1px #8b5d3e; }
.rt-abas__mais { font-weight: 800; font-size: 15px; color: #8a5a3b; text-decoration: none; display: inline-flex; align-items: center; gap: 4px; padding: 4px 4px; }
.rt-abas__mais::after { content: "+"; display: inline-grid; place-items: center; width: 15px; height: 15px; border: 2px solid currentColor; border-radius: 50%; font-size: 12px; line-height: 1; }
.rt-lista { list-style: none; margin: 10px 0 0; padding: 0 12px 0 8px; }
.rt-lista li { border-bottom: 1px dashed #d2bfa0; transition: transform .3s; }
.rt-lista li:hover { transform: translateX(4px); }
.rt-lista__linha { display: flex; justify-content: space-between; align-items: center; gap: 14px; width: 100%; min-height: 36px; padding: 6px 0; border: 0; background: none; cursor: pointer; text-align: left; font-size: 13.5px; font-weight: 700; color: #6b4a35; text-decoration: none; }
.rt-lista__linha span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rt-lista__linha time { flex: none; color: #8a6a52; font-size: 13px; }
.rt-lista__corpo { margin: 0 0 8px; font-size: 13.5px; color: #7c5a44; }
.rt-noticias__botoes { position: absolute; left: 575px; right: 50px; top: 374px; display: flex; justify-content: space-around; }

/* ---------- 12. classes ------------------------------------------------- */
.rt-classes { position: absolute; z-index: 1; left: 160px; right: 160px; top: 233px; height: 520px; display: flex; justify-content: center; align-items: flex-start; gap: 10px; }
.rt-classe { position: relative; flex: none; width: 112px; height: 478px; border: 0; padding: 0; background: none; cursor: pointer; transition: width .55s cubic-bezier(.5, 0, .2, 1), opacity .4s; }
.rt-classe[hidden] { display: none; }
.rt-classe__arco { position: absolute; inset: 0 0 26px; border-radius: 56px 56px 30px 30px; overflow: hidden; background: radial-gradient(circle at 50% 20%, #a87d5f, #7d5640 70%); box-shadow: 0 0 0 4px #f0d6b5, 0 0 0 7px #b2805b, 0 10px 18px rgba(60, 30, 10, .4); }
.rt-classe__arco::before { content: ""; position: absolute; left: 50%; top: 28px; width: 80px; height: 80px; margin-left: -40px; border-radius: 50%; border: 3px solid rgba(255, 220, 180, .25); box-shadow: 0 0 0 10px rgba(255, 220, 180, .08); }
.rt-classe__arco img { position: absolute; left: 50%; top: 60px; height: 400px; width: auto; max-width: none; transform: translateX(-50%); transition: transform .5s; }
.rt-classe:hover .rt-classe__arco img { transform: translateX(-50%) scale(1.05); }
.rt-classe__chifres { position: absolute; left: -12px; right: -12px; top: -14px; height: 34px; pointer-events: none; }
.rt-classe__gema { position: absolute; left: 50%; top: -18px; width: 22px; height: 28px; margin-left: -11px; clip-path: polygon(50% 0, 100% 40%, 50% 100%, 0 40%); background: linear-gradient(135deg, #fff 0, var(--gema, #5ad2f4) 40%, #1b5f8a 100%); filter: drop-shadow(0 0 4px var(--gema, #5ad2f4)); }
.rt-classe__nome { position: absolute; left: 6px; right: 6px; bottom: 58px; padding: 4px 4px; border-radius: 99px; background: rgba(150, 105, 80, .85); box-shadow: inset 0 0 0 2px #e9cfb1; font-family: var(--rt-fonte-titulo); font-size: 17px; line-height: 1.05; color: #fff3df; -webkit-text-stroke: 3px #6e4329; paint-order: stroke fill; text-align: center; }
.rt-classe__mais { position: absolute; left: 50%; bottom: 0; width: 50px; height: 50px; margin-left: -25px; border-radius: 50%; display: grid; place-items: center; background: radial-gradient(circle at 50% 35%, #f6c98d, #e09a56 60%, #b86a2e); box-shadow: 0 0 0 3px #fff0d8, 0 0 0 5px #c68449, 0 5px 8px rgba(80, 40, 10, .35); color: #fff; transition: transform .2s; }
.rt-classe__mais svg { width: 26px; height: 26px; }
.rt-classe:hover .rt-classe__mais { transform: rotate(90deg); }
/* cartao ativo: disco grande, personagem saindo do circulo */
.rt-classe[data-ativo] { width: 470px; cursor: default; }
.rt-classe[data-ativo] .rt-classe__arco { inset: 18px 4px 40px; border-radius: 50%; overflow: visible; background: radial-gradient(circle, #e9c9a8 0, #cf9f78 60%, #b07c56); box-shadow: 0 0 0 5px #f5e3cb, 0 0 0 7px #c39a74, 0 0 0 16px rgba(255, 240, 220, .35), 0 16px 30px rgba(60, 30, 10, .35); }
.rt-classe[data-ativo] .rt-classe__arco::before { inset: 26px; width: auto; height: auto; margin: 0; left: 26px; top: 26px; border: 2px dashed rgba(120, 70, 40, .35); box-shadow: none; }
.rt-classe[data-ativo] .rt-classe__arco::after { content: ""; position: absolute; inset: 0; border-radius: 50%; overflow: hidden; }
.rt-classe[data-ativo] .rt-classe__arco img { top: auto; bottom: 0; height: 462px; clip-path: inset(-200px -200px 0 -200px round 0 0 230px 230px); animation: rt-encolhe 1s ease; filter: drop-shadow(0 8px 10px rgba(60, 30, 10, .35)); }
.rt-classe[data-ativo] .rt-classe__chifres, .rt-classe[data-ativo] .rt-classe__gema { opacity: 0; }
.rt-classe[data-ativo] .rt-classe__nome { left: -20px; right: -20px; bottom: 78px; background: none; box-shadow: none; font-size: 70px; -webkit-text-stroke: 8px #8a5636; filter: drop-shadow(0 4px 0 #fff4df) drop-shadow(0 6px 8px rgba(60, 30, 10, .4)); animation: rt-encolhe 1s ease; }
.rt-classe[data-ativo] .rt-classe__mais { bottom: 14px; animation: rt-encolhe 1s ease; }
.rt-classe__frase { position: absolute; left: 40px; right: 40px; bottom: -56px; margin: 0; padding: 10px 18px; border-radius: 12px; background: rgba(255, 248, 232, .92); box-shadow: 0 0 0 2px #d8b895, 0 6px 14px rgba(70, 35, 15, .25); font-size: 15px; font-weight: 700; color: #6b4530; text-align: center; opacity: 0; transform: translateY(-8px); transition: opacity .4s .3s, transform .4s .3s; pointer-events: none; }
.rt-classe[data-ativo] .rt-classe__frase { opacity: 1; transform: none; }
.rt-classes__fantasma { position: absolute; left: 0; right: 0; top: 6px; margin: 0; z-index: 0; text-align: center; font-family: var(--rt-fonte-titulo); font-size: 230px; line-height: 1; color: rgba(255, 250, 235, .26); -webkit-text-stroke: 2px rgba(160, 110, 70, .18); transition: opacity .4s; pointer-events: none; white-space: nowrap; }

/* ---------- 13. folha de papel (Sistemas) ------------------------------- */
.rt-folha { position: absolute; inset: 0; background: linear-gradient(#fbf6ea, #f4ecda); box-shadow: 0 1px 0 #e1d3b4, 0 20px 30px rgba(70, 40, 10, .3); clip-path: polygon(0 1%, 12% 0, 40% .6%, 70% 0, 100% .8%, 99.6% 40%, 100% 99%, 60% 100%, 30% 99.4%, .4% 100%, 0 60%); }
.rt-folha__sombra { position: absolute; left: 222px; top: 212px; width: 1032px; height: 560px; filter: drop-shadow(0 18px 18px rgba(70, 40, 10, .35)) drop-shadow(0 2px 0 #e1d3b4); }
.rt-folha__ornato { position: absolute; left: 50%; top: 12px; width: 44px; height: 14px; margin-left: -22px; color: #d9c29d; }
.rt-sistemas { position: absolute; left: 368px; top: 300px; width: 740px; height: 370px; border: 4px solid #e9d7b3; outline: 1px dashed #c9ad80; outline-offset: 3px; background: #2a1d3d; }
.rt-sistemas .rt-carrossel { height: 100%; }
.rt-sistema { position: relative; height: 100%; overflow: hidden; }
.rt-sistema img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 6s ease; }
.rt-sistema[data-ativo] img { transform: scale(1.06); }
.rt-sistema__texto { position: absolute; left: 0; right: 0; bottom: 0; padding: 60px 30px 18px; text-align: center; background: linear-gradient(transparent, rgba(40, 20, 70, .55) 30%, rgba(40, 20, 70, .88)); color: #fff; }
.rt-sistema__nome { margin: 0; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 44px; line-height: 1.05; color: #fff8e6; -webkit-text-stroke: 5px #3b2160; paint-order: stroke fill; filter: drop-shadow(0 3px 0 #23113f); }
.rt-sistema__desc { display: inline-block; margin: 8px 0 0; padding: 4px 22px; border-radius: 99px; border: 2px solid rgba(220, 205, 255, .8); background: rgba(70, 50, 150, .55); font-size: 15.5px; font-weight: 700; line-height: 1.35; max-width: 640px; }
.rt-sistemas__pontos { left: 540px; top: 692px; width: 360px; height: 34px; padding: 0 20px; }
.rt-sistemas__intro { position: absolute; left: 330px; right: 330px; top: 236px; z-index: 2; margin: 0; text-align: center; font-size: 16px; font-weight: 700; line-height: 1.45; color: #6b4a35; }

/* chamada final da home (antes do rodape) */
.rt-final__cartao { position: absolute; left: 290px; top: 150px; width: 860px; padding: 46px 60px 44px; text-align: center; border-radius: 10px; background: linear-gradient(#fdf9ef, #f7efdc); box-shadow: 0 0 0 1px #e1d0ac, 0 0 0 8px #fbf4e4, 0 0 0 9px #d9c39a, var(--rt-sombra-funda); }
.rt-final__texto { max-width: 680px; margin: 30px auto 12px; font-size: 22px; font-weight: 800; line-height: 1.4; color: #6b4530; }
.rt-final__wiki { margin: 0; font-size: 17px; font-weight: 700; color: #8b6a52; }
.rt-final__wiki a { color: #b8352a; }
.rt-final__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px 20px; margin-top: 30px; }
.rt-final__botoes .rt-botao { min-height: 56px; padding: 0 42px; font-size: 24px; }

/* ---------- 14. hero ---------------------------------------------------- */
.rt-hero .rt-fundo { background-color: #f6d6dc; }
.rt-hero .rt-fundo { background-image: url(arte/hero.jpg); background-position: center 30%; }
.rt-hero .rt-fundo::after { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 60%, rgba(255, 240, 250, .22), transparent 60%), linear-gradient(180deg, rgba(255, 255, 255, 0) 55%, rgba(120, 70, 150, .35)); }
/* logo + atalhos num bloco so, centrado na dobra (o palco ja fica centrado
   abaixo do menu; aqui o bloco ocupa o palco inteiro e centra o conteudo) */
.rt-hero__centro { position: absolute; inset: 0; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 34px; padding-bottom: 24px; pointer-events: none; }
.rt-hero__centro > * { pointer-events: auto; }
.rt-logo { position: relative; margin: 0; text-align: center; z-index: 2; }
.rt-logo__img { display: block; width: 660px; max-width: 100%; height: auto; margin: 0 auto -6px; filter: drop-shadow(0 0 2px rgba(255, 255, 255, .7)) drop-shadow(0 10px 14px rgba(45, 20, 70, .45)); animation: rt-logo-entra 1.1s cubic-bezier(.2, .9, .3, 1.25) both, rt-logo-flutua 5.5s ease-in-out 1.1s infinite; will-change: transform; }
@keyframes rt-logo-entra { from { opacity: 0; transform: translateY(26px) scale(.86); } to { opacity: 1; transform: none; } }
@keyframes rt-logo-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-8px); } }
.rt-fita { position: relative; z-index: 2; display: block; margin: 16px auto 0; max-width: 820px; padding: 8px 30px; border-radius: 99px; background: linear-gradient(#6f5ae6, #4b38bf); border: 3px solid #d5ccff; box-shadow: 0 4px 0 #2e1f86, 0 8px 18px rgba(40, 20, 90, .4); color: #fff; font-weight: 800; font-size: 18px; line-height: 1.35; text-align: center; }
.rt-fita b { color: #ffd84d; }
.rt-destaque { position: absolute; right: 44px; top: 522px; z-index: 3; display: inline-flex; align-items: center; justify-content: center; width: 278px; height: 66px; border-radius: 99px; text-decoration: none; font-family: var(--rt-fonte-titulo); font-size: 34px; letter-spacing: 1px; color: #fff4c6; -webkit-text-stroke: 5px #b8231b; paint-order: stroke fill; background: linear-gradient(#ff6f5c, #e23a2c 55%, #c42820); border: 3px solid #ffd7c8; box-shadow: 0 0 0 4px #e85640, inset 0 0 0 3px rgba(255, 255, 255, .25), 0 6px 0 4px #9b1d16, 0 14px 22px rgba(120, 20, 10, .4); cursor: pointer; animation: rt-pulsa 2.2s ease-in-out infinite; }
.rt-destaque::before { content: ""; position: absolute; inset: 6px 14px; border: 2px dashed rgba(255, 230, 210, .7); border-radius: 99px; }
.rt-destaque img { position: absolute; right: -16px; top: -26px; width: 52px; transform: rotate(14deg); }
.rt-downloads { position: absolute; left: 50%; transform: translateX(-50%); top: 650px; display: flex; align-items: center; gap: 22px; z-index: 3; }
.rt-tile { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 152px; height: 128px; padding-bottom: 14px; border-radius: 22px; text-decoration: none; font-family: var(--rt-fonte-titulo); font-size: 18px; line-height: 1.05; text-align: center; color: #fff; text-shadow: 0 2px 0 rgba(60, 30, 120, .5); transition: transform .3s; }
.rt-tile:hover { transform: translateY(-5px) scale(1.03); }
.rt-tile--lilas { background: linear-gradient(#d9c8ff, #a98cf5); border: 4px solid #fff; box-shadow: 0 0 0 4px #b49af3, 0 8px 0 4px #7d63c8, 0 14px 24px rgba(60, 30, 120, .45); }
.rt-tile--turquesa { background: linear-gradient(#8ff0ee, #39bfc4); border: 4px solid #fff; box-shadow: 0 0 0 4px #57d3d4, 0 8px 0 4px #2a8e93, 0 14px 24px rgba(20, 80, 90, .45); text-shadow: 0 2px 0 rgba(10, 80, 90, .55); }
.rt-tile svg { width: 64px; height: 56px; margin-bottom: 6px; filter: drop-shadow(0 3px 0 rgba(60, 30, 120, .35)); }
.rt-tile__asa { position: absolute; top: -12px; width: 44px; height: 30px; }
.rt-tile__asa--e { left: -14px; transform: scaleX(-1); } .rt-tile__asa--d { right: -14px; }
.rt-tile__etiqueta { position: absolute; bottom: -22px; left: 50%; transform: translateX(-50%); padding: 2px 12px; border-radius: 8px; background: #fbe3b8; border: 2px solid #c9874a; color: #8a4c22; text-shadow: none; font-family: var(--rt-fonte); font-weight: 800; font-size: 14px; white-space: nowrap; }
.rt-tile__mob { position: absolute; right: -26px; top: -40px; width: 64px; animation: rt-flutua 3s ease-in-out infinite; }
.rt-pilulas { display: grid; grid-template-columns: repeat(2, 262px); gap: 16px 22px; }
.rt-pilula-escura { position: relative; display: flex; align-items: center; gap: 12px; height: 58px; padding: 0 22px; border-radius: 99px; text-decoration: none; color: #fff; background: linear-gradient(#2a2238, #0e0b16); border: 3px solid #a58cff; box-shadow: 0 0 0 3px #3d2a83, 0 6px 0 3px #2a1d63, 0 10px 22px rgba(50, 20, 120, .5), inset 0 2px 0 rgba(255, 255, 255, .15); transition: transform .3s, box-shadow .3s; }
.rt-pilula-escura:hover { transform: translateY(-3px); box-shadow: 0 0 0 3px #6f52e6, 0 6px 0 3px #2a1d63, 0 12px 26px rgba(90, 50, 220, .55), inset 0 2px 0 rgba(255, 255, 255, .15); }
.rt-pilula-escura svg { width: 32px; height: 32px; flex: none; }
.rt-pilula-escura span { display: flex; flex-direction: column; line-height: 1.05; font-family: var(--rt-fonte-titulo); font-size: 23px; }
.rt-pilula-escura small { font-family: var(--rt-fonte); font-weight: 700; font-size: 12px; opacity: .85; letter-spacing: .3px; }
.rt-mascote { position: absolute; z-index: 2; height: auto; pointer-events: none; animation: rt-flutua var(--d, 3.4s) ease-in-out var(--a, 0s) infinite; filter: drop-shadow(0 10px 8px rgba(80, 30, 60, .3)); }
/* atalhos do hero: <a class="rt-atalho rt-atalho--COR"> com arte do jogo num
   medalhao, rotulo pequeno e titulo. Cores: --c1/--c2 (degrade), --c3 (borda
   clara), --c4 (aro e contorno do texto), --c5 (degrau de baixo). */
.rt-atalho-hero { display: grid; grid-template-columns: repeat(6, 214px); gap: 16px; }
.rt-atalho { --c1: #ff7a5c; --c2: #d8352a; --c3: #ffd3c4; --c4: #a3231b; --c5: #7d1711;
  position: relative; display: flex; align-items: center; gap: 10px; height: 76px; padding: 0 14px 0 9px; border-radius: 24px; text-decoration: none; color: #fff;
  background: linear-gradient(172deg, var(--c1), var(--c2) 78%); border: 3px solid var(--c3);
  box-shadow: 0 0 0 3px var(--c4), 0 7px 0 3px var(--c5), 0 14px 22px rgba(40, 18, 60, .38), inset 0 2px 0 rgba(255, 255, 255, .4), inset 0 -6px 10px rgba(0, 0, 0, .12);
  transition: transform .3s cubic-bezier(.3, 1.6, .5, 1), box-shadow .3s, filter .3s;
  animation: rt-atalho-entra .6s cubic-bezier(.2, .9, .3, 1.2) both; animation-delay: calc(.55s + var(--i, 0) * 70ms); }
.rt-atalho:nth-child(2) { --i: 1; } .rt-atalho:nth-child(3) { --i: 2; } .rt-atalho:nth-child(4) { --i: 3; } .rt-atalho:nth-child(5) { --i: 4; } .rt-atalho:nth-child(6) { --i: 5; }
.rt-atalho--ouro { --c1: #ffd86e; --c2: #e3961a; --c3: #fff1c2; --c4: #9a5a08; --c5: #6f4005; }
.rt-atalho--roxo { --c1: #a58cff; --c2: #5b3fb6; --c3: #ddd3ff; --c4: #3d2a83; --c5: #2a1d63; }
.rt-atalho--turquesa { --c1: #74e3e1; --c2: #1f9ca3; --c3: #ccf7f5; --c4: #136a70; --c5: #0c4b50; }
.rt-atalho--madeira { --c1: #dca06e; --c2: #9a5b36; --c3: #f6dab8; --c4: #6b3a22; --c5: #4a2615; }
.rt-atalho--rosa { --c1: #ff9dc6; --c2: #d4508c; --c3: #ffdcec; --c4: #962760; --c5: #6e1a46; }
/* brilho que atravessa o botao no hover, e o verniz da metade de cima */
.rt-atalho::before, .rt-atalho::after { content: ""; position: absolute; inset: 0; border-radius: 21px; pointer-events: none; }
.rt-atalho::after { inset: 3px 6px 50%; border-radius: 18px 18px 40% 40% / 18px 18px 14px 14px; background: linear-gradient(rgba(255, 255, 255, .3), rgba(255, 255, 255, 0)); }
.rt-atalho::before { background: linear-gradient(110deg, transparent 38%, rgba(255, 255, 255, .55) 50%, transparent 62%) no-repeat; background-size: 260% 100%; background-position: 140% 0; transition: background-position .7s ease; }
.rt-atalho__arte { position: relative; z-index: 1; flex: none; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%;
  background: radial-gradient(circle at 50% 36%, #fff 0, #fff8e6 48%, var(--c3) 100%); box-shadow: 0 0 0 3px var(--c4), inset 0 -5px 0 rgba(90, 50, 20, .1), 0 3px 0 2px rgba(0, 0, 0, .12); }
.rt-atalho__arte img { width: 44px; height: 48px; object-fit: contain; filter: drop-shadow(0 3px 2px rgba(40, 20, 40, .35)); transform-origin: 50% 100%; }
.rt-atalho__arte img.rt-atalho__mob { width: 56px; height: auto; margin-top: -14px; }
.rt-atalho__arte img.rt-atalho__retrato { width: 100%; height: 100%; border-radius: 50%; object-fit: cover; object-position: 62% 4%; filter: none; transform-origin: 50% 50%; }
.rt-atalho__texto { position: relative; z-index: 1; display: flex; flex-direction: column; min-width: 0; line-height: 1; font-family: var(--rt-fonte-titulo); font-size: 22px; letter-spacing: .2px; white-space: nowrap; color: #fff; -webkit-text-stroke: 4px var(--c4); paint-order: stroke fill; text-shadow: 0 3px 0 var(--c5); }
.rt-atalho__texto small { margin-bottom: 4px; font-family: var(--rt-fonte); font-weight: 900; font-size: 11.5px; letter-spacing: .7px; text-transform: uppercase; -webkit-text-stroke: 0; color: #fff; text-shadow: 0 1px 0 var(--c4), 0 0 3px var(--c4), 0 0 1px var(--c4); }
.rt-atalho:hover, .rt-atalho:focus-visible { transform: translateY(-7px) scale(1.04); filter: brightness(1.07) saturate(1.12);
  box-shadow: 0 0 0 3px var(--c4), 0 11px 0 3px var(--c5), 0 24px 30px rgba(40, 18, 60, .42), 0 0 28px 6px rgba(255, 246, 214, .55), inset 0 2px 0 rgba(255, 255, 255, .4), inset 0 -6px 10px rgba(0, 0, 0, .12); }
.rt-atalho:hover::before, .rt-atalho:focus-visible::before { background-position: -40% 0; }
.rt-atalho:hover .rt-atalho__arte img, .rt-atalho:focus-visible .rt-atalho__arte img { animation: rt-atalho-balanca .9s ease-in-out infinite; }
.rt-atalho:hover .rt-atalho__mob, .rt-atalho:focus-visible .rt-atalho__mob { animation: rt-atalho-pula .75s cubic-bezier(.3, .7, .4, 1) infinite; }
.rt-atalho:active { transform: translateY(2px) scale(.99); box-shadow: 0 0 0 3px var(--c4), 0 3px 0 3px var(--c5), 0 8px 14px rgba(40, 18, 60, .35), inset 0 2px 0 rgba(255, 255, 255, .4); transition-duration: .08s; }
.rt-atalho:focus-visible { outline: 3px solid #2b1740; outline-offset: 6px; }
@keyframes rt-atalho-entra { from { opacity: 0; translate: 0 22px; } to { opacity: 1; translate: 0 0; } }
@keyframes rt-atalho-pula { 0%, 100% { transform: translateY(0) scale(1, 1); } 12% { transform: translateY(0) scale(1.12, .86); } 45% { transform: translateY(-14px) scale(.94, 1.08); } 78% { transform: translateY(0) scale(1.1, .9); } }
@keyframes rt-atalho-balanca { 0%, 100% { transform: rotate(0) translateY(0); } 25% { transform: rotate(-10deg) translateY(-4px); } 50% { transform: rotate(0) translateY(-6px); } 75% { transform: rotate(10deg) translateY(-4px); } }
.rt-rolar { position: absolute; left: 50%; bottom: 14px; z-index: 3; width: 44px; height: 44px; margin-left: -22px; color: #fff; animation: rt-desce 1.4s ease-in-out infinite; filter: drop-shadow(0 2px 3px rgba(60, 20, 60, .5)); }

/* ---------- 15. modal (Como jogar) -------------------------------------- */
.rt-modal { position: fixed; inset: 0; z-index: 400; width: 100%; height: 100%; max-width: none; max-height: none; margin: 0; padding: 16px; border: 0; background: rgba(40, 20, 10, .55); display: grid; place-items: center; }
.rt-modal:not([open]) { display: none; }
.rt-modal::backdrop { background: transparent; }
.rt-modal__caixa { position: relative; width: min(640px, 100%); max-height: calc(100vh - 32px); overflow: auto; padding: 34px 36px 30px; border-radius: 22px; background: radial-gradient(ellipse at 50% 30%, #fffaf0, #f4e7cc); box-shadow: 0 0 0 6px #b8613a, 0 0 0 9px #e6b68f, 0 24px 50px rgba(30, 10, 0, .5); animation: rt-encolhe .45s ease; }
.rt-modal__caixa h2 { margin: 0 0 18px; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 40px; text-align: center; color: #fff4c6; -webkit-text-stroke: 6px #d4402f; paint-order: stroke fill; filter: drop-shadow(0 4px 0 #b02c22); }
.rt-modal__fechar { position: absolute; right: 14px; top: 14px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: #e9d2b5; cursor: pointer; font-size: 22px; font-weight: 900; color: #6b3a22; }
.rt-passos { counter-reset: p; list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.rt-passos li { counter-increment: p; position: relative; padding: 12px 14px 12px 60px; border-radius: 12px; background: #fff; box-shadow: 0 0 0 2px #ead8b8; font-weight: 600; }
.rt-passos li::before { content: counter(p); position: absolute; left: 12px; top: 50%; width: 36px; height: 36px; margin-top: -18px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(#f0614a, #c9302a); color: #fff; font-family: var(--rt-fonte-titulo); font-size: 20px; }
.rt-passos code { background: #f3e7d1; padding: 1px 6px; border-radius: 5px; font-size: .92em; }
.rt-modal__nota { margin: 0 0 18px; font-size: 14px; color: var(--rt-texto-suave); }
.rt-modal__botoes { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; }

/* ---------- 16. rodape -------------------------------------------------- */
.rt-rodape { position: relative; background: #000; color: #f1f1f1; text-align: center; padding: 26px var(--rt-calha) 28px; font-size: 14px; overflow-wrap: break-word; }
.rt-rodape__marca { display: inline-flex; align-items: center; gap: 10px; margin: 6px 0 10px; text-decoration: none; }
.rt-rodape__marca img { display: block; width: auto; height: 60px; aspect-ratio: 1710 / 789; }
.rt-rodape__marca span { font-family: var(--rt-fonte-titulo); font-size: 28px; color: #fff; }
.rt-rodape__marca span b { color: #ff6d5a; font-weight: 400; }
.rt-rodape p { margin: 0 auto 6px; max-width: 760px; color: #d6d6d6; font-weight: 600; }
.rt-rodape__legal { font-size: 12.5px; color: #9a9a9a !important; font-weight: 400 !important; }
.rt-rodape nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0 20px; margin-top: 8px; }
.rt-rodape nav a { display: inline-flex; align-items: center; justify-content: center; min-height: var(--rt-toque); min-width: var(--rt-toque); padding: 0 4px; color: #fff; font-weight: 800; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }
.rt-rodape nav a:hover { color: var(--rt-ouro); }

/* ---------- 17. pagina de texto (servidor.html, wiki) ------------------- */
.rt-pagina { position: relative; isolation: isolate; overflow-x: clip; min-height: 100vh; padding: calc(var(--rt-topo-altura) + 40px) 16px 70px; background: #f1dfb5; }
.rt-pagina > .rt-fundo { position: fixed; }
.rt-pagina__cabeca { text-align: center; margin: 30px 0 46px; }
.rt-pagina__cabeca .rt-titulo { font-size: 72px; }
.rt-pagina__cabeca p { margin: 22px auto 0; max-width: 620px; font-size: 19px; font-weight: 700; color: #6b4530; }
.rt-artigo { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 34px; max-width: 1180px; margin: 0 auto; align-items: start; }
.rt-indice { position: sticky; top: calc(var(--rt-topo-altura) + 20px); }
.rt-indice h2 { margin: 0 0 10px; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 24px; color: #8a5a3b; }
.rt-indice ol { margin: 0; padding-left: 20px; display: grid; gap: 6px; font-weight: 700; }
.rt-indice a { color: #6b4530; text-decoration: none; }
.rt-indice a:hover, .rt-indice a.rt-ativo { color: var(--rt-vermelho); }
.rt-papel { position: relative; padding: 34px 40px; border-radius: 6px; background: linear-gradient(#fdf9ef, #f7efdc); box-shadow: 0 0 0 1px #e1d0ac, 0 0 0 7px #fbf4e4, 0 0 0 8px #d9c39a, 0 16px 30px rgba(80, 45, 15, .25); }
.rt-papel::before, .rt-papel::after { content: ""; position: absolute; width: 100px; height: 28px; background: rgba(255, 255, 255, .6); box-shadow: 0 1px 2px rgba(0, 0, 0, .1); }
.rt-papel::before { left: -26px; top: 14px; transform: rotate(-38deg); }
.rt-papel::after { right: -26px; top: 14px; transform: rotate(38deg); }
.rt-papel + .rt-papel { margin-top: 36px; }
.rt-papel[id] { scroll-margin-top: calc(var(--rt-topo-altura) + 24px); }
.rt-indice.rt-papel { position: sticky; padding: 26px 26px; }
.rt-indice.rt-papel::after { display: none; }
.rt-indice.rt-papel a { color: #6b4530; text-decoration: none; }
.rt-indice.rt-papel a:hover, .rt-indice.rt-papel a.rt-ativo { color: var(--rt-vermelho); }
.rt-indice.rt-papel a.rt-ativo { text-decoration: underline; text-underline-offset: 3px; }
.rt-papel h2 { margin: 0 0 14px; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 34px; line-height: 1.1; color: #fff4c6; -webkit-text-stroke: 5px #c2402f; paint-order: stroke fill; filter: drop-shadow(0 3px 0 #9d2a20); }
.rt-papel h3 { margin: 22px 0 8px; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 22px; color: #8a5a3b; }
.rt-papel p, .rt-papel li { font-size: 16.5px; line-height: 1.65; }
.rt-papel a { color: #b8352a; font-weight: 700; }
.rt-papel ul { padding-left: 20px; }
.rt-papel ul li + li { margin-top: 6px; }
.rt-opcoes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; list-style: none; padding: 0 !important; margin: 10px 0 0; }
.rt-opcoes li { margin: 0 !important; padding: 14px 12px; border-radius: 14px; text-align: center; background: radial-gradient(circle at 50% 0, #fff7d6, #fde7a6); box-shadow: inset 0 0 0 2px #f2c86a; font-weight: 700; }
.rt-opcoes b { display: block; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 26px; color: #c3302a; }
.rt-pagina__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 26px; }

/* ---------- 18. animacoes ----------------------------------------------- */
@keyframes rt-flutua { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-14px); } }
.rt-placa__icone { --x: -50%; animation-name: rt-flutua-x; }
@keyframes rt-flutua-x { 0%, 100% { transform: translate(-50%, 0); } 50% { transform: translate(-50%, -8px); } }
@keyframes rt-pulsa { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } }
@keyframes rt-pisca { 0%, 100% { transform: scale(1) rotate(0); opacity: 1; } 50% { transform: scale(.75) rotate(25deg); opacity: .7; } }
@keyframes rt-desce { 0%, 100% { transform: translateY(0); opacity: .6; } 50% { transform: translateY(10px); opacity: 1; } }
@keyframes rt-encolhe { from { transform: scale(1.18); opacity: .2; } to { transform: none; opacity: 1; } }
@keyframes rt-gira { to { transform: rotate(360deg); } }

/* ---------- 19. responsivo ---------------------------------------------- */
@media (max-width: 1180px) {
  .rt-menu__item { padding: 0 8px; font-size: 13.5px; }
}
@media (max-width: 1023px) {
  :root { --rt-topo-altura: 56px; }
  .rt-topo__barra { padding: 0 6px 0 4px; }
  .rt-topo__hamburguer { display: grid; place-items: center; margin-left: auto; width: 46px; height: 46px; border: 0; background: none; cursor: pointer; }
  .rt-topo__hamburguer span, .rt-topo__hamburguer span::before, .rt-topo__hamburguer span::after { content: ""; display: block; width: 24px; height: 3px; border-radius: 2px; background: #6d5a50; position: relative; transition: transform .3s, background .3s; }
  .rt-topo__hamburguer span::before { position: absolute; top: -8px; } .rt-topo__hamburguer span::after { position: absolute; top: 8px; }
  .rt-topo[data-aberto] .rt-topo__hamburguer span { background: transparent; }
  .rt-topo[data-aberto] .rt-topo__hamburguer span::before { transform: translateY(8px) rotate(45deg); }
  .rt-topo[data-aberto] .rt-topo__hamburguer span::after { transform: translateY(-8px) rotate(-45deg); }
  .rt-menu { position: fixed; top: var(--rt-topo-altura); left: 0; right: 0; bottom: 0; height: auto; overflow-y: auto; overscroll-behavior: contain; background: #fffaf2; padding: 8px 16px 30px; transform: translateX(100%); visibility: hidden; transition: transform .35s, visibility .35s; }
  .rt-topo[data-aberto] .rt-menu { transform: none; visibility: visible; }
  /* fundo escurecido atras da gaveta (clicar nele fecha: rt.js) */
  .rt-topo::before { content: ""; position: fixed; inset: var(--rt-topo-altura) 0 0 0; z-index: -1; background: rgba(36, 20, 10, .5); opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
  .rt-topo[data-aberto]::before { opacity: 1; visibility: visible; }
  .rt-menu > ul { flex-direction: column; height: auto; gap: 0; }
  .rt-menu > ul > li { height: auto; display: block; border-bottom: 1px solid #efe2cf; }
  .rt-menu__item { width: 100%; height: 52px; padding: 0 6px; font-size: 17px; justify-content: space-between; }
  .rt-menu__item::after { left: 6px; right: auto; width: 34px; bottom: 8px; }
  .rt-menu__painel { position: static; transform: none; box-shadow: none; background: transparent; min-width: 0; padding: 0 0 8px 10px; display: none; opacity: 1; visibility: visible; }
  .rt-menu__painel::before { display: none; }
  .rt-menu__sub[data-aberto] .rt-menu__painel { display: block; transform: none; }
  .rt-menu__painel a, .rt-menu__painel span { font-size: 16px; padding: 10px 8px; min-height: var(--rt-toque); white-space: normal; }
  .rt-menu > ul > li.rt-menu__idioma { margin-top: 14px; border-top: 2px solid #efe2cf; border-bottom: 0; }
  .rt-menu__idioma .rt-menu__item { justify-content: flex-start; gap: 10px; }
  .rt-menu__idioma .rt-menu__seta { margin-left: auto; }
  .rt-menu__icone { width: 20px; height: 20px; }
  .rt-menu__icone--avatar { width: 24px; height: 24px; }
  .rt-menu > ul > li.rt-menu__baixar { border-bottom: 0; padding: 12px 0 4px; }
  .rt-menu__baixar .rt-menu__item { height: 48px; justify-content: center; }
  .rt-menu__baixar .rt-menu__painel { padding: 8px 0 0; }
  .rt-menu__baixar .rt-menu__painel a { justify-content: center; }
  .rt-menu__baixar .rt-menu__sair button { justify-content: center; }

  .rt-palco { width: auto; height: auto; padding: 34px 16px 46px; }
  .rt-secao { min-height: 0; }
  .rt-palco > * { position: relative !important; left: auto !important; right: auto !important; top: auto !important; bottom: auto !important; }
  .rt-enfeite, .rt-raios { display: none; }
  .rt-cabeca { margin: 40px 0 24px; }
  .rt-titulo { font-size: 50px; -webkit-text-stroke-width: 7px; }
  .rt-titulo__borla { display: none; }
  .rt-placa { font-size: 26px; height: 56px; min-width: 0; padding: 0 24px; gap: 14px; white-space: nowrap; }

  /* hero */
  .rt-hero .rt-palco { min-height: calc(100svh - var(--rt-topo-altura)); display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 28px 16px 40px; }
  .rt-hero__centro { width: 100%; gap: 26px; padding-bottom: 0; }
  .rt-atalho-hero { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 14px; width: 100%; max-width: 680px; }
  .rt-atalho { height: 66px; padding: 0 10px 0 7px; gap: 8px; border-radius: 20px; }
  .rt-atalho::before, .rt-atalho::after { border-radius: 17px; }
  .rt-atalho__arte { width: 48px; height: 48px; }
  .rt-atalho__arte img { width: 36px; height: 40px; }
  .rt-atalho__arte img.rt-atalho__mob { width: 46px; margin-top: -10px; }
  .rt-atalho__arte img.rt-atalho__retrato { width: 100%; height: 100%; }
  .rt-atalho__texto { font-size: 19px; -webkit-text-stroke-width: 3.5px; }
  .rt-atalho__texto small { font-size: 10.5px; letter-spacing: .4px; }
  .rt-hero .rt-fundo { background-position: 30% 0; background-size: auto 62%; background-color: #f3d4e3; background-repeat: no-repeat; }
  .rt-hero .rt-fundo::after { background: linear-gradient(180deg, rgba(255,255,255,0) 30%, #f6dbe7 60%, #e8d0f0); }
  .rt-logo { transform: none; }
  .rt-logo__img { width: min(92vw, 520px); }
  .rt-fita { font-size: 15px; padding: 8px 18px; border-radius: 22px; }
  .rt-destaque { width: min(280px, 90%); height: 60px; font-size: 30px; }
  .rt-downloads { flex-wrap: wrap; justify-content: center; gap: 22px 16px; transform: none; }
  .rt-pilulas { grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; order: 3; }
  .rt-pilula-escura { height: 54px; padding: 0 12px; gap: 8px; }
  .rt-pilula-escura span { font-size: 18px; }
  .rt-pilula-escura svg { width: 24px; height: 24px; }
  .rt-tile { width: 140px; height: 116px; }
  .rt-mascote, .rt-tile__mob { display: none; }
  .rt-mascote--celular { display: block; position: absolute !important; }
  /* hero no celular: Poporing no ceu (canto de cima) e Drops no canto de baixo, sob os atalhos */
  .rt-hero .rt-palco > .rt-hero__m-ce { left: 14px !important; top: 14px !important; width: 58px !important; }
  .rt-hero .rt-palco > .rt-hero__m-bd { left: auto !important; right: 18px !important; top: auto !important; bottom: 40px !important; width: 50px !important; }
  .rt-rolar { display: none; }

  /* informacoes */
  .rt-livro { width: 100%; height: auto; }
  .rt-livro__capa { position: absolute; }
  .rt-livro__fecho, .rt-livro__canto { display: none; }
  .rt-livro__paginas { position: absolute; inset: 14px 12px 20px; }
  .rt-livro__pagina + .rt-livro__pagina { display: none; }
  .rt-livro__conteudo { position: relative !important; padding: 40px 22px 50px; }
  .rt-livro .rt-cabeca { margin: 0 0 30px; }
  .rt-medalhas { position: relative !important; top: auto !important; flex-wrap: wrap; gap: 26px 14px; }
  .rt-medalhas::before { display: none; }
  .rt-medalha { width: 140px; }
  .rt-medalha__disco { width: 120px; height: 120px; }
  .rt-medalha__disco img { width: 66px; height: 66px; }
  .rt-medalha__fita { font-size: 22px; height: 40px; margin-top: -38px; }
  .rt-medalha__estado { font-size: 14px; }
  .rt-titulo--grande { font-size: 60px; }
  .rt-info__texto, .rt-cabeca-livro { position: relative !important; inset: auto !important; margin-top: 26px !important; width: auto !important; }
  .rt-cabeca-livro { margin: 0 0 26px !important; }
  .rt-livro__pagina::after { display: none; }

  /* eventos: o quadro de couro vira a borda da propria janela */
  #eventos .rt-palco, #sistemas .rt-palco { padding-bottom: 110px; }
  .rt-quadro { display: none; }
  .rt-eventos__janela { position: relative !important; width: 100% !important; height: auto !important; margin-top: 18px; border: 10px solid #b8613a; border-radius: 18px; overflow: hidden; box-shadow: 0 0 0 3px #e6b68f, 0 10px 0 #7a3a20, 0 18px 26px rgba(80, 35, 10, .35) !important; }
  .rt-eventos__janela .rt-carrossel { height: auto !important; }
  .rt-eventos__janela .rt-carrossel__trilho { align-items: stretch; }
  .rt-eventos__janela .rt-carrossel__item { display: flex; }
  .rt-eventos__janela .rt-evento { flex: 1; min-height: 0; }
  .rt-evento { position: relative; grid-template-columns: 1fr; padding: 24px 18px 26px; text-align: center; gap: 16px; min-height: 100%; }
  .rt-evento__carta { width: 150px; }
  .rt-evento__texto { padding: 0; }
  .rt-evento__nome { font-size: 36px; }
  .rt-evento__desc { font-size: 15.5px; margin: 0 auto; }
  .rt-seta { width: 50px; height: 50px; position: absolute !important; top: auto !important; bottom: 34px !important; }
  .rt-seta--ant { left: 12px !important; } .rt-seta--prox { right: 12px !important; left: auto !important; }
  .rt-paginas { position: absolute !important; left: 78px !important; right: 78px !important; top: auto !important; bottom: 36px !important; width: auto !important; padding: 0 14px; gap: 0; }
  .rt-paginas button { width: 30px; height: 30px; }
  .rt-paginas--estrelas button { width: 18px; }
  .rt-noticias__pontos { position: relative !important; left: auto !important; right: auto !important; bottom: auto !important; width: 200px !important; height: 36px; margin: 10px auto 0; }
  .rt-noticias__pontos button { width: 32px; height: 32px; padding: 8px; }
  .rt-noticias__pontos button[aria-current="true"] { transform: scale(1.3); }

  /* noticias */
  .rt-caderno { width: 100%; height: auto; padding: 10px; }
  .rt-caderno__folha + .rt-caderno__folha { display: none; }
  .rt-noticias__banner, .rt-noticias__legenda, .rt-abas, .rt-noticias__botoes { position: relative !important; left: auto !important; top: auto !important; right: auto !important; }
  .rt-abas { margin: 6px 0 0; padding: 16px 12px 4px; background: linear-gradient(#f7f1e3, #f3ead6); box-shadow: inset 0 0 0 1px #e1d2b1; }
  .rt-noticias__botoes { padding: 6px 12px 18px; background: #f3ead6; justify-content: center; }
  .rt-caderno__folhas { flex-direction: column; }
  .rt-caderno__espiral, .rt-fita-adesiva, .rt-clipe { display: none; }
  .rt-caderno__folha { padding: 16px 14px 14px; }
  .rt-caderno__folha::after { display: none; }
  .rt-noticias__banner { width: 100%; height: auto; aspect-ratio: 16 / 9; }
  .rt-noticias__legenda { width: 100%; margin-top: 12px; }
  .rt-noticias__pontos { margin: 10px auto 0; }
  .rt-abas { width: 100%; }
  .rt-abas__lista { overflow-x: auto; gap: 4px; }
  .rt-abas__aba { flex: none; font-size: 15px; padding: 6px 12px; }
  .rt-noticias__botoes { margin-top: 20px; flex-wrap: wrap; gap: 14px; }

  /* classes: carrossel horizontal com swipe */
  .rt-classes { height: auto; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; justify-content: flex-start; gap: 18px; padding: 24px 32px 70px; margin: 0 -16px; scroll-padding: 0 32px; scrollbar-width: none; }
  .rt-classes::-webkit-scrollbar { display: none; }
  .rt-classe, .rt-classe[data-ativo] { width: 230px; height: 400px; scroll-snap-align: center; cursor: default; order: 0 !important; }
  .rt-classe[hidden] { display: block; }
  .rt-classe .rt-classe__arco, .rt-classe[data-ativo] .rt-classe__arco { inset: 0 0 26px; border-radius: 115px 115px 30px 30px; overflow: hidden; background: radial-gradient(circle at 50% 20%, #a87d5f, #7d5640 70%); }
  .rt-classe .rt-classe__arco img, .rt-classe[data-ativo] .rt-classe__arco img { top: 40px; bottom: auto; height: 360px; clip-path: none; animation: none; }
  .rt-classe[data-ativo] .rt-classe__chifres, .rt-classe[data-ativo] .rt-classe__gema { opacity: 1; }
  .rt-classe .rt-classe__nome, .rt-classe[data-ativo] .rt-classe__nome { left: 14px; right: 14px; bottom: 58px; font-size: 22px; -webkit-text-stroke-width: 3px; background: rgba(150, 105, 80, .85); box-shadow: inset 0 0 0 2px #e9cfb1; filter: none; animation: none; }
  .rt-classe__frase, .rt-classe[data-ativo] .rt-classe__frase { opacity: 1; transform: none; left: 0; right: 0; bottom: -64px; font-size: 13.5px; padding: 8px 10px; }
  .rt-classe__mais, .rt-classe[data-ativo] .rt-classe__mais { display: none; }
  .rt-classes__fantasma { display: none; }
  .rt-classes-setas { display: none; }

  /* sistemas */
  .rt-folha__sombra { display: none; }
  .rt-sistemas__intro { max-width: 640px; margin: 0 auto 18px; padding: 12px 16px; border-radius: 14px; background: rgba(253, 249, 239, .92); box-shadow: 0 0 0 2px #e2cfa6; font-size: 15.5px; }
  .rt-final .rt-palco { padding-top: 46px; padding-bottom: 56px; }
  .rt-final .rt-mascote { display: none; }
  .rt-final__cartao { width: auto; max-width: 640px; margin: 0 auto; padding: 30px 20px 28px; }
  .rt-final__texto { margin-top: 20px; font-size: 18px; }
  .rt-final__wiki { font-size: 16px; }
  .rt-final__botoes .rt-botao { flex: 1 1 200px; min-height: 52px; padding: 0 20px; font-size: 21px; }
  .rt-sistemas { width: 100%; height: auto; aspect-ratio: 4 / 3.4; }
  .rt-sistema__texto { padding: 40px 14px 12px; }
  .rt-sistema__nome { font-size: 28px; -webkit-text-stroke-width: 4px; }
  .rt-sistema__desc { font-size: 13.5px; padding: 4px 12px; border-radius: 14px; }
  .rt-sistemas .rt-seta { top: 40% !important; }

  .rt-artigo { grid-template-columns: 1fr; }
  .rt-indice, .rt-indice.rt-papel { position: static; }
  .rt-papel { padding: 26px 20px; }
  .rt-papel::before, .rt-papel::after { display: none; }
  .rt-opcoes { grid-template-columns: 1fr; }
  .rt-pagina__cabeca .rt-titulo { font-size: 48px; }
}

@media (max-width: 560px) {
  .rt-atalho-hero { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 12px; }
}
@media (max-width: 420px) {
  .rt-atalho { height: 62px; padding: 0 8px 0 6px; gap: 7px; }
  .rt-atalho__arte { width: 42px; height: 42px; }
  .rt-atalho__arte img { width: 32px; height: 36px; }
  .rt-atalho__arte img.rt-atalho__mob { width: 42px; }
  .rt-atalho__arte img.rt-atalho__retrato { width: 100%; height: 100%; }
  .rt-atalho__texto { font-size: 17px; -webkit-text-stroke-width: 3px; }
  .rt-atalho__texto small { font-size: 9.5px; letter-spacing: .2px; }
  /* home: medalhoes de dois em dois no celular */
  .rt-medalhas { gap: 22px 10px; }
  .rt-medalha { width: 128px; }
  .rt-medalha__disco { width: 108px; height: 108px; }
  .rt-medalha__disco img { width: 60px; height: 60px; }
  .rt-medalha__fita { font-size: 20px; height: 38px; margin-top: -34px; }
  .rt-medalha__estado { font-size: 13.5px; }
  .rt-titulo--grande { font-size: 54px; }
}

/* ---------- 20. sem movimento ------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .rt *, .rt *::before, .rt *::after { animation: none !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
  .rt-particulas, .rt-raios { display: none; }
  .rt-entra { opacity: 1; transform: none; }
  .rt-atalho:hover, .rt-atalho:focus-visible { transform: none; }
  .rt-atalho::before { display: none; }
}

/* ---------- 20b. paginas do site (noticias, eventos, servidor) ---------- */
/* So valem dentro de <main class="rt-pagina rt-pagina--site">: a wiki e o
   painel usam .rt-pagina sem o modificador e nao mudam. */
.rt-pagina--site .rt-pagina__cabeca p { text-shadow: 0 1px 0 rgba(255, 250, 235, .9), 0 0 14px rgba(255, 246, 222, .95), 0 0 4px rgba(255, 246, 222, .9); }
/* tabela que vira cartoes no celular: <table class="rt-tabela rt-tabela--cartoes">
   com data-rotulo em cada celula do corpo (o cabecalho da coluna) */
@media (max-width: 560px) {
  .rt-pagina--site .rt-tabela--cartoes { background: none; box-shadow: none; border-radius: 0; overflow: visible; }
  .rt-pagina--site .rt-tabela--cartoes thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .rt-pagina--site .rt-tabela--cartoes, .rt-pagina--site .rt-tabela--cartoes tbody, .rt-pagina--site .rt-tabela--cartoes tr, .rt-pagina--site .rt-tabela--cartoes th, .rt-pagina--site .rt-tabela--cartoes td { display: block; width: 100%; }
  .rt-pagina--site .rt-tabela--cartoes caption { display: block; }
  .rt-pagina--site .rt-tabela--cartoes tr { margin: 0 0 12px; border-radius: 14px; overflow: hidden; background: var(--rt-pergaminho); box-shadow: 0 0 0 2px #d9c39a, 0 6px 14px rgba(80, 45, 15, .12); }
  .rt-pagina--site .rt-tabela--cartoes tr:last-child { margin-bottom: 0; }
  .rt-pagina--site .rt-tabela--cartoes tbody tr > * { padding: 8px 14px; border-bottom: 1px solid rgba(160, 120, 70, .2); background: none !important; white-space: normal; }
  .rt-pagina--site .rt-tabela--cartoes tbody tr > :first-child { padding: 10px 14px; background: linear-gradient(#c88b5f, #9e6340) !important; color: #fff7ea; font-size: 16px; font-weight: 800; }
  .rt-pagina--site .rt-tabela--cartoes tbody tr > :first-child a { color: #fff7ea; }
  .rt-pagina--site .rt-tabela--cartoes tbody tr > :last-child { border-bottom: 0; }
  .rt-pagina--site .rt-tabela--cartoes tbody tr > :first-child[data-rotulo]::before { content: attr(data-rotulo) " "; }
  .rt-pagina--site .rt-tabela--cartoes td[data-rotulo]::before { content: attr(data-rotulo); display: block; font-size: 12px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase; color: #b0632f; }
  .rt-pagina--site .rt-tabela-rolo:has(> .rt-tabela--cartoes) { overflow: visible; padding: 2px; }
}
@media (max-width: 1023px) {
  /* indice vira fichas tocaveis, em vez de uma lista comprida de links finos */
  .rt-pagina--site .rt-indice.rt-papel { padding: 20px 16px 18px; }
  .rt-pagina--site .rt-indice h2 { font-size: 28px; margin-bottom: 12px; }
  .rt-pagina--site .rt-indice ol { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; counter-reset: rt-ind; }
  .rt-pagina--site .rt-indice li { counter-increment: rt-ind; }
  .rt-pagina--site .rt-indice a { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 6px 14px 6px 6px; border-radius: 99px; background: #fff7e4; box-shadow: inset 0 0 0 2px #e2cfa6; font-size: 15px; line-height: 1.25; }
  .rt-pagina--site .rt-indice a::before { content: counter(rt-ind); flex: none; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: linear-gradient(#c88b5f, #9e6340); color: #fff7ea; font-size: 13px; font-weight: 900; }
  .rt-pagina--site .rt-indice a.rt-ativo { text-decoration: none; box-shadow: inset 0 0 0 2px var(--rt-vermelho); }
  .rt-pagina--site .rt-papel h2 { overflow-wrap: break-word; }
}
@media (max-width: 640px) {
  .rt-pagina--site { padding-top: calc(var(--rt-topo-altura) + 20px); }
  .rt-pagina--site .rt-pagina__cabeca { margin: 18px 0 30px; }
  .rt-pagina--site .rt-pagina__cabeca p { font-size: 17px; }
  .rt-pagina--site .rt-papel h2 { font-size: 30px; -webkit-text-stroke-width: 4px; }
  .rt-pagina--site .rt-papel p, .rt-pagina--site .rt-papel li { font-size: 16px; }
  .rt-pagina--site .rt-papel ol, .rt-pagina--site .rt-papel ul:not(.rt-opcoes) { padding-left: 22px; }
  .rt-pagina--site .rt-indice.rt-papel ol { padding: 0; }
  .rt-pagina--site .rt-fatos { grid-template-columns: repeat(auto-fit, minmax(124px, 1fr)); gap: 10px; }
  .rt-pagina--site .rt-fatos > div { padding: 10px 12px; }
  .rt-pagina--site .rt-fatos dd { font-size: 15px; }
  .rt-pagina--site .rt-pagina__botoes .rt-botao { flex: 1 1 220px; }
  .rt-pagina--site .rt-comando { white-space: normal; overflow-wrap: anywhere; }
  /* noticias: data embaixo do titulo, + na direita, titulo com a largura toda */
  .rt-pagina--site .rt-lista--completa .rt-lista__linha { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 12px; row-gap: 2px; }
  .rt-pagina--site .rt-lista--completa .rt-lista__linha > :first-child { grid-column: 1; }
  .rt-pagina--site .rt-lista--completa .rt-lista__linha time { grid-column: 1; grid-row: 2; font-size: 13px; }
  .rt-pagina--site .rt-lista--completa button.rt-lista__linha::after { grid-column: 2; grid-row: 1 / span 2; }
  .rt-pagina--site .rt-abas--fluxo .rt-abas__aba { min-height: 40px; }
}

/* ---------- 21. componentes em fluxo normal ----------------------------- */
/* Para paginas internas (noticias, eventos, classes), a wiki e o painel.
   Tudo aqui e classe NOVA ou modificador: nada acima muda de comportamento.
   Documentacao: assets/README.md, "Componentes em fluxo normal". */

/* 21a. largura do miolo */
.rt-largura { width: 100%; max-width: 1100px; margin-left: auto; margin-right: auto; }
.rt-largura--estreita { max-width: 820px; }

/* 21b. abas em fluxo: botoes (role=tab, aria-selected) ou links (aria-current="page") */
a.rt-abas__aba { display: inline-block; text-decoration: none; }
.rt-abas__aba[aria-current="page"] { background: linear-gradient(#b48767, #9b6b4b); color: #fff7ea; box-shadow: inset 0 0 0 2px #e4c6a8, 0 0 0 1px #8b5d3e; }
.rt-abas--fluxo { position: relative; left: auto; top: auto; width: auto; margin: 0 0 18px; }
.rt-abas--fluxo .rt-abas__lista { justify-content: center; flex-wrap: wrap; gap: 6px 10px; padding: 0 0 12px; list-style: none; }
.rt-abas--fluxo .rt-abas__aba { padding: 6px 16px; font-size: 16px; }
/* tira de papel em volta das abas (a do painel) */
.rt-abas--tira { max-width: 860px; margin-left: auto; margin-right: auto; padding: 10px 14px; border-radius: 99px; background: linear-gradient(#fbf6ea, #f3ead6); box-shadow: inset 0 0 0 1px #e1d2b1, 0 0 0 5px #fbf4e4, 0 0 0 6px #d9c39a, 0 10px 20px rgba(80, 45, 15, .2); }
.rt-abas--tira .rt-abas__lista { padding: 0; border: 0; }

/* 21c. moldura de couro em fluxo normal (a .rt-quadro e absoluta e some no celular) */
.rt-quadro--fluxo { position: relative; display: block; width: auto; max-width: 1100px; margin: 0 auto; }
.rt-quadro--fluxo > .rt-quadro__papel { height: auto; padding: 44px 46px 38px; }
.rt-quadro--fluxo > .rt-quadro__papel > * { position: relative; }
/* placa pendurada na borda de cima: <div class="rt-quadro__placa"><h2 class="rt-placa">… */
.rt-quadro--com-placa { margin-top: 84px; }
.rt-quadro__placa { position: absolute; left: 0; right: 0; top: -36px; z-index: 2; display: flex; justify-content: center; pointer-events: none; }
.rt-quadro__placa .rt-placa { pointer-events: auto; font-size: 28px; height: 58px; min-width: 0; padding: 0 30px; white-space: nowrap; }
.rt-quadro--com-placa > .rt-quadro__papel { padding-top: 54px; }

/* 21d. formulario: <form class="rt-form"> com .rt-campo (rotulo + entrada + ajuda) */
.rt-form { display: grid; gap: 16px; }
.rt-form > p { margin: 0; }
.rt-form__linha { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 14px; }
.rt-form__linha > .rt-campo { flex: 1 1 200px; }
.rt-form__duplo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.rt-campo { display: grid; gap: 6px; min-width: 0; align-content: start; } /* lado a lado (.rt-form__duplo) o campo sem ajuda esticava a entrada */
.rt-campo > label, .rt-campo__rotulo { font-weight: 800; font-size: 15px; color: #6b4530; }
.rt-campo small, .rt-campo__ajuda { font-weight: 600; font-size: 13.5px; line-height: 1.4; color: var(--rt-texto-suave); }
.rt-entrada,
.rt-form input[type=text], .rt-form input[type=search], .rt-form input[type=email], .rt-form input[type=password],
.rt-form input[type=number], .rt-form input[type=date], .rt-form input[type=url], .rt-form input[type=tel], .rt-form select, .rt-form textarea {
  width: 100%; max-width: 100%; min-height: 44px; padding: 8px 14px; border-radius: 12px; border: 2px solid #d9c39a; background: #fffcf4; box-shadow: inset 0 2px 4px rgba(120, 80, 30, .1);
  font: inherit; font-size: 16px; font-weight: 700; color: var(--rt-texto); transition: border-color .2s, box-shadow .2s; }
.rt-form textarea, textarea.rt-entrada { min-height: 110px; resize: vertical; }
.rt-form select, select.rt-entrada { padding-right: 34px; appearance: none; -webkit-appearance: none; cursor: pointer;
  background: #fffcf4 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%238a5a3b' stroke-width='2.2' stroke-linecap='round'/%3E%3C/svg%3E") right 12px center / 12px no-repeat; }
.rt-entrada::placeholder, .rt-form ::placeholder { color: #b39a80; font-weight: 600; }
.rt-entrada:focus, .rt-form input:focus, .rt-form select:focus, .rt-form textarea:focus { outline: none; border-color: var(--rt-ouro-escuro); box-shadow: 0 0 0 4px rgba(245, 196, 81, .45), inset 0 2px 4px rgba(120, 80, 30, .08); }
.rt-form input[type=search]::-webkit-search-cancel-button { cursor: pointer; }
.rt-form input[type=radio], .rt-form input[type=checkbox] { width: 18px; height: 18px; margin: 0; accent-color: var(--rt-vermelho); vertical-align: -3px; }
/* opcoes em pilula: <div class="rt-form__opcoes"><label><input type=radio> Texto</label>… */
.rt-form__opcoes { display: flex; flex-wrap: wrap; gap: 10px; }
.rt-form__opcoes label { display: inline-flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 99px; background: #fffcf4; box-shadow: inset 0 0 0 2px #d9c39a; font-weight: 800; cursor: pointer; }
.rt-form__opcoes label:has(input:checked) { background: #fff3c2; box-shadow: inset 0 0 0 2px var(--rt-ouro-escuro); }
/* envio: .rt-botao serve; input/button de envio sem classe ganham o mesmo visual */
.rt-form input[type=submit], .rt-form input[type=reset], .rt-form button[type=submit]:not(.rt-botao), .rt-form button[type=reset]:not(.rt-botao) {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 26px; border-radius: 99px; border: 3px solid #fff1d2; cursor: pointer;
  font-family: var(--rt-fonte-titulo); font-size: 20px; letter-spacing: .3px; color: #fff; text-shadow: 0 2px 0 rgba(120, 50, 10, .45);
  background: linear-gradient(#f39a52, #e0702d); box-shadow: 0 4px 0 #a3471b, 0 8px 14px rgba(90, 40, 10, .3), inset 0 2px 0 rgba(255, 255, 255, .4); transition: transform .2s, filter .2s; }
.rt-form input[type=reset], .rt-form button[type=reset]:not(.rt-botao) { background: linear-gradient(#c88b5f, #9e6340); box-shadow: 0 4px 0 #64391f, 0 8px 14px rgba(60, 30, 10, .3), inset 0 2px 0 rgba(255, 255, 255, .3); }
.rt-form input[type=submit]:hover, .rt-form input[type=reset]:hover, .rt-form button[type=submit]:not(.rt-botao):hover { transform: translateY(-2px); filter: brightness(1.07); }
.rt-form :disabled { opacity: .55; cursor: not-allowed; }
.rt-form__botoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.rt-form__erro, .rt-form__ok { margin: 0; padding: 12px 16px; border-radius: 12px; font-weight: 800; }
.rt-form__erro { background: #fde3dc; box-shadow: inset 0 0 0 2px #f2b3a6; color: #a8261f; }
.rt-form__ok { background: #e6f3dc; box-shadow: inset 0 0 0 2px #b9dca8; color: #2b6a33; }

/* 21e. tabela em pergaminho com cabecalho de madeira.
   <div class="rt-tabela-rolo"><table class="rt-tabela">… — o rolo rola de lado no celular */
.rt-tabela-rolo { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 8px 0 22px; padding: 2px 2px 10px; }
.rt-tabela-rolo > .rt-tabela { margin: 0; }
.rt-tabela { width: 100%; margin: 8px 0 22px; border-collapse: separate; border-spacing: 0; border-radius: 14px; overflow: hidden; background: var(--rt-pergaminho); box-shadow: 0 0 0 2px #d9c39a, 0 6px 14px rgba(80, 45, 15, .14); font-size: 15px; line-height: 1.45; color: var(--rt-texto); }
.rt-tabela caption { caption-side: top; padding: 0 0 8px; text-align: left; font-weight: 800; color: #8a5a3b; }
.rt-tabela th, .rt-tabela td { padding: 10px 14px; text-align: left; vertical-align: top; border-bottom: 1px solid rgba(160, 120, 70, .25); }
.rt-tabela thead th { background: linear-gradient(#c88b5f, #9e6340); color: #fff7ea; font-weight: 800; font-size: 14px; letter-spacing: .3px; text-shadow: 0 1px 0 rgba(80, 40, 15, .5); border-bottom: 0; white-space: nowrap; vertical-align: middle; }
.rt-tabela tbody th { background: #ecd6a6; color: #6b4530; font-weight: 800; }
.rt-tabela tbody tr:nth-child(even) td { background: rgba(255, 250, 235, .45); }
.rt-tabela tbody tr:hover td { background: rgba(255, 255, 255, .55); }
.rt-tabela tr:last-child > * { border-bottom: 0; }
.rt-tabela--compacta th, .rt-tabela--compacta td { padding: 7px 12px; font-size: 14px; }
.rt-tabela__nao-quebra { white-space: nowrap; }
.rt-tabela tr.rt-destacada td { background: linear-gradient(#fff3c2, #fde59a) !important; font-weight: 800; }

/* 21f. paginacao em fluxo (numeros em pilula). O rt.js gera os botoes em [data-rt-paginacao] */
.rt-paginacao { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; margin: 20px 0 0; padding: 0; list-style: none; font-weight: 800; }
.rt-paginacao a, .rt-paginacao button, .rt-paginacao span { display: inline-grid; place-items: center; min-width: 38px; height: 38px; padding: 0 12px; border: 0; border-radius: 99px; background: #fff7e4; box-shadow: inset 0 0 0 2px #e2cfa6; color: #8a5a3b; font: inherit; font-weight: 800; text-decoration: none; cursor: pointer; transition: background .2s, color .2s; }
.rt-paginacao a:hover, .rt-paginacao button:hover { background: #fff; color: var(--rt-vermelho); }
.rt-paginacao [aria-current="page"] { background: linear-gradient(#f0614a, #c9302a); color: #fff; box-shadow: none; cursor: default; }
.rt-paginacao [disabled] { opacity: .45; cursor: default; }
.rt-paginacao span { background: none; box-shadow: none; cursor: default; }

/* 21g. lista de noticias completa (titulo quebra linha, data com ano, etiqueta) */
.rt-lista--completa { margin: 0; padding: 0; }
.rt-lista--completa .rt-lista__linha { min-height: 54px; padding: 12px 4px; font-size: 16.5px; align-items: center; }
.rt-lista--completa .rt-lista__linha .rt-lista__titulo { flex: 1 1 auto; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; white-space: normal; overflow: visible; }
.rt-lista--completa .rt-lista__linha time { font-size: 14px; font-weight: 800; }
.rt-lista--completa button.rt-lista__linha::after { content: "+"; flex: none; display: inline-grid; place-items: center; width: 22px; height: 22px; border: 2px solid #c9a17b; border-radius: 50%; color: #a4704e; font-size: 15px; line-height: 1; transition: transform .25s; }
.rt-lista--completa button.rt-lista__linha[aria-expanded="true"]::after { transform: rotate(45deg); }
.rt-lista--completa .rt-lista__corpo { margin: 0 0 14px; padding: 12px 16px; border-radius: 10px; background: rgba(255, 252, 240, .8); box-shadow: inset 0 0 0 1px #e8d6b2; font-size: 15.5px; line-height: 1.6; }
.rt-lista--completa li:hover { transform: none; }
.rt-lista__vazio { padding: 22px 6px; text-align: center; font-weight: 700; color: var(--rt-texto-suave); }
/* etiqueta de categoria: data-tipo = novidade | evento | atualizacao | manutencao | aviso */
.rt-etiqueta { display: inline-block; flex: none; padding: 1px 10px; border-radius: 99px; font-style: normal; font-size: 12px; font-weight: 900; letter-spacing: .4px; text-transform: uppercase; line-height: 1.6; background: #f3e7d8; color: #8a5a3b; }
.rt-etiqueta[data-tipo="novidade"] { background: #e1f1d6; color: #2f7a3a; }
.rt-etiqueta[data-tipo="evento"] { background: #ece3ff; color: #5b3fb6; }
.rt-etiqueta[data-tipo="atualizacao"], .rt-etiqueta[data-tipo="manutencao"] { background: #dff1f2; color: #22777b; }
.rt-etiqueta[data-tipo="aviso"] { background: #fde3dc; color: #a8261f; }
.rt-etiqueta--breve { background: #f3e7d8; color: #a2836b; }
.rt-papel h2 .rt-etiqueta { -webkit-text-stroke: 0; paint-order: normal; font-family: var(--rt-fonte); font-size: 13px; line-height: 1.7; vertical-align: middle; margin-left: 6px; color: #8a5a3b; background: #f6e3c4; }

/* 21h. fatos: cartoes de "quando / onde / premio" — <dl class="rt-fatos"><div><dt>…</dt><dd>…</dd></div> */
.rt-fatos { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin: 14px 0 20px; padding: 0; }
.rt-fatos > div { padding: 12px 16px; border-radius: 14px; background: radial-gradient(circle at 50% 0, #fff7d6, #fde7a6); box-shadow: inset 0 0 0 2px #f2c86a; }
.rt-fatos dt { font-size: 12.5px; font-weight: 900; letter-spacing: .5px; text-transform: uppercase; color: #b0632f; }
.rt-fatos dd { margin: 3px 0 0; font-size: 16px; font-weight: 800; line-height: 1.35; color: #6b4530; }

/* 21i. ficha: arte de carta ao lado do texto */
.rt-ficha { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: 28px; align-items: start; }
.rt-ficha__carta { width: 150px; margin: 6px 0 0; border-radius: 9px; overflow: hidden; aspect-ratio: 284 / 364; border: 5px solid #ffe28c; box-shadow: 0 0 0 3px #b8781c, 0 12px 20px rgba(60, 30, 10, .35); transform: rotate(-4deg); background: #eadcc0; }
.rt-ficha__carta img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rt-ficha > :last-child > :first-child { margin-top: 0; }

/* 21j. comando de chat e atalho */
.rt-comando { display: inline-block; padding: 1px 9px; border-radius: 7px; background: #3b2516; color: #ffe9a6; font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace; font-size: .9em; font-weight: 700; line-height: 1.5; white-space: nowrap; }
.rt-tecla { display: inline-block; padding: 0 7px; border-radius: 6px; background: #fff; box-shadow: inset 0 -2px 0 #d9c39a, 0 0 0 1px #d9c39a; font-weight: 800; font-size: .9em; white-space: nowrap; }

/* 21k. nota (aviso dentro do papel) */
.rt-nota { margin: 16px 0; padding: 12px 16px 12px 50px; position: relative; border-radius: 14px; background: rgba(255, 247, 214, .85); box-shadow: inset 0 0 0 2px #f2d88a; font-weight: 700; color: #7a5338; }
.rt-nota::before { content: "!"; position: absolute; left: 14px; top: 14px; width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: var(--rt-ouro-escuro); color: #fff; font-family: var(--rt-fonte-titulo); font-size: 15px; }
.rt-papel .rt-nota p { font-size: 15.5px; margin: 0; }

/* 21l. grade de cartoes em papel (duas colunas largas, uma no celular) */
.rt-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 34px; max-width: 1180px; margin: 0 auto; }
.rt-grade > .rt-papel { margin: 0; }
.rt-grade--1 { grid-template-columns: minmax(0, 1fr); }

/* 21m. ficha de classe: arte em arco + texto + caminho de evolucao */
.rt-ficha-classe { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 26px; align-items: start; }
.rt-ficha-classe[id] { scroll-margin-top: calc(var(--rt-topo-altura) + 24px); }
.rt-ficha-classe__arte { position: relative; height: 268px; margin: 8px 0 0; border-radius: 90px 90px 26px 26px; overflow: hidden; background: radial-gradient(circle at 50% 22%, #c39470, #7d5640 72%); box-shadow: 0 0 0 4px #f0d6b5, 0 0 0 7px #b2805b, 0 10px 18px rgba(60, 30, 10, .35); }
.rt-ficha-classe__arte::before { content: ""; position: absolute; left: 50%; top: 26px; width: 110px; height: 110px; margin-left: -55px; border-radius: 50%; border: 3px solid rgba(255, 225, 190, .3); box-shadow: 0 0 0 12px rgba(255, 225, 190, .08); }
.rt-ficha-classe__arte::after { content: ""; position: absolute; left: 50%; top: 10px; width: 20px; height: 26px; margin-left: -10px; clip-path: polygon(50% 0, 100% 40%, 50% 100%, 0 40%); background: linear-gradient(135deg, #fff 0, var(--gema, #5ad2f4) 40%, #1b5f8a 100%); }
.rt-ficha-classe__arte img { position: absolute; left: 50%; bottom: -6px; width: auto; height: 236px; max-width: none; transform: translateX(-50%); filter: drop-shadow(0 6px 8px rgba(40, 20, 5, .35)); transition: transform .5s; }
.rt-ficha-classe:hover .rt-ficha-classe__arte img { transform: translateX(-50%) scale(1.05); }
.rt-papel .rt-ficha-classe__texto h2 { font-size: 32px; margin-bottom: 8px; }
.rt-ficha-classe__texto > p { margin: 0 0 12px; }
.rt-papeis { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px !important; padding: 0 !important; list-style: none; }
.rt-papeis li { margin: 0 !important; padding: 2px 12px; border-radius: 99px; background: #fff3c2; box-shadow: inset 0 0 0 2px #f2c86a; font-size: 13.5px !important; font-weight: 800; line-height: 1.6 !important; color: #8a4c22; }
/* caminho de evolucao: <ol class="rt-evolucao"><li>Aprendiz</li>…<li class="rt-evolucao__trans">…</li></ol> */
.rt-evolucao { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 4px; margin: 4px 0 0 !important; padding: 0 !important; list-style: none; }
.rt-evolucao li { display: inline-flex; align-items: center; gap: 4px; margin: 0 !important; font-size: 14px !important; font-weight: 800; line-height: 1.4 !important; }
.rt-evolucao li > span { padding: 3px 11px; border-radius: 99px; background: #f3e7d8; box-shadow: inset 0 0 0 2px #e2cfa6; color: #6b4530; }
.rt-evolucao li + li::before { content: ""; width: 0; height: 0; border: 5px solid transparent; border-left: 7px solid #c9a17b; border-right: 0; margin: 0 2px 0 3px; }
.rt-evolucao li.rt-evolucao__atual > span { background: linear-gradient(#b48767, #9b6b4b); color: #fff7ea; box-shadow: inset 0 0 0 2px #e4c6a8; }
.rt-evolucao li.rt-evolucao__trans > span { background: linear-gradient(#ffe9a6, #f5c451); color: #7a4a10; box-shadow: inset 0 0 0 2px #c58a1c; }
.rt-evolucao small { font-size: 11.5px; font-weight: 700; color: var(--rt-texto-suave); }
/* atalhos por familia */
.rt-atalhos { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 12px; margin: 0 auto 36px; max-width: 1100px; padding: 0; list-style: none; }
.rt-atalhos a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 4px 16px 4px 6px; border-radius: 99px; background: rgba(255, 250, 238, .92); box-shadow: inset 0 0 0 2px #e2cfa6, 0 4px 10px rgba(80, 45, 15, .15); font-weight: 800; font-size: 15px; color: #6b4530; text-decoration: none; transition: transform .2s, color .2s; }
.rt-atalhos a:hover { transform: translateY(-2px); color: var(--rt-vermelho); }
.rt-atalhos a::before { content: ""; width: 26px; height: 26px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #fff 0, var(--gema, #f5c451) 45%, #8a5a3b 120%); box-shadow: 0 0 0 2px #fff, 0 0 0 3px #d9b58e; }

@media (max-width: 1099px) {
  .rt-grade { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
}
@media (max-width: 1023px) {
  .rt-abas.rt-abas--fluxo { margin: 0 0 18px; padding: 0; background: none; box-shadow: none; width: auto; }
  .rt-abas.rt-abas--tira { padding: 8px 6px; border-radius: 22px; background: linear-gradient(#fbf6ea, #f3ead6); box-shadow: inset 0 0 0 1px #e1d2b1, 0 0 0 5px #fbf4e4, 0 0 0 6px #d9c39a, 0 10px 20px rgba(80, 45, 15, .2); }
  .rt-abas--fluxo .rt-abas__lista { overflow: visible; }
  .rt-abas--fluxo .rt-abas__aba { padding: 5px 12px; font-size: 15px; }
  .rt-quadro.rt-quadro--fluxo { display: block; padding: 10px; border-radius: 22px; }
  .rt-quadro--fluxo::before { inset: 5px; border-radius: 18px; }
  .rt-quadro--fluxo > .rt-quadro__papel { padding: 30px 16px 22px; }
  .rt-quadro--fluxo > .rt-quadro__papel::before { inset: 8px; }
  .rt-quadro--com-placa > .rt-quadro__papel { padding-top: 44px; }
  .rt-quadro__placa { top: -30px; }
  .rt-quadro__placa .rt-placa { font-size: 23px; height: 50px; padding: 0 20px; }
}
@media (max-width: 640px) {
  .rt-form__duplo { grid-template-columns: 1fr; }
  .rt-ficha { grid-template-columns: 1fr; gap: 18px; }
  .rt-ficha__carta { width: 116px; margin: 0 auto; }
  .rt-ficha-classe { grid-template-columns: 1fr; gap: 18px; }
  .rt-ficha-classe__arte { width: 190px; margin: 0 auto; }
  .rt-papel .rt-ficha-classe__texto h2 { text-align: center; }
  .rt-papeis { justify-content: center; }
  .rt-tabela th, .rt-tabela td { padding: 8px 10px; font-size: 14px; }
  .rt-lista--completa .rt-lista__linha { font-size: 15.5px; }
  .rt-atalhos a { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .rt-ficha-classe:hover .rt-ficha-classe__arte img { transform: translateX(-50%); }
}
.rt-contagem { margin: 0 0 4px; text-align: right; font-size: 13.5px; font-weight: 800; color: var(--rt-texto-suave); }
/* botao dentro do papel: o .rt-papel a (vermelho) nao pode vencer a cor do botao */
.rt-papel a.rt-botao, .rt-papel a.rt-pilula-escura { color: #fff; }

/* ---- 22. conta logada no menu (rt.js: iniciarSessao) --------------------- */
.rt-menu__usuario { display: inline-flex; align-items: baseline; gap: 2px; max-width: 14ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rt-menu__usuario b { color: var(--rt-vermelho, #c8402f); font-weight: 800; overflow: hidden; text-overflow: ellipsis; }
.rt-menu__sair { margin: 0; }
.rt-menu__sair button { all: unset; display: flex; width: 100%; box-sizing: border-box; padding: 8px 12px; border-radius: 7px; cursor: pointer; font-size: 14px; font-weight: 700; color: var(--rt-menu-texto); }
.rt-menu__sair button:hover, .rt-menu__sair button:focus-visible { background: #fbf1e2; color: var(--rt-menu-ativo); outline: none; }
@media (max-width: 1023px) {
  .rt-menu__usuario { max-width: calc(100% - 24px); }
  .rt-menu__sair { border-top: 1px solid #efe2cf; margin-top: 4px; padding-top: 4px; }
  .rt-menu__sair button { font-size: 16px; padding: 10px 8px; min-height: var(--rt-toque); align-items: center; }
}
/* tablet: gaveta lateral em vez de tela cheia */
@media (min-width: 600px) and (max-width: 1023px) {
  .rt-menu { left: auto; width: min(420px, 86vw); box-shadow: -12px 0 30px rgba(60, 30, 10, .25); }
}

/* ---- 23. utilitarios globais (documentados no topo) ---------------------- */
.rt-rolagem-x { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; overscroll-behavior-x: contain; }
.rt-fluido { display: block; width: 100%; max-width: 100%; height: auto; }
iframe.rt-fluido, video.rt-fluido { aspect-ratio: 16 / 9; }
.rt-toque { min-width: var(--rt-toque); min-height: var(--rt-toque); display: inline-flex; align-items: center; justify-content: center; }
.rt-quebra { overflow-wrap: anywhere; word-break: break-word; }

/* ---------- 24. icones ---------------------------------------------- */
/* ==== RT-ICONES (gerado por tools/gerar-icones.py — nao edite) ==== */
/* Icones do conjunto unico (tools/site/assets/icones.svg). Ver assets/README.md, "Icones".
   <svg class="rt-ico" aria-hidden="true"><use href="/assets/icones.svg#i-NOME"/></svg>
   Sem markup (::before/::after): mask: var(--rt-i-NOME) + background: currentColor,
   ou <span class="rt-ico-m" style="--rt-ico: var(--rt-i-NOME)"></span>. */
.rt-ico { display: inline-block; flex: none; width: 1.15em; height: 1.15em; vertical-align: -.2em; overflow: visible; }
.rt-ico--g { width: 1.4em; height: 1.4em; vertical-align: -.3em; }
.rt-ico-m { display: inline-block; flex: none; width: 1.15em; height: 1.15em; vertical-align: -.2em; background: currentColor; -webkit-mask: var(--rt-ico) center / contain no-repeat; mask: var(--rt-ico) center / contain no-repeat; }
:root {
  --rt-i-confirmado: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.6l4.4 4.3L19 7.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-fechar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-alerta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.4 4.7a1.85 1.85 0 0 1 3.2 0l7.6 13.3a1.85 1.85 0 0 1-1.6 2.8H4.4a1.85 1.85 0 0 1-1.6-2.8z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 9.6v4.3' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='17.1' r='1.15' fill='%23000'/%3E%3C/svg%3E");
  --rt-i-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 11v5.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='7.8' r='1.15' fill='%23000'/%3E%3C/svg%3E");
  --rt-i-fixado: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 3.6h6M10.2 3.6v5.6l-3.4 3.9h10.4l-3.4-3.9V3.6M12 13.1v7.3' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-trancado: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='5' y='10.4' width='14' height='10' rx='2.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8 10.4V7.6a4 4 0 0 1 8 0v2.8M12 14.3v2.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-apagar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 6.6h16M9.4 6.6V4.3h5.2v2.3M6.2 6.6l.9 12.5a1.8 1.8 0 0 0 1.8 1.7h6.2a1.8 1.8 0 0 0 1.8-1.7l.9-12.5M10 10.6v6M14 10.6v6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-editar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.2 19.8l.9-4.3L15.4 5.2a2 2 0 0 1 2.8 0l.6.6a2 2 0 0 1 0 2.8L8.5 18.9zM13.6 7l3.4 3.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-denunciar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.6 21V3.8M5.6 4.6c2.5-1.5 4.9-1.5 7 0s4.6 1.5 6.8 0v8.5c-2.2 1.5-4.7 1.5-6.8 0s-4.5-1.5-7 0' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-escudo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2.9l7.4 2.8v5.6c0 4.5-3 8.3-7.4 9.8-4.4-1.5-7.4-5.3-7.4-9.8V5.7z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M8.8 12l2.2 2.2 4.2-4.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-microfone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='9' y='3' width='6' height='11' rx='3' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5.6 11.2a6.4 6.4 0 0 0 12.8 0M12 17.6V21M8.9 21h6.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-microfone-desligado: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M15 10.2V6a3 3 0 0 0-5.6-1.5M9 9v2a3 3 0 0 0 4.8 2.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M18.4 11.2a6.4 6.4 0 0 1-1 3.4M5.6 11.2a6.4 6.4 0 0 0 9.9 5.4M12 17.6V21M8.9 21h6.2M4.5 3.8l15 16.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-volume: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9.3h3.3L12 5.2v13.6l-4.7-4.1H4z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15.5 9.3a3.9 3.9 0 0 1 0 5.4M18.2 6.6a7.7 7.7 0 0 1 0 10.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-mudo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 9.3h3.3L12 5.2v13.6l-4.7-4.1H4z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15.8 9.6l4.8 4.8M20.6 9.6l-4.8 4.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-globo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='9.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M2.8 12h18.4M12 2.8c2.6 2.6 3.8 5.7 3.8 9.2s-1.2 6.6-3.8 9.2c-2.6-2.6-3.8-5.7-3.8-9.2s1.2-6.6 3.8-9.2z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-estrela: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.4l2.6 5.3 5.8.8-4.2 4.1 1 5.8L12 16.7l-5.2 2.7 1-5.8-4.2-4.1 5.8-.8z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-estrela-cheia: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.4l2.6 5.3 5.8.8-4.2 4.1 1 5.8L12 16.7l-5.2 2.7 1-5.8-4.2-4.1 5.8-.8z' fill='%23000' stroke='%23000' stroke-width='1.8' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-pergaminho: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7.6 3.8h10.6a2.2 2.2 0 0 1 0 4.4h-1.8M7.6 3.8a2.2 2.2 0 0 0-2.2 2.2v.6M7.6 3.8a2.2 2.2 0 0 1 2.2 2.2v11.8a2.4 2.4 0 0 1-2.4 2.4M16.4 8.2v9.6a2.4 2.4 0 0 1-2.4 2.4H5.8a2.2 2.2 0 0 1-2.2-2.2v-.6h6.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12.4 10.4h1.8M12.4 13.8h1.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-sair-chamada: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.4 13.3c4.9-4.3 12.3-4.3 17.2 0 .5.4.6 1.2.1 1.7l-1.5 1.7c-.4.4-1 .5-1.5.2l-2.3-1.2c-.4-.2-.6-.6-.6-1v-1.8c-2-.6-4.6-.6-6.6 0v1.8c0 .4-.2.8-.6 1l-2.3 1.2c-.5.3-1.1.2-1.5-.2l-1.5-1.7c-.5-.5-.4-1.3.1-1.7z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-janela: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.6 4.4h6v6M19.6 4.4l-8.4 8.4M17 13.6v4.2a1.8 1.8 0 0 1-1.8 1.8H6.2a1.8 1.8 0 0 1-1.8-1.8V8.8A1.8 1.8 0 0 1 6.2 7h4.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-seta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.6 12h14.6M13.4 6.2l5.8 5.8-5.8 5.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-seta-esquerda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19.4 12H4.8M10.6 6.2L4.8 12l5.8 5.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-seta-cima: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 19.4V4.8M6.2 10.6L12 4.8l5.8 5.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-seta-baixo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.6v14.6M6.2 13.4l5.8 5.8 5.8-5.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-cerquilha: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9.6 4l-2 16M16.4 4l-2 16M4.6 9h15.6M3.8 15h15.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-losango: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 4.5l7.5 7.5-7.5 7.5L4.5 12z' fill='%23000'/%3E%3C/svg%3E");
  --rt-i-mapa: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21s-6.4-6.1-6.4-11a6.4 6.4 0 0 1 12.8 0c0 4.9-6.4 11-6.4 11z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='10' r='2.4' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-grupo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='9' cy='8.4' r='3.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.2 19.6c.6-3.4 2.9-5.4 5.8-5.4s5.2 2 5.8 5.4M15.6 5.4a3.2 3.2 0 0 1 0 6M17.4 14.4c1.9.6 3.1 2.4 3.4 5.2' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-amigos: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 19.6s-7.6-4.6-7.6-10a4.2 4.2 0 0 1 7.6-2.5 4.2 4.2 0 0 1 7.6 2.5c0 5.4-7.6 10-7.6 10z' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-engrenagem: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='12' r='3' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M12 3.2v2.4M12 18.4v2.4M3.2 12h2.4M18.4 12h2.4M5.8 5.8l1.7 1.7M16.5 16.5l1.7 1.7M5.8 18.2l1.7-1.7M16.5 7.5l1.7-1.7' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='12' cy='12' r='6.6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-minimizar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5.5 17.5h13' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  --rt-i-expandir: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.6 9.4V4.6h4.8M19.4 9.4V4.6h-4.8M4.6 14.6v4.8h4.8M19.4 14.6v4.8h-4.8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
/* ==== /RT-ICONES ==== */

/* ==== DiskMT (/diskmt.html: o chat, o fórum e a voz do RagnaMT) ==== */
.rt-dk-destaque { max-width: 1180px; margin: 0 auto 40px; }
.rt-dk-destaque h2 { margin: 0 0 12px; }
.rt-dk-botoes { justify-content: flex-start; }
.rt-dk-botao { gap: 10px; min-height: 56px; padding: 0 36px; font-size: 22px; }
.rt-dk-botao .rt-ico { width: 1.1em; height: 1.1em; }
.rt-dk-recursos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; max-width: 1180px; margin: 0 auto 44px; padding: 0; list-style: none; }
.rt-dk-recursos li { position: relative; padding: 52px 18px 18px; border-radius: 16px; text-align: center; font-weight: 700; color: #6b4530; background: linear-gradient(#fdf9ef, #f5ead2); box-shadow: 0 0 0 2px #e1cfa8, 0 10px 20px rgba(80, 45, 15, .2); margin-top: 30px; }
.rt-dk-recursos b { display: block; margin-bottom: 6px; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 24px; color: var(--rt-vermelho); }
.rt-dk-recursos__icone { position: absolute; left: 50%; top: -30px; width: 64px; height: 64px; margin-left: -32px; border-radius: 50%; display: grid; place-items: center; color: #fff; background: radial-gradient(circle at 35% 30%, var(--rt-vermelho-claro), var(--rt-vermelho-escuro)); box-shadow: 0 0 0 4px #ffe28c, 0 0 0 6px #b8781c, 0 8px 14px rgba(60, 30, 10, .35); }
.rt-dk-recursos__icone .rt-ico { width: 30px; height: 30px; vertical-align: 0; }
.rt-dk-canais { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 16px 0 6px; padding: 0 !important; list-style: none; }
.rt-dk-canais li { margin: 0 !important; display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 14px; background: radial-gradient(circle at 50% 0, #fff7d6, #fde7a6); box-shadow: inset 0 0 0 2px #f2c86a; }
.rt-dk-canais img { flex: none; width: 56px; height: 56px; object-fit: contain; image-rendering: pixelated; filter: drop-shadow(0 3px 2px rgba(60, 30, 10, .3)); }
.rt-dk-canais span { line-height: 1.4; }
.rt-dk-canais b { display: block; font-family: var(--rt-fonte-titulo); font-weight: 400; font-size: 21px; color: #c3302a; }
.rt-dk-etiquetas { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 14px 0 10px; padding: 0 !important; list-style: none; }
.rt-dk-etiquetas li { margin: 0 !important; padding: 6px 14px; border-radius: 999px; font-weight: 800; font-size: 15px; color: #fff; background: linear-gradient(#a5744f, #7d5236); box-shadow: inset 0 -2px 0 rgba(0, 0, 0, .2); }
.rt-dk-lista-icones { padding: 0 !important; list-style: none; display: grid; gap: 12px; }
.rt-dk-lista-icones li { margin: 0 !important; display: flex; gap: 12px; align-items: flex-start; }
.rt-dk-lista-icones .rt-ico { flex: none; width: 34px; height: 34px; padding: 7px; border-radius: 50%; color: #fff; background: #8a5a3b; vertical-align: 0; box-sizing: border-box; margin-top: -4px; }
.rt-dk-passos { counter-reset: dk; padding: 0 !important; list-style: none; display: grid; gap: 12px; }
.rt-dk-passos li { counter-increment: dk; margin: 0 !important; position: relative; padding: 4px 0 4px 52px; min-height: 38px; }
.rt-dk-passos li::before { content: counter(dk); position: absolute; left: 0; top: 0; width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; font-family: var(--rt-fonte-titulo); font-size: 20px; color: #fff; background: radial-gradient(circle at 35% 30%, var(--rt-ouro-claro), var(--rt-ouro-escuro)); box-shadow: 0 0 0 3px #fff3c4; }
.rt-dk-perguntas { display: grid; gap: 10px; }
.rt-dk-perguntas details { border-radius: 14px; background: rgba(255, 247, 214, .85); box-shadow: inset 0 0 0 2px #f2d88a; }
.rt-dk-perguntas summary { cursor: pointer; list-style: none; position: relative; padding: 14px 48px 14px 18px; font-weight: 900; color: #6b4530; }
.rt-dk-perguntas summary::-webkit-details-marker { display: none; }
.rt-dk-perguntas summary::after { content: ""; position: absolute; right: 18px; top: 50%; width: 10px; height: 10px; margin-top: -7px; border-right: 3px solid #b0632f; border-bottom: 3px solid #b0632f; transform: rotate(45deg); transition: transform .2s; }
.rt-dk-perguntas details[open] summary::after { transform: rotate(-135deg); margin-top: -2px; }
.rt-dk-perguntas details p { margin: 0; padding: 0 18px 16px; }
.rt-dk-chamada { display: flex; align-items: center; gap: 22px; }
.rt-dk-chamada__arte { flex: none; width: 74px; height: 72px; image-rendering: pixelated; }
.rt-dk-chamada h2 { margin-top: 0; }
@media (max-width: 1100px) { .rt-dk-recursos { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 44px; } }
@media (max-width: 720px) {
  .rt-dk-canais { grid-template-columns: minmax(0, 1fr); }
  .rt-dk-botoes { justify-content: center; }
  .rt-dk-chamada { flex-direction: column; text-align: center; }
}
@media (max-width: 480px) { .rt-dk-recursos { grid-template-columns: minmax(0, 1fr); } }
/* ==== /DiskMT ==== */
