/* Root Farm Pulse: estilo da página (separado do rootpulse.html em 24/10/2026; antes ficava dentro da página) */
        :root {
            --bg-main: #0b0e14;
            --bg-panel: #131822;
            --bg-card: #1a2233;
            --accent: #3fb1c6;
            --accent-purple: #9d4edd;
            --logo-new-texto: #e3e8ef;   /* NEW: letra prata */
            --logo-prata: #e3e8ef;       /* detalhes do controle */
            --logo-alerta: #e63946; --logo-alerta-rgb: 230, 57, 70;   /* vermelho: LED e contorno do NEW */
            --logo-eco: #ff4057;         /* eco vermelho do PULSE */
            --logo-game: #7a7af0; --logo-game-rgb: 122, 122, 240;     /* GAME e contorno do controle */
            --text-main: #ffffff;
            --text-muted: #8c9bae;
            --border: #223049;
        }
        /* ======================= TEMAS DE COR ======================= */
        :root {
            --accent-rgb: 63, 177, 198; --purple-rgb: 157, 78, 221;
            --text-strong: #ffffff; --text-soft: #d7dde6; --accent-contrast: #0b0e14;
            --ok: #66cc33; --ok-rgb: 102, 204, 51;
            --warn: #ffcc33; --warn-rgb: 255, 204, 51;
            --bad: #ff4d4d; --bad-rgb: 255, 77, 77;
            --shadow: rgba(0, 0, 0, 0.45);
        }
        html[data-tema="claro"] {
            --logo-new-texto: #1f2533; --logo-game: #5b5bd6; --logo-game-rgb: 91, 91, 214; --logo-eco: #e63946;
            --bg-main: #f2f4f8; --bg-panel: #ffffff; --bg-card: #eef1f6;
            --accent: #0a8fa8; --accent-rgb: 10, 143, 168;
            --accent-purple: #7b2cbf; --purple-rgb: 123, 44, 191; --accent-purple-glow: rgba(123, 44, 191, 0.25);
            --text-main: #0f172a; --text-strong: #0b0e14; --text-soft: #334155; --text-muted: #5b6b80;
            --border: #d5dce7; --accent-contrast: #ffffff;
            --ok: #2e8b1f; --ok-rgb: 46, 139, 31; --warn: #b7791f; --warn-rgb: 183, 121, 31; --bad: #d62828; --bad-rgb: 214, 40, 40;
            --shadow: rgba(15, 23, 42, 0.12);
        }
        html[data-tema="contraste"] {
            --logo-new-texto: #ffffff; --logo-game: #00e5ff; --logo-game-rgb: 0, 229, 255; --logo-alerta: #ff4d4d; --logo-alerta-rgb: 255, 77, 77; --logo-eco: #ff4d4d;
            --bg-main: #000000; --bg-panel: #000000; --bg-card: #0d0d0d;
            --accent: #ffea00; --accent-rgb: 255, 234, 0;
            --accent-purple: #00e5ff; --purple-rgb: 0, 229, 255; --accent-purple-glow: rgba(0, 229, 255, 0.4);
            --text-main: #ffffff; --text-strong: #ffffff; --text-soft: #ffffff; --text-muted: #e6e6e6;
            --border: #ffffff; --accent-contrast: #000000;
            --ok: #00ff66; --ok-rgb: 0, 255, 102; --warn: #ffea00; --warn-rgb: 255, 234, 0; --bad: #ff5c5c; --bad-rgb: 255, 92, 92;
        }
        /* Daltonismo: bom = azul, médio = amarelo, ruim = laranja (cores que se distinguem bem) */
        html[data-tema="daltonico"] {
            --logo-game: #e69f00; --logo-game-rgb: 230, 159, 0; --logo-alerta: #d55e00; --logo-alerta-rgb: 213, 94, 0; --logo-eco: #d55e00;
            /* Paleta Okabe-Ito (feita para daltonismo): azul-céu no lugar do verde-água e laranja no lugar do roxo */
            --accent: #56b4e9; --accent-rgb: 86, 180, 233;
            --accent-purple: #e69f00; --purple-rgb: 230, 159, 0; --accent-purple-glow: rgba(230, 159, 0, 0.4);
            --ok: #4da3ff; --ok-rgb: 77, 163, 255;
            --warn: #f0e442; --warn-rgb: 240, 228, 66;
            --bad: #d55e00; --bad-rgb: 213, 94, 0;
        }
        html[data-tema="daltonico"] .score-value.score-green::after { content: ' ▲'; font-size: 0.55em; }
        html[data-tema="daltonico"] .score-value.score-yellow::after { content: ' ●'; font-size: 0.55em; }
        html[data-tema="daltonico"] .score-value.score-red::after { content: ' ▼'; font-size: 0.55em; }
        html[data-tema="contraste"] .score-box, html[data-tema="contraste"] .news-card, html[data-tema="contraste"] .game-card { border-width: 2px; }
        html[data-tema="contraste"] a:focus-visible, html[data-tema="contraste"] button:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
        /* Textos por cima de imagens continuam claros em qualquer tema */
        .hero-content, .news-info, .cover-extra-badge, .major-badge, .galeria-seta, .galeria-contador, .hero-arrow, .lightbox, .galeria-mini.video { --text-strong: #ffffff; --text-soft: #e2e8f0; }
        html[data-tema="claro"] .hero-content { background: linear-gradient(to top, rgba(11,14,20,0.95) 0%, rgba(11,14,20,0.85) 45%, rgba(11,14,20,0.5) 75%, transparent 100%); }
        html[data-tema="claro"] .news-info { background: linear-gradient(to top, rgba(11,14,20,0.95) 0%, rgba(11,14,20,0.8) 55%, transparent 100%); }
        html[data-tema="claro"] .hero-content .news-meta, html[data-tema="claro"] .news-info .news-meta { color: #c89bff; }

        /* Botão e menu de temas */
        .tema-seletor { position: relative; }
        .tema-botao { width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--border); background: var(--bg-main); color: var(--text-strong); cursor: pointer; font-size: 1.1rem; display: flex; align-items: center; justify-content: center; transition: border-color 0.2s; }
        .tema-botao:hover { border-color: var(--accent); }
        .tema-menu { display: none; position: absolute; right: 0; top: calc(100% + 8px); background: var(--bg-panel); border: 1px solid var(--border); border-radius: 12px; padding: 6px; min-width: 190px; box-shadow: 0 10px 30px var(--shadow); z-index: 1500; }
        .tema-menu.aberto { display: block; }
        .tema-menu button { display: flex; align-items: center; gap: 10px; width: 100%; background: none; border: none; color: var(--text-main); padding: 9px 12px; border-radius: 8px; cursor: pointer; font-size: 0.88rem; font-weight: 600; text-align: left; }
        .tema-menu button:hover { background: var(--bg-card); }
        .tema-menu button.ativo { color: var(--accent); }
        .tema-menu button.ativo::after { content: '✓'; margin-left: auto; }
        .tema-amostra { width: 18px; height: 18px; border-radius: 50%; border: 1px solid var(--border); flex-shrink: 0; }
        .header-direita { display: flex; align-items: center; gap: 12px; }
        html[data-tema="claro"] nav { background: var(--bg-card); }
        html[data-tema="claro"] .cal-selectors select { background-image: url('data:image/svg+xml;utf8,<svg fill="%230b0e14" height="18" viewBox="0 0 24 24" width="18" xmlns="http://www.w3.org/2000/svg"><path d="M7 10l5 5 5-5z"/></svg>'); text-shadow: none; }
        html[data-tema="claro"] .game-card, html[data-tema="claro"] .news-card, html[data-tema="claro"] .hero-news { box-shadow: 0 4px 14px var(--shadow); }
        html[data-tema="claro"] .modal-overlay { background: rgba(15, 23, 42, 0.6); }
        html[data-tema="claro"] .timeline-day.has-games::after, html[data-tema="claro"] .modal-cal-day.has-games::after { box-shadow: none; }

        * { margin: 0; padding: 0; box-sizing: border-box; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; }
        body { background-color: var(--bg-main); color: var(--text-main); min-height: 100vh; display: flex; flex-direction: column; }

        header { background-color: var(--bg-panel); border-bottom: 1px solid var(--border); padding: 1.1rem 2.5rem; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 1000; gap: 20px; }
        /* ===== CABEÇALHO: acompanha a rolagem, encolhe e vira "vidro fosco" ===== */
        header { transition: padding 0.25s, background-color 0.25s, box-shadow 0.25s; border-bottom-color: transparent; }
        header::after { content: ''; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: linear-gradient(90deg, var(--accent), var(--accent-purple)); opacity: 0.35; transition: opacity 0.25s; pointer-events: none; }
        header.rolado { padding-top: 0.55rem; padding-bottom: 0.55rem; background-color: color-mix(in srgb, var(--bg-panel) 80%, transparent); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35); }
        header.rolado::after { opacity: 1; }
        header .brand-icon, header .brand-title { transition: width 0.25s, height 0.25s, font-size 0.25s; }
        header.rolado .brand-icon { width: 38px; height: 38px; }
        header.rolado .brand-title { font-size: 1.3rem; }

        .brand { display: flex; align-items: center; gap: 14px; text-decoration: none; }
        .brand-title { font-size: 1.6rem; font-weight: 900; letter-spacing: 2px; color: var(--text-strong); text-transform: uppercase; line-height: 1; }

        .btn-voltar { background: transparent; border: 1px solid var(--accent); color: var(--accent); padding: 8px 20px; border-radius: 8px; text-decoration: none; font-weight: bold; transition: 0.3s; white-space: nowrap; }
        .btn-voltar:hover { background: var(--accent); color: var(--accent-contrast); }

        main { max-width: 860px; margin: 40px auto; padding: 0 20px; width: 100%; flex: 1; }

        .noticia-topo { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
        .badge { background: rgba(var(--accent-rgb), 0.15); color: var(--accent); padding: 4px 10px; border-radius: 4px; font-size: 0.75rem; font-weight: bold; text-transform: uppercase; }
        .noticia-data { color: var(--text-muted); font-size: 0.85rem; }
        .news-tag img { width: 13px; height: 13px; min-width: 13px; aspect-ratio: 1 / 1; object-fit: contain; margin-right: 4px; flex-shrink: 0; }
        .news-tag { display: inline-flex; align-items: center; font-size: 0.72rem; font-weight: 700; color: var(--accent); background: rgba(var(--accent-rgb), 0.08); border: 1px solid rgba(var(--accent-rgb), 0.25); border-radius: 4px; padding: 2px 7px; }
        .noticia-titulo { font-size: 2.6rem; font-weight: 900; line-height: 1.15; margin-bottom: 18px; color: var(--text-strong); }
        .noticia-resumo { font-size: 1.25rem; line-height: 1.6; color: var(--text-muted); margin-bottom: 18px; }
        .noticia-autor { color: var(--accent-purple); font-weight: bold; text-transform: uppercase; font-size: 0.8rem; margin-bottom: 28px; }
        /* ===== ACESSIBILIDADE ===== */
        .pular-conteudo { position: absolute; left: 12px; top: -60px; z-index: 9999; background: var(--accent); color: var(--accent-contrast); padding: 10px 16px; border-radius: 8px; font-weight: 800; text-decoration: none; transition: top 0.15s; }
        .pular-conteudo:focus { top: 12px; }
        :focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
        main:focus { outline: none; }
        .noticia-figura { margin: 0 0 34px; }
        .noticia-capa { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 16px; border: 1px solid var(--border); box-shadow: 0 10px 30px rgba(0,0,0,0.5); background: #222; display: block; }
        .capa-credito { margin-top: 8px; font-size: 0.75rem; color: var(--text-muted); text-align: right; }
        .capa-credito a { color: var(--text-soft); text-decoration: underline; text-decoration-color: rgba(var(--accent-rgb), 0.4); text-underline-offset: 2px; }
        .capa-credito a:hover { color: var(--accent); }
        .noticia-texto, .noticia-texto-cont { font-size: 1.15rem; line-height: 1.85; color: var(--text-soft); }

        /* Termos com definição: sublinhado pontilhado + balão (mouse, toque ou teclado) */
        .termo { position: relative; border-bottom: 2px dotted var(--accent); cursor: help; border-radius: 2px; outline: none; }
        .termo:hover, .termo:focus-visible, .termo.aberto { background: rgba(var(--accent-rgb), 0.12); }
        .termo:focus-visible { box-shadow: 0 0 0 2px var(--accent); }
        .termo-balao { position: absolute; bottom: calc(100% + 10px); left: 50%; transform: translateX(calc(-50% + var(--desvio, 0px))); z-index: 50;
                       width: max-content; max-width: min(300px, calc(100vw - 32px)); padding: 12px 14px; border-radius: 12px; background: var(--bg-panel);
                       border: 1px solid rgba(var(--accent-rgb), 0.45); box-shadow: 0 12px 30px rgba(0,0,0,0.5); color: var(--text-soft);
                       font-size: 0.86rem; line-height: 1.5; font-weight: 400; text-align: left; white-space: normal;
                       display: none; pointer-events: none; }   /* fechado: não ocupa espaço (não alarga a página no celular) */
        .termo-balao b { display: block; color: var(--accent); font-size: 0.92rem; margin-bottom: 2px; }
        .termo-balao small { display: block; margin-top: 6px; font-size: 0.68rem; color: var(--text-muted); }
        .termo:hover .termo-balao, .termo:focus-visible .termo-balao, .termo.aberto .termo-balao { display: block; }
        .termo.embaixo .termo-balao { bottom: auto; top: calc(100% + 10px); }
        /* Nome do jogo com link para a página "Saiba mais" */
        a.badge { text-decoration: none; transition: background 0.2s; }
        a.badge:hover, a.badge:focus-visible { background: rgba(var(--accent-rgb), 0.28); outline: none; }
        a.badge::after { content: ' →'; }
        .link-jogo { color: var(--accent); font-weight: 700; text-decoration: underline; text-decoration-color: rgba(var(--accent-rgb), 0.45); text-underline-offset: 3px; }
        .link-jogo:hover, .link-jogo:focus-visible { text-decoration-color: var(--accent); }
        /* Cartão "Sobre o jogo" no fim da notícia: capa + nome (levam ao "Saiba mais") e os botões "Saiba mais" e "Adquira já" */
        .cartao-jogo { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 30px; padding: 14px; border-radius: 14px; color: var(--text-strong);
                       background: linear-gradient(var(--bg-panel), var(--bg-panel)) padding-box, linear-gradient(135deg, var(--accent-purple), var(--accent)) border-box;
                       border: 1.5px solid transparent; }
        .cartao-jogo .cj-link { flex: 1 1 260px; min-width: 0; display: flex; align-items: center; gap: 16px; text-decoration: none; color: inherit; border-radius: 10px; }
        .cartao-jogo .cj-link:hover b, .cartao-jogo .cj-link:focus-visible b { color: var(--accent); }
        .cartao-jogo .cj-link:focus-visible { outline: 2px solid var(--accent); outline-offset: 4px; }
        .cartao-jogo img { width: 64px; height: 86px; object-fit: cover; border-radius: 8px; flex-shrink: 0; background: var(--bg-card); }
        .cartao-jogo .cj-txt { flex: 1; min-width: 0; overflow-wrap: anywhere; }
        .cartao-jogo small { display: block; font-size: 0.7rem; font-weight: 800; letter-spacing: 2px; color: var(--accent); text-transform: uppercase; }
        .cartao-jogo b { display: block; font-size: 1.1rem; margin: 3px 0; transition: color 0.15s; }
        .cartao-jogo span.cj-sub { font-size: 0.82rem; color: var(--text-muted); }
        .cartao-jogo .cj-acoes { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
        .cartao-jogo .cj-saiba { display: inline-flex; align-items: center; gap: 6px; padding: 10px 18px; border-radius: 10px; font-weight: 900; font-size: 0.9rem; text-decoration: none;
                                 color: var(--text-strong); border: 1.5px solid transparent;
                                 background: linear-gradient(var(--bg-card), var(--bg-card)) padding-box, linear-gradient(120deg, var(--accent-purple), var(--accent)) border-box; transition: transform 0.15s; }
        .cartao-jogo .cj-saiba:hover, .cartao-jogo .cj-saiba:focus-visible { transform: translateY(-2px); outline: none; }
        .cartao-jogo .cj-saiba span { color: var(--accent); transition: transform 0.2s; }
        .cartao-jogo .cj-saiba:hover span { transform: translateX(4px); }
        @media (max-width: 600px) { .cartao-jogo .cj-acoes { width: 100%; } .cartao-jogo .cj-acoes > * { flex: 1 1 auto; } .cartao-jogo .cj-saiba { justify-content: center; } }
        .noticia-fontes { margin-top: 34px; padding: 16px 20px; background: var(--bg-panel); border: 1px solid var(--border); border-radius: 10px; font-size: 0.9rem; color: var(--text-muted); }
        .noticia-fontes a { color: var(--accent); text-decoration: none; font-weight: 600; }
        .noticia-fontes a:hover { text-decoration: underline; }

        .compartilhar { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; align-items: center; color: var(--text-muted); font-size: 0.9rem; }
        .compartilhar button, .compartilhar a { background: var(--bg-card); border: 1px solid var(--border); color: var(--text-strong); padding: 8px 14px; border-radius: 8px; cursor: pointer; font-weight: 600; font-size: 0.85rem; text-decoration: none; transition: 0.2s; }
        .compartilhar button:hover, .compartilhar a:hover { border-color: var(--accent); color: var(--accent); }

        .secao-titulo { font-size: 1.2rem; font-weight: 900; letter-spacing: 2px; text-transform: uppercase; margin-bottom: 18px; padding-bottom: 12px; border-bottom: 1px solid var(--border); }
        .secao-titulo span { color: var(--accent); }

        .comentarios-section { margin-top: 60px; }
        .comentarios-aviso { background: var(--bg-panel); padding: 20px; border-radius: 8px; border: 1px dashed var(--border); color: var(--text-muted); text-align: center; }

        .relacionadas { margin-top: 60px; }
        .relacionadas-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 20px; }
        .rel-card { background: var(--bg-panel); border: 1px solid var(--border); border-radius: 12px; overflow: hidden; text-decoration: none; color: var(--text-strong); transition: transform 0.2s, border-color 0.2s; display: flex; flex-direction: column; }
        .rel-card:hover { transform: translateY(-4px); border-color: var(--accent); }
        .rel-card img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: #222; }
        .rel-card h4 { padding: 14px 16px 18px; font-size: 1rem; line-height: 1.35; }

        .aviso { text-align: center; color: var(--text-muted); margin-top: 60px; }
        .aviso a { color: var(--accent); }

        /* ===== RODAPÉ ===== */
        footer.rodape { position: relative; margin-top: 50px; background: var(--bg-panel); color: var(--text-muted); font-size: 0.88rem; text-align: left; padding: 0; border-top: none; }
        footer.rodape::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 2px; background: linear-gradient(90deg, var(--accent), var(--accent-purple)); }
        .rodape-topo { max-width: 1200px; margin: 0 auto; padding: 36px 24px 26px; display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; flex-wrap: wrap; }
        .rodape-marca { display: flex; flex-direction: column; gap: 12px; max-width: 340px; }
        .rodape-logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
        .rodape-logo .brand-icon { width: 38px; height: 38px; }
        .rodape-logo .brand-title { font-size: 1.2rem; }
        .rodape .brand-icon *, .rodape .brand-title *, .rodape .logo-pulse::before { animation: none !important; } .rodape .logo-ecg { clip-path: none; opacity: 0.6; }   /* no rodapé o logo fica parado */
        .rodape-marca p { line-height: 1.6; color: var(--text-soft); }
        .rodape-links ul { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 26px; padding-top: 8px; }
        .rodape-links a, .rodape-links button { color: var(--text-soft); text-decoration: none; background: none; border: none; padding: 2px 0; font: inherit; font-weight: 600; cursor: pointer; position: relative; transition: color 0.2s; }
        .rodape-links a::after, .rodape-links button::after { content: ''; position: absolute; left: 0; right: 100%; bottom: -2px; height: 2px; background: var(--accent); transition: right 0.2s; }
        .rodape-links a:hover, .rodape-links button:hover, .rodape-links a:focus-visible, .rodape-links button:focus-visible { color: var(--accent); outline: none; }
        .rodape-links a:hover::after, .rodape-links button:hover::after, .rodape-links a:focus-visible::after, .rodape-links button:focus-visible::after { right: 0; }
        .rodape-base { border-top: 1px solid var(--border); }
        .rodape-base-conteudo { max-width: 1200px; margin: 0 auto; padding: 14px 24px 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; }
        .rodape-miudo { max-width: 760px; font-size: 0.72rem; line-height: 1.55; color: var(--text-muted); display: flex; flex-direction: column; gap: 2px; }
        .rodape-miudo a { color: var(--text-soft); text-decoration: underline; text-decoration-color: rgba(var(--accent-rgb), 0.4); text-underline-offset: 2px; }
        .rodape-miudo a:hover { color: var(--accent); }
        .rodape-topo-btn { background: var(--bg-card); border: 1px solid var(--border); color: var(--text-strong); border-radius: 8px; padding: 7px 14px; font-weight: 700; font-size: 0.8rem; cursor: pointer; transition: border-color 0.2s, color 0.2s; white-space: nowrap; }
        .rodape-topo-btn:hover, .rodape-topo-btn:focus-visible { border-color: var(--accent); color: var(--accent); }
        @media (max-width: 800px) {
            .rodape-topo { flex-direction: column; gap: 24px; padding: 30px 18px 20px; }
            .rodape-marca { max-width: none; }
            .rodape-base-conteudo { flex-direction: column; align-items: flex-start; padding: 16px 18px; }
        }

        /* ===== LOGO NEW GAME PULSE (estilo cyberpunk) =====
           Um "batimento" a cada 2,2 s, em cascata da esquerda para a direita:
           1) o controle pulsa (LED vermelho, contorno vermelho e raio)
           2) 0,5 s depois o NEW acende o contorno vermelho
           3) 0,9 s depois o PULSE brilha, solta um eco vermelho duplo e desenha o traço de batimento (tum-tum)
           As cores ficam no topo do CSS (--logo-...), uma para cada tema. */
        :root { --logo-ciclo: 2.2s; --logo-atraso-new: 0.5s; --logo-atraso-pulse: 0.9s; }
        .brand-icon { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
        .logo-svg { width: 100%; height: 100%; overflow: visible; }
        .logo-img { display: block; object-fit: contain; scale: 1.12; }   /* o círculo já vem com o fundo escuro (como no Instagram) */
        /* Cores da logo: o degradê ciano > azul > roxo (versão suave) nos destaques. O PULSE fica em cor única para manter as animações. */
        :root { --grad-logo: linear-gradient(90deg, #2aa3ba 0%, #3d72c9 52%, #8352cf 100%); --grad-logo-borda: linear-gradient(90deg, rgba(42, 163, 186, 0.6), rgba(61, 114, 201, 0.45), rgba(131, 82, 207, 0.6)); }
        .section-title-logo span { background: var(--grad-logo); -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent; }
        li.nav-indicador, .news-filtro.ativo, .hero-progress, .hero-dot.ativo, .descubra-botao { background: var(--grad-logo) !important; color: #fff !important; border-color: transparent !important; }
        .desafios-home, .cal-unico, .descubra-cartao { border: 2px solid transparent !important; background: linear-gradient(var(--bg-panel), var(--bg-panel)) padding-box, var(--grad-logo-borda) border-box !important; }
        /* PULSE do nome: o ciano claro do batimento da logo (as animações e a linha de batimento usam a mesma cor) */
        :root:not([data-theme="light"]) .logo-pulse { --accent: #8ee9f7; --accent-rgb: 142, 233, 247; color: #8ee9f7; }
        /* Menus no estilo do botão "Ver todos": pílula em degradê com texto branco e forte */
        header nav a.active, header nav a.active:hover { color: #fff !important; font-weight: 800; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.25); }
        li.nav-indicador { box-shadow: 0 4px 14px rgba(61, 114, 201, 0.35) !important; }
        header nav a:not(.active):hover { color: #fff; }
        .mj-compacto, .plat-btn.active, .plat-btn[aria-pressed="true"], #cal-plats button[aria-pressed="true"], .dsh-acao {
            background: var(--grad-logo) !important; color: #fff !important; border-color: transparent !important; font-weight: 800; box-shadow: 0 3px 10px rgba(61, 114, 201, 0.25); }
        .mj-compacto:hover, .mj-compacto:focus-visible { filter: brightness(1.12); }
        @media (max-width: 600px) { header nav a.active { background: var(--grad-logo) !important; } }
        /* Botões de ação principal: a mesma pílula em degradê dos menus. Os secundários continuam discretos; os do Premium, dourados. */
        .ngp-adq-botao, .ngp-com-btn:not(.sec), .gratis-botao, a.des-btn:not(.sec), button.des-btn:not(.sec), .news-ver-todas, .pf-btn.principal, a.botao,
        .sol-btn:not(.sec), .sol-modos button.ativo, .btn-dia-vazio.principal, .btn-voltar, .cal-c-topo, .roda-btn:not(.sec), .rp-btn.principal, .adv-btn:not(.sec),
        .lt-conferir, .reset-cal-btn, .cal-mais, .mj-convite button:not(.mj-convite-fechar) {
            background: var(--grad-logo) !important; color: #fff !important; border-color: transparent !important; font-weight: 800; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); box-shadow: 0 3px 10px rgba(61, 114, 201, 0.25); }
        .ngp-adq-botao:hover, .ngp-com-btn:not(.sec):hover, .gratis-botao:hover, a.des-btn:not(.sec):hover, button.des-btn:not(.sec):hover, .news-ver-todas:hover, .pf-btn.principal:hover, a.botao:hover, .sol-btn:not(.sec):hover, .sol-modos button.ativo:hover, .btn-dia-vazio.principal:hover, .btn-voltar:hover, .cal-c-topo:hover, .roda-btn:not(.sec):hover, .rp-btn.principal:hover, .adv-btn:not(.sec):hover, .lt-conferir:hover, .reset-cal-btn:hover, .cal-mais:hover, .mj-convite button:not(.mj-convite-fechar):hover { filter: brightness(1.1); }
        /* Família de botões: cada tipo com a sua cor (o degradê da logo fica para as ações principais de navegação e conta) */
        :root { --btn-jogar: linear-gradient(90deg, #7d4fd6 0%, #b04bd1 55%, #d24ea6 100%); --btn-gratis: linear-gradient(90deg, #2aa3ba 0%, #3fb1c6 50%, #36c2d4 100%); }
        /* 2) JOGAR: roxo -> magenta */
        a.des-btn:not(.sec), button.des-btn:not(.sec), .dsh-acao, .sol-btn:not(.sec), .sol-modos button.ativo, .adv-btn:not(.sec), .lt-conferir, .mj-compacto, .rp-btn.principal {
            background: var(--btn-jogar) !important; box-shadow: 0 3px 12px rgba(176, 75, 209, 0.3) !important; }
        /* 3) GRÁTIS: ciano */
        .gratis-botao { background: var(--btn-gratis) !important; box-shadow: 0 3px 12px rgba(42, 163, 186, 0.3) !important; }
        /* 4) VER MAIS e navegação: contorno em degradê */
        .news-ver-todas, .dsh-todos, .btn-voltar, .cal-c-topo, .reset-cal-btn, .cal-mais, .btn-dia-vazio:not(.principal) {
            background: linear-gradient(var(--bg-panel), var(--bg-panel)) padding-box, var(--grad-logo) border-box !important;
            border: 1.5px solid transparent !important; color: #d6e6f2 !important; box-shadow: none !important; text-shadow: none !important; font-weight: 800; }   /* logo nova (a mesma do Instagram) */
        /* ÚLTIMAS: etiqueta "ao vivo" da faixa de notícias (não é botão) */
        .ticker-label { background: rgba(63, 177, 198, 0.12) !important; color: #8ee9f7 !important; border-right: 1px solid rgba(63, 177, 198, 0.35); }
        .ticker-dot { background: #8ee9f7 !important; box-shadow: 0 0 8px rgba(142, 233, 247, 0.8); }
        /* Logo: o controle pulsa ao passar o mouse (batimento duplo, como um coração) */
        @keyframes logo-batida {
            0%, 100% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(142, 233, 247, 0)); }
            12% { transform: scale(1.14); filter: drop-shadow(0 0 10px rgba(142, 233, 247, 0.75)); }
            24% { transform: scale(1); filter: drop-shadow(0 0 3px rgba(142, 233, 247, 0.3)); }
            36% { transform: scale(1.09); filter: drop-shadow(0 0 9px rgba(181, 123, 255, 0.7)); }
            55% { transform: scale(1); filter: drop-shadow(0 0 0 rgba(142, 233, 247, 0)); } }
        .brand:hover .logo-img, .brand:focus-visible .logo-img, .rodape-logo:hover .logo-img { animation: logo-batida 1.1s ease-in-out infinite; }
        @media (prefers-reduced-motion: reduce) { .brand:hover .logo-img, .brand:focus-visible .logo-img, .rodape-logo:hover .logo-img { animation: none; } }
        /* Filtros e abas ativos que ainda eram de cor única: Dicionário (degradê da logo) e Linha do tempo (aba de jogo: roxo > magenta) */
        .gl-cats button[aria-pressed="true"] { background: var(--grad-logo) !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 3px 10px rgba(61, 114, 201, 0.25); }
        .lt-modos button[aria-pressed="true"] { background: var(--btn-jogar, linear-gradient(90deg, #7d4fd6 0%, #b04bd1 55%, #d24ea6 100%)) !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 3px 12px rgba(176, 75, 209, 0.3); }
        /* Desafio secreto (tracejado e apagado, de propósito) e desafio já feito (contorno verde) mantêm o estilo próprio */
        .dsh-item.secreto .dsh-acao { background: transparent !important; color: var(--text-muted) !important; border: 1px dashed var(--border) !important; box-shadow: none !important; text-shadow: none !important; }
        .dsh-item.feito .dsh-acao { background: transparent !important; color: #22c55e !important; border: 1px solid rgba(34, 197, 94, 0.5) !important; box-shadow: none !important; text-shadow: none !important; }
        /* "Adquira já": o verde de compra (a única cor verde dos botões, para o olho achar onde comprar) */
        :root { --verde-compra: #2bd46b; --verde-compra-rgb: 43, 212, 107; }
        .ngp-adq-botao { background: linear-gradient(135deg, #2bd46b 0%, #12a85a 100%) !important; color: #fff !important; text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important; box-shadow: 0 6px 20px rgba(34, 197, 94, 0.4) !important; }
        .ngp-adq-botao:hover, .ngp-adq-botao:focus-visible { filter: brightness(1.08); box-shadow: 0 8px 24px rgba(34, 197, 94, 0.5) !important; }
        /* Títulos das seções: o degradê da logo em tons claros (o escuro sumia no fundo) */
        .section-title-logo span { background: linear-gradient(90deg, #8ee9f7 0%, #7aa8ff 50%, #c58cff 100%); -webkit-background-clip: text; background-clip: text; }
        /* "Saiba mais": roxo */
        .btn-saiba-mais, .cj-saiba { background: linear-gradient(135deg, #a259e6 0%, #7b2cbf 100%) !important; color: #fff !important; border-color: transparent !important; box-shadow: 0 4px 14px rgba(157, 78, 221, 0.35) !important; }
        .btn-saiba-mais:hover, .cj-saiba:hover { filter: brightness(1.1); }
        /* Setinhas de passar: o verde-água de antes */
        .hero-arrow, .news-seta-lateral, .seta-faixa, .cal-dias-seta, .jn-seta, .lb-seta, .galeria-seta, .galeria-tira-seta, .goty-seta, .tira-seta, .seta-carrossel, .ng-seta, .scroll-arrow, .cal-nav-btn, .cal-seta, .demo-seta { color: #00ffcc !important; border-color: rgba(0, 255, 204, 0.55) !important; }
        .hero-arrow:hover, .news-seta-lateral:hover, .seta-faixa:hover, .cal-dias-seta:hover, .jn-seta:hover, .lb-seta:hover, .galeria-seta:hover, .galeria-tira-seta:hover, .goty-seta:hover, .tira-seta:hover, .seta-carrossel:hover, .ng-seta:hover, .scroll-arrow:hover, .cal-nav-btn:hover, .cal-seta:hover, .demo-seta:hover { background-color: rgba(0, 255, 204, 0.15) !important; box-shadow: 0 0 12px rgba(0, 255, 204, 0.35) !important; }
        /* "Ver Ficha Técnica" (cartões do calendário e do Descubra): o degradê da logo */
        button.btn-store[onclick*="openModal"] { background: var(--grad-logo) !important; color: #fff !important; border-color: transparent !important; font-weight: 800; box-shadow: 0 3px 10px rgba(61, 114, 201, 0.25); }
        button.btn-store[onclick*="openModal"]:hover { filter: brightness(1.1); }
        /* "Ver o mês inteiro, dia por dia": pílula com contorno em degradê e texto claro */
        .cal-pagina-link { padding: 7px 16px; border-radius: 999px; border: 1.5px solid transparent; background: linear-gradient(var(--bg-panel), var(--bg-panel)) padding-box, var(--grad-logo) border-box; color: #e8f6fb !important; }
        .cal-pagina-link:hover { text-decoration: none !important; filter: brightness(1.15); }
        /* Topo da ficha: trailer (vermelho do YouTube), compartilhar (azul) e Steam (preto com o logo) */
        a.jogo-botao[href="#trailers"] { background: #c4302b !important; border-color: #c4302b !important; color: #fff !important; }
        a.jogo-botao[href="#trailers"]:hover { background: #a82822 !important; border-color: #a82822 !important; }
        #botao-compartilhar { background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important; border-color: transparent !important; color: #fff !important; }
        #botao-compartilhar:hover { filter: brightness(1.1); }
        a.jogo-botao[href*="steampowered.com"] { display: inline-flex; align-items: center; gap: 8px; background: linear-gradient(135deg, #1b2838 0%, #0e1116 100%) !important; border-color: rgba(255, 255, 255, 0.2) !important; color: #fff !important; }
        a.jogo-botao[href*="steampowered.com"]::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%2211%22%20fill%3D%22%23fff%22/%3E%3Cpath%20d%3D%22M1.2%2012.6%20L8.6%2015.5%22%20stroke%3D%22%230e1116%22%20stroke-width%3D%223%22%20stroke-linecap%3D%22round%22/%3E%3Cpath%20d%3D%22M8.6%2015.5%20L15.4%208.8%22%20stroke%3D%22%230e1116%22%20stroke-width%3D%222.2%22%20stroke-linecap%3D%22round%22/%3E%3Ccircle%20cx%3D%2215.6%22%20cy%3D%228.6%22%20r%3D%224%22%20fill%3D%22%230e1116%22/%3E%3Ccircle%20cx%3D%2215.6%22%20cy%3D%228.6%22%20r%3D%222.5%22%20fill%3D%22%23fff%22/%3E%3Ccircle%20cx%3D%2215.6%22%20cy%3D%228.6%22%20r%3D%221.3%22%20fill%3D%22%230e1116%22/%3E%3Ccircle%20cx%3D%228.4%22%20cy%3D%2215.6%22%20r%3D%222.9%22%20fill%3D%22%230e1116%22/%3E%3Ccircle%20cx%3D%228.4%22%20cy%3D%2215.6%22%20r%3D%221.5%22%20fill%3D%22%23fff%22/%3E%3C/svg%3E") center / contain no-repeat; }
        a.jogo-botao[href*="steampowered.com"]:hover { border-color: rgba(255, 255, 255, 0.45) !important; }
        .logo-fantasma { fill: none; stroke-width: 1.2; stroke-linejoin: round; }
        .logo-fantasma-a { stroke: var(--logo-alerta); opacity: 0.55; }
        .logo-fantasma-b { stroke: var(--accent); opacity: 0.45; }
        .logo-glitch { animation: logo-glitch 3.5s steps(1) infinite; }
        .logo-corpo { fill: #0f131b; stroke: var(--logo-game); stroke-width: 1.3; stroke-linejoin: round; }
        .logo-brilho { fill: none; stroke: var(--logo-alerta); stroke-width: 1.6; stroke-linejoin: round; opacity: 0; filter: drop-shadow(0 0 1.5px var(--logo-alerta)); animation: logo-brilho var(--logo-ciclo) ease-out infinite; }
        .logo-detalhe { fill: none; stroke: var(--logo-prata); stroke-width: 1.6; stroke-linecap: round; }
        .logo-botao { fill: var(--logo-prata); }
        .logo-led { fill: var(--logo-alerta); opacity: 0.2; filter: drop-shadow(0 0 1.5px var(--logo-alerta)); animation: logo-led var(--logo-ciclo) ease-out infinite; }
        .logo-raio { fill: var(--accent); transform-box: fill-box; transform-origin: center; filter: drop-shadow(0 0 1.5px rgba(var(--accent-rgb), 0.9)); animation: logo-raio var(--logo-ciclo) ease-out infinite; }

        .brand-title { white-space: nowrap; }
        .brand-title b { font-weight: inherit; }
        .logo-novo { color: var(--logo-new-texto); -webkit-text-stroke: 1.2px rgba(var(--logo-alerta-rgb), 0.55); paint-order: stroke fill; margin-right: 0.04em;
                     animation: logo-new var(--logo-ciclo) ease-out var(--logo-atraso-new) infinite; }
        .logo-game { color: transparent; -webkit-text-stroke: 1.4px var(--logo-game); text-shadow: 0 0 10px rgba(var(--logo-game-rgb), 0.5); }
        .logo-pulse { position: relative; display: inline-block; color: var(--accent); -webkit-text-stroke: 0;
                      text-shadow: 0 0 6px rgba(var(--accent-rgb), 0.55), 0 0 16px rgba(var(--accent-rgb), 0.25);
                      animation: logo-pulse var(--logo-ciclo) ease-out var(--logo-atraso-pulse) infinite; }
        /* Eco vermelho: contorno da palavra que se expande e some nas duas batidas */
        .logo-pulse::before { content: "PULSE"; position: absolute; left: 0; top: 0; color: transparent; -webkit-text-stroke: 1.4px var(--logo-eco); text-shadow: none;
                              opacity: 0; transform-origin: center; pointer-events: none; animation: logo-eco var(--logo-ciclo) ease-out var(--logo-atraso-pulse) infinite; }
        /* Traço de batimento embaixo do PULSE: varre da esquerda para a direita em 0,8 s, como um monitor */
        .logo-ecg { position: absolute; left: 0; bottom: -0.42em; width: calc(100% - 2px); height: 0.36em; overflow: visible; pointer-events: none;
                    clip-path: inset(-4px 100% -4px 0); animation: logo-varre var(--logo-ciclo) linear var(--logo-atraso-pulse) infinite; }
        .logo-ecg path { fill: none; stroke: var(--accent); stroke-width: 1.5; stroke-linejoin: round; stroke-linecap: round; vector-effect: non-scaling-stroke; filter: drop-shadow(0 0 2px rgba(var(--accent-rgb), 0.8)); }

        @keyframes logo-led    { 0%, 22%, 100% { opacity: 0.2; } 6% { opacity: 1; } }
        @keyframes logo-brilho { 0%, 22%, 100% { opacity: 0; } 6% { opacity: 0.8; } }
        @keyframes logo-raio   { 0%, 22%, 100% { transform: scale(1); } 6% { transform: scale(1.08); } }
        @keyframes logo-glitch { 0%, 90%, 100% { transform: none; } 91% { transform: translate(-1.5px, 0); } 92% { transform: translate(1.5px, 0); } 93% { transform: none; } }
        @keyframes logo-new {
            0%, 24%, 100% { -webkit-text-stroke-color: rgba(var(--logo-alerta-rgb), 0.55); text-shadow: 0 0 3px rgba(var(--logo-alerta-rgb), 0.15); }
            7%            { -webkit-text-stroke-color: var(--logo-alerta); text-shadow: 0 0 10px rgba(var(--logo-alerta-rgb), 0.75); }
        }
        @keyframes logo-pulse {
            0%, 30%, 100% { text-shadow: 0 0 6px rgba(var(--accent-rgb), 0.55), 0 0 16px rgba(var(--accent-rgb), 0.25); }
            14%           { text-shadow: 0 0 10px rgba(var(--accent-rgb), 0.95), 0 0 26px rgba(var(--accent-rgb), 0.55); }
        }
        @keyframes logo-eco {
            0%, 9.9%   { opacity: 0; transform: scale(1); }
            10.4%      { opacity: 0.85; transform: scale(1); }
            20%        { opacity: 0; transform: scale(1.35); }
            23%        { opacity: 0; transform: scale(1); }
            23.4%      { opacity: 0.55; transform: scale(1); }
            32%, 100%  { opacity: 0; transform: scale(1.22); }
        }
        @keyframes logo-varre {
            0%   { clip-path: inset(-4px 100% -4px 0); opacity: 1; }
            36%  { clip-path: inset(-4px 0 -4px 0); opacity: 1; }
            58%  { clip-path: inset(-4px 0 -4px 0); opacity: 0; }
            100% { clip-path: inset(-4px 100% -4px 0); opacity: 0; }
        }
        /* Alto contraste: letras cheias (contorno fino atrapalha a leitura) */
        html[data-tema="contraste"] .logo-game { color: var(--logo-game); -webkit-text-stroke: 0; text-shadow: none; }
        html[data-tema="contraste"] .logo-novo { -webkit-text-stroke: 0; }
        /* Quem pediu ao sistema para reduzir animações não vê o efeito */
        @media (prefers-reduced-motion: reduce) {
            .brand-icon *, .brand-title *, .logo-pulse::before { animation: none !important; } .logo-ecg { clip-path: none; opacity: 0.6; }
            header, header::after, header .brand-icon, header .brand-title { transition: none; }
        }

        @media (max-width: 600px) {
            header { padding: 0.75rem 1rem; gap: 10px; }
            .brand-title { font-size: clamp(0.75rem, 3.9vw, 1.15rem); letter-spacing: 1px; }
            header.rolado .brand-title { font-size: clamp(0.75rem, 3.9vw, 1.15rem); }
            .btn-voltar { padding: 6px 12px; font-size: 0.85rem; }
            main { margin: 24px auto; }
            .noticia-titulo { font-size: 1.7rem; }
            .noticia-resumo { font-size: 1.05rem; }
            .noticia-texto, .noticia-texto-cont { font-size: 1.05rem; }
            .noticia-capa { border-radius: 10px; }
        }
        /* Celulares bem estreitos (320-380px): logo "NEW GAME PULSE" cabe sem empurrar os botões */
        @media (max-width: 380px) {
            header .brand-icon, header.rolado .brand-icon { width: 32px; height: 32px; }
            .brand { gap: 8px; }
            .header-direita { gap: 6px; }
        }
        .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

        /* ======================= PÁGINAS INSTITUCIONAIS ======================= */
        .inst { max-width: 820px; margin: 0 auto; padding: 36px 20px 60px; }
        .inst-topo small { font-size: 0.78rem; font-weight: 800; letter-spacing: 3px; color: var(--accent); text-transform: uppercase; }
        .inst h1 { font-size: clamp(1.9rem, 5vw, 2.6rem); font-weight: 900; color: var(--text-strong); margin: 8px 0 6px; line-height: 1.15; }
        .inst-data { color: var(--text-muted); font-size: 0.85rem; margin: 0 0 22px; }
        .inst-resumo { padding: 16px 20px; border-radius: 14px; margin: 0 0 26px; color: var(--text-soft); line-height: 1.65;
                       background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.08), rgba(var(--purple-rgb), 0.06)), var(--bg-panel); border: 1px solid var(--border); }
        .inst-resumo b { color: var(--text-strong); }
        .inst-indice { margin: 0 0 28px; padding: 14px 18px; border-radius: 14px; background: var(--bg-panel); border: 1px solid var(--border); }
        .inst-indice b { display: block; font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--text-muted); margin-bottom: 8px; }
        .inst-indice ol { margin: 0; padding-left: 20px; columns: 2; column-gap: 28px; }
        .inst-indice li { margin: 3px 0; font-size: 0.9rem; break-inside: avoid; }
        .inst-indice a { color: var(--accent); text-decoration: none; }
        .inst-indice a:hover, .inst-indice a:focus-visible { text-decoration: underline; outline: none; }
        .inst h2 { font-size: 1.25rem; color: var(--text-strong); margin: 34px 0 10px; padding-top: 6px; scroll-margin-top: 90px; }
        .inst h2 span { color: var(--accent); margin-right: 6px; }
        .inst h3 { font-size: 1.02rem; color: var(--text-strong); margin: 18px 0 6px; }
        .inst p, .inst li { color: var(--text-soft); line-height: 1.75; font-size: 1rem; }
        .inst ul { padding-left: 22px; }
        .inst li { margin: 4px 0; }
        .inst a { color: var(--accent); }
        .inst strong { color: var(--text-strong); }
        .inst-tabela { overflow-x: auto; margin: 10px 0 16px; }
        .inst-tabela table { width: 100%; border-collapse: collapse; font-size: 0.92rem; min-width: 520px; }
        .inst-tabela th, .inst-tabela td { text-align: left; padding: 10px 12px; border-bottom: 1px solid var(--border); color: var(--text-soft); vertical-align: top; }
        .inst-tabela th { color: var(--text-strong); font-size: 0.78rem; letter-spacing: 1px; text-transform: uppercase; }
        .inst-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 12px; margin: 12px 0 8px; }
        .inst-cartoes a, .inst-cartoes div { display: block; padding: 14px 16px; border-radius: 14px; background: var(--bg-panel); border: 1px solid var(--border); text-decoration: none; color: var(--text-soft); line-height: 1.5; font-size: 0.92rem; }
        .inst-cartoes a:hover, .inst-cartoes a:focus-visible { border-color: var(--accent); outline: none; }
        .inst-cartoes b { display: block; color: var(--text-strong); margin-bottom: 4px; font-size: 1rem; }
        .inst-email { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 20px; border-radius: 16px; margin: 10px 0 26px;
                      background: linear-gradient(135deg, rgba(var(--accent-rgb), 0.12), rgba(var(--purple-rgb), 0.1)), var(--bg-panel); border: 1px solid rgba(var(--accent-rgb), 0.35); }
        .inst-email a.email { font-size: clamp(1.1rem, 3.5vw, 1.4rem); font-weight: 900; color: var(--text-strong); text-decoration: none; word-break: break-all; }
        .inst-email button, .inst-email a.botao { background: var(--accent); color: var(--accent-contrast); border: none; border-radius: 10px; padding: 9px 16px; font: inherit; font-weight: 800; cursor: pointer; text-decoration: none; }
        .inst-email button.sec { background: none; color: var(--text-strong); border: 1px solid var(--border); }
        .inst-nota { font-size: 0.85rem !important; color: var(--text-muted) !important; border-left: 3px solid var(--accent-purple); padding-left: 12px; }
        @media (max-width: 600px) { .inst { padding: 22px 14px 40px; } .inst-indice ol { columns: 1; } }
        /* ---------- RootPulse ---------- */
        .rp { max-width: 980px; margin: 0 auto; padding: 26px 16px 60px; }
        .rp-topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
        .rp-topo small { font-size: .75rem; font-weight: 900; letter-spacing: 1px; text-transform: uppercase; color: var(--accent); }
        .rp-topo h1 { margin: 2px 0 0; font-size: clamp(1.8rem, 5vw, 2.4rem); font-weight: 900; color: var(--text-strong); line-height: 1.1; }
        .rp-topo h1 em { font-style: normal; font-size: .5em; font-weight: 700; color: var(--text-muted); margin-left: 6px; letter-spacing: .5px; }
        .rp-teste { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; padding: 10px 14px; border-radius: 12px; margin-bottom: 12px; font-size: .88rem;
                    background: rgba(var(--warn-rgb), .1); border: 1px solid rgba(var(--warn-rgb), .45); color: var(--text-soft); }
        .rp-teste b { color: var(--warn); }
        .rp-hud { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
        .rp-pilula { display: inline-flex; align-items: center; gap: 8px; padding: 7px 14px; border-radius: 999px; background: var(--bg-panel); border: 1px solid var(--border);
                     font-weight: 800; color: var(--text-strong); font-size: 1rem; }
        .rp-pilula small { font-weight: 600; color: var(--text-muted); font-size: .82rem; }
        .rp-moeda { width: 22px; height: 22px; flex: none; }
        .rp-btn { font: inherit; font-weight: 800; font-size: .92rem; cursor: pointer; border-radius: 12px; padding: 9px 16px; border: 1px solid var(--border);
                  background: var(--bg-panel); color: var(--text-strong); display: inline-flex; align-items: center; gap: 8px; text-decoration: none; }
        .rp-btn:hover, .rp-btn:focus-visible { border-color: var(--accent); outline: none; }
        .rp-btn.principal { background: var(--accent); color: var(--accent-contrast); border-color: transparent; }
        .rp-btn.perigo { color: var(--bad); border-color: rgba(var(--bad-rgb), .5); }
        .rp-btn:disabled { opacity: .5; cursor: not-allowed; }
        .rp-chave { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; font-weight: 700; color: var(--text-soft); }
        .rp-chave input { width: 18px; height: 18px; accent-color: var(--warn); }
        .rp-cena { position: relative; border-radius: 18px; overflow: hidden; border: 1px solid var(--border); background: #0b1030; }
        .rp-cena > svg, #rp-cena > svg { display: block; width: 100%; height: auto; }   /* só o desenho da cena (ícones de botões ficam do tamanho deles) */
        .rp-cant { cursor: pointer; }
        .rp-cant:focus { outline: none; }
        .rp-cant:focus-visible .rp-sel, .rp-cant.sel .rp-sel { stroke: #3fb1c6; stroke-width: 4; filter: drop-shadow(0 0 6px rgba(63, 177, 198,.9)); }
        .rp-cant:hover .rp-sel { stroke: rgba(63, 177, 198,.7); stroke-width: 3; }
        .rp-pronto { animation: rpPula 1.6s ease-in-out infinite; transform-box: fill-box; transform-origin: center bottom; }
        .rp-brilho { animation: rpBrilho 1.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
        .rp-balanca { animation: rpBalanca 3.2s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center bottom; }
        .rp-agua { animation: rpAgua 2.8s ease-in-out infinite; }
        .rp-fumaca { animation: rpFumaca 3.5s ease-out infinite; transform-box: fill-box; transform-origin: center; }
        .rp-vagalume { animation: rpBrilho 2.6s ease-in-out infinite; }
        @keyframes rpPula { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
        @keyframes rpBrilho { 0%, 100% { opacity: .25; transform: scale(.7); } 50% { opacity: 1; transform: scale(1.15); } }
        @keyframes rpBalanca { from { transform: rotate(-2.5deg); } to { transform: rotate(2.5deg); } }
        @keyframes rpAgua { 0%, 100% { opacity: .35; } 50% { opacity: .9; } }
        @keyframes rpFumaca { 0% { opacity: 0; transform: translateY(6px) scale(.6); } 30% { opacity: .55; } 100% { opacity: 0; transform: translateY(-16px) scale(1.3); } }
        .rp-flutua { position: absolute; font-weight: 900; color: #ffe08a; text-shadow: 0 2px 6px #000; pointer-events: none; font-size: 1.15rem;
                     animation: rpSobe 1.6s ease-out forwards; }
        @keyframes rpSobe { from { opacity: 1; transform: translate(-50%, 0); } to { opacity: 0; transform: translate(-50%, -46px); } }
        .rp-painel { margin-top: 14px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); gap: 14px; }
        @media (max-width: 760px) { .rp-painel { grid-template-columns: 1fr; } }
        .rp-caixa { background: var(--bg-panel); border: 1px solid var(--border); border-radius: 16px; padding: 14px 16px; }
        .rp-caixa h2 { margin: 0 0 10px; font-size: 1.02rem; color: var(--text-strong); }
        .rp-lista { display: grid; gap: 8px; }
        .rp-item { display: flex; align-items: center; gap: 10px; width: 100%; text-align: left; font: inherit; color: var(--text-main); cursor: pointer;
                   padding: 8px 10px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-card); }
        .rp-item:hover, .rp-item:focus-visible { border-color: var(--accent); outline: none; }
        .rp-item.sel { border-color: var(--accent); box-shadow: 0 0 0 2px rgba(var(--accent-rgb), .25); }
        .rp-item svg { width: 34px; height: 34px; flex: none; }
        .rp-item b { display: block; font-size: .92rem; color: var(--text-strong); }
        .rp-item small { display: block; font-size: .8rem; color: var(--text-muted); }
        .rp-item .rp-ok { color: var(--ok); font-weight: 800; }
        .rp-barra { height: 8px; border-radius: 99px; background: rgba(127,127,127,.25); overflow: hidden; margin: 8px 0; }
        .rp-barra span { display: block; height: 100%; background: linear-gradient(90deg, #4ade80, #3fb1c6); border-radius: 99px; transition: width .6s; }
        .rp-sementes { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
        .rp-semente { display: grid; justify-items: center; gap: 2px; font: inherit; cursor: pointer; text-align: center; padding: 10px 8px; border-radius: 14px;
                      border: 1px solid var(--border); background: var(--bg-card); color: var(--text-main); }
        .rp-semente:hover:not(:disabled), .rp-semente:focus-visible { border-color: var(--accent); outline: none; transform: translateY(-1px); }
        .rp-semente:disabled { opacity: .45; cursor: not-allowed; }
        .rp-semente > svg { width: 48px; height: 48px; }
        .rp-semente b { color: var(--text-strong); font-size: .95rem; }
        .rp-semente small { font-size: .78rem; color: var(--text-muted); }
        .rp-semente .rp-preco { display: inline-flex; align-items: center; gap: 4px; font-weight: 800; color: var(--text-strong); font-size: .86rem; }
        .rp-semente .rp-preco svg { width: 16px; height: 16px; }
        .rp-msg { min-height: 1.3em; margin: 10px 0 0; font-size: .9rem; color: var(--text-soft); }
        .rp-msg.ruim { color: var(--bad); }
        .rp-vazio { text-align: center; padding: 50px 20px; background: var(--bg-panel); border: 1px solid var(--border); border-radius: 18px; }
        .rp-vazio h1 { margin: 0 0 8px; color: var(--text-strong); }
        .rp-vazio p { color: var(--text-muted); margin: 0 0 18px; }
        .rp-boas { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 18px; align-items: center; background: var(--bg-panel);
                   border: 1px solid var(--border); border-radius: 18px; padding: 16px; }
        @media (max-width: 760px) { .rp-boas { grid-template-columns: 1fr; } }
        .rp-boas ul { margin: 10px 0 16px; padding-left: 20px; color: var(--text-soft); line-height: 1.7; }
        .rp-dica { font-size: .82rem; color: var(--text-muted); margin: 8px 0 0; }
        @media (prefers-reduced-motion: reduce) { .rp-pronto, .rp-brilho, .rp-balanca, .rp-agua, .rp-fumaca, .rp-vagalume, .rp-flutua { animation: none !important; } }
        .rp-hud-dir { margin-left: auto; display: inline-flex; gap: 8px; flex-wrap: wrap; }
        .rp-canto { position: absolute; top: 10px; left: 10px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; max-width: calc(100% - 20px);
                    padding: 7px 12px; border-radius: 12px; background: rgba(11,14,20,.72); color: #f1f5f9; font-size: .86rem; backdrop-filter: blur(3px); }
        .rp-canto b { color: #3fb1c6; letter-spacing: .5px; }
        .rp-canto em { font-style: normal; color: #9fe8ff; font-size: .78rem; }
        .rp-chuva { animation: rpChuva .55s linear infinite; }
        @keyframes rpChuva { from { transform: translate(0, -24px); } to { transform: translate(-8px, 0); } }
        .rp-passo { animation: rpPula .5s ease-in-out infinite; transform-box: fill-box; transform-origin: center bottom; }
        .rp-tuto { position: absolute; left: 50%; bottom: 12px; transform: translateX(-50%); width: min(460px, calc(100% - 24px)); display: flex; gap: 12px; align-items: flex-start;
                   padding: 14px 16px; border-radius: 16px; background: var(--bg-panel); border: 2px solid var(--accent); box-shadow: 0 12px 34px rgba(0,0,0,.45); color: var(--text-main); }
        .rp-tuto-ic { font-size: 1.8rem; line-height: 1; }
        .rp-tuto b { color: var(--text-strong); }
        .rp-tuto p { margin: 4px 0 10px; font-size: .92rem; color: var(--text-soft); }
        .rp-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
        .rp-acoes small { color: var(--text-muted); margin-left: auto; }
        .rp-loja { margin-top: 14px; }
        .rp-criar { display: grid; grid-template-columns: minmax(0, 240px) minmax(0, 1fr); gap: 20px; align-items: start; background: var(--bg-panel);
                    border: 1px solid var(--border); border-radius: 18px; padding: 18px; }
        @media (max-width: 640px) { .rp-criar { grid-template-columns: 1fr; } }
        .rp-criar h2 { margin: 0 0 12px; color: var(--text-strong); }
        .rp-criar-ver { display: grid; justify-items: center; gap: 10px; }
        .rp-retrato { width: 100%; max-width: 220px; aspect-ratio: 1; border-radius: 18px; background: radial-gradient(circle at 50% 35%, #6fbaff, #2a4f8a); border: 1px solid var(--border); }
        .rp-retrato svg { width: 100%; height: 100%; }
        .rp-opcao { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: center; gap: 8px; margin-bottom: 10px; }
        .rp-opcao > span { font-weight: 700; color: var(--text-soft); font-size: .9rem; }
        .rp-opcao > div { display: flex; flex-wrap: wrap; gap: 6px; }
        .rp-cor { width: 30px; height: 30px; border-radius: 50%; border: 2px solid var(--border); cursor: pointer; padding: 0; }
        .rp-chip { font: inherit; font-size: .85rem; font-weight: 700; padding: 6px 12px; border-radius: 999px; border: 1px solid var(--border); background: var(--bg-card); color: var(--text-main); cursor: pointer; }
        .rp-cor[aria-checked="true"] { outline: 3px solid var(--accent); outline-offset: 2px; }
        .rp-chip[aria-checked="true"] { background: var(--accent); color: var(--accent-contrast); border-color: transparent; }
        .rp-cor:focus-visible, .rp-chip:focus-visible { outline: 3px solid var(--accent-purple); outline-offset: 2px; }
        .rp-nome { display: grid; gap: 6px; font-weight: 700; color: var(--text-soft); margin-top: 6px; }
        .rp-nome input { font: inherit; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-card); color: var(--text-strong); max-width: 340px; }
        .rp-ajuda { width: min(620px, calc(100% - 24px)); max-height: 85vh; overflow: auto; border-radius: 18px; border: 1px solid var(--border); background: var(--bg-panel);
                    color: var(--text-main); padding: 18px 20px; }
        .rp-ajuda::backdrop { background: rgba(0,0,0,.6); }
        .rp-ajuda-topo { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
        .rp-ajuda h2 { margin: 0; color: var(--text-strong); }
        .rp-ajuda h3 { margin: 16px 0 4px; font-size: 1rem; color: var(--text-strong); }
        .rp-ajuda p { margin: 0 0 6px; line-height: 1.55; color: var(--text-soft); }
        .rp-ajuda table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: .9rem; }
        .rp-ajuda th, .rp-ajuda td { padding: 6px 8px; border-bottom: 1px solid var(--border); text-align: left; }
        @media (prefers-reduced-motion: reduce) { .rp-chuva, .rp-passo { animation: none !important; } }
        /* ---------- RootPulse: etapa 2.5 (painel ao lado, ícones, zoom, sons) ---------- */
        .rp-ic { width: 18px; height: 18px; flex: none; vertical-align: -3px; }
        .rp-ic-p { width: 14px; height: 14px; vertical-align: -2px; }
        .rp-moeda-p { width: 16px; height: 16px; flex: none; }
        .rp-j { display: inline-flex; align-items: center; gap: 3px; white-space: nowrap; vertical-align: -3px; }
        .rp-j b { font-weight: 800; color: inherit; }
        .rp-pilula-j { font-size: 1.1rem; }
        .rp-btn-ic span, .rp-btn-pers span { font-size: .86rem; }
        .rp-btn-ic[aria-pressed="true"] { border-color: var(--accent); color: var(--accent); }
        .rp-btn-pers { padding: 4px 12px 4px 4px; }
        .rp-btn-pers svg { width: 34px; height: 34px; border-radius: 50%; background: radial-gradient(circle at 50% 35%, #6fbaff, #2a4f8a); }
        .rp-btn-colher { font-size: 1rem; padding: 11px 18px; box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .6); animation: rpChama 1.8s ease-out infinite; }
        .rp-btn-colher2 { font-size: .95rem; padding: 10px 16px; border-color: var(--accent); }
        @keyframes rpChama { 0% { box-shadow: 0 0 0 0 rgba(var(--accent-rgb), .55); } 100% { box-shadow: 0 0 0 14px rgba(var(--accent-rgb), 0); } }
        .rp-btn-grande { width: 100%; justify-content: center; font-size: 1.02rem; padding: 12px 16px; margin-top: 8px; }
        .rp { max-width: 1240px; }
        .rp-jogo { display: grid; grid-template-columns: 1fr; gap: 12px; }
        .rp-lado .rp-lista { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
        .rp-lado .rp-sementes { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)) !important; }
        .rp-lado-cab { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; }
        html.rp-sem-rolagem, html.rp-sem-rolagem body { overflow: hidden; }
        #rp-app.rp-cheia { position: fixed; inset: 0; z-index: 9000; display: flex; flex-direction: column; gap: 8px; padding: 10px 12px; background: var(--bg-main); overflow: hidden; }
        #rp-app.rp-cheia:fullscreen { background: var(--bg-main); }
        .rp-cheia .rp-teste { display: none; }
        .rp-cheia .rp-hud { margin: 0; }
        .rp-cheia .rp-jogo { flex: 1; min-height: 0; display: flex; flex-direction: column; gap: 8px; }
        .rp-cheia .rp-cena { flex: 1; min-height: 0; }
        .rp-cheia #rp-cena { position: absolute; inset: 0; }
        .rp-cheia #rp-cena > svg { width: 100%; height: 100%; }
        .rp-cheia .rp-lado { flex: none; max-height: 32vh; overflow: auto; }
        .rp-cheia .rp-msg { margin: 0; min-height: 0; }
        .rp-cheia .rp-btn-ic span, .rp-cheia .rp-btn-pers span { display: none; }
        .rp-lado h2 { display: flex; align-items: center; gap: 8px; }
        .rp-voltar { display: inline-flex; align-items: center; gap: 4px; font: inherit; font-size: .85rem; font-weight: 700; color: var(--accent); background: none; border: 0; padding: 0; margin-bottom: 8px; cursor: pointer; }
        .rp-lado-planta svg { width: 72px; height: 72px; display: block; margin: 0 auto 4px; }
        .rp-lado .rp-sementes { gap: 6px; }
        .rp-lado .rp-semente { grid-template-columns: 46px minmax(0, 1fr) auto; justify-items: start; align-items: center; text-align: left; padding: 6px 10px; gap: 8px; }
        .rp-lado .rp-semente > svg { width: 46px; height: 46px; }
        .rp-lado .rp-semente > span:nth-child(2) { display: grid; gap: 1px; }
        .rp-lado .rp-preco { display: grid; justify-items: end; font-size: .95rem; }
        .rp-lado .rp-preco small { font-size: .72rem; color: var(--text-muted); }
        .rp-todos { margin: 0 0 10px; font-size: .88rem; font-weight: 600; }
        .rp-zoom { position: absolute; right: 10px; bottom: 10px; display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 5px; border-radius: 12px; background: rgba(11,14,20,.72); }
        .rp-zoom button { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 9px; border: 1px solid rgba(255,255,255,.18); background: rgba(255,255,255,.06); color: #f1f5f9; cursor: pointer; }
        .rp-zoom button:hover, .rp-zoom button:focus-visible { border-color: #3fb1c6; outline: none; }
        .rp-zoom span { font-size: .7rem; color: #cbd5e1; font-weight: 700; }
        .rp-zoom .rp-zoom-tela { background: var(--accent); color: var(--accent-contrast); border-color: transparent; margin-top: 4px; }
        .rp-zoom.rp-so-tela > :not(.rp-zoom-tela) { display: none !important; }
        .rp-zoom.rp-so-tela .rp-zoom-tela { margin-top: 0; }
        #rp-cena { touch-action: pan-y; }
        #rp-cena.rp-zoomado { touch-action: none; cursor: grab; }
        #rp-cena.rp-zoomado:active { cursor: grabbing; }
        .rp-bolha { cursor: pointer; }
        .rp-bolha:focus { outline: none; }
        .rp-bolha:focus-visible circle { stroke: #3fb1c6; stroke-width: 4; }
        .rp-canto span { display: inline-flex; align-items: center; gap: 4px; }
        .rp-canto .rp-ic { width: 16px; height: 16px; }
        .rp-tuto-ic { color: var(--accent); }
        .rp-tuto-ic .rp-ic { width: 30px; height: 30px; }
        .rp-cor-livre { position: relative; overflow: hidden; background: conic-gradient(#ef4444, #f59e0b, #facc15, #22c55e, #06b6d4, #3b82f6, #a855f7, #ef4444) !important; }
        .rp-cor-livre input { position: absolute; inset: -6px; width: calc(100% + 12px); height: calc(100% + 12px); opacity: 0; cursor: pointer; }
        .rp-opcao { grid-template-columns: 105px minmax(0, 1fr); }
        .rp-ajuda-intro { font-size: 1rem; }
        .rp-ajuda ol { margin: 4px 0 8px; padding-left: 22px; color: var(--text-soft); line-height: 1.6; }
        .rp-ajuda h3 { display: flex; align-items: center; gap: 6px; }
        .rp-tabela { overflow-x: auto; }
        .rp-tab-sem { display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
        .rp-tab-sem svg { width: 28px; height: 28px; }
        .rp-flutua .rp-moeda-p { width: 20px; height: 20px; }
        @media (prefers-reduced-motion: reduce) { .rp-btn-colher { animation: none !important; } }
        /* ---------- RootPulse: lotes, lago, árvores, pedras e estoque ---------- */
        .rp-no, .rp-lote { cursor: pointer; }
        .rp-no:focus, .rp-lote:focus { outline: none; }
        .rp-no:hover .rp-sel, .rp-no:focus-visible .rp-sel { stroke: rgba(63, 177, 198,.7); }
        .rp-no.sel .rp-sel { stroke: #3fb1c6; stroke-width: 4; filter: drop-shadow(0 0 6px rgba(63, 177, 198,.9)); }
        .rp-lote:hover polygon, .rp-lote:focus-visible polygon, .rp-lote.sel polygon { fill: rgba(11,14,20,.35); stroke: #ffe08a; }
        .rp-pula { animation: rpPeixe 1.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
        @keyframes rpPeixe { 0%, 100% { transform: translateY(0) rotate(0); } 50% { transform: translateY(-9px) rotate(-12deg); } }
        .rp-bolhas { animation: rpFumaca 2.2s ease-out infinite; transform-box: fill-box; transform-origin: center; }
        .rp-bate { animation: rpBate .7s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: 30% 90%; }
        @keyframes rpBate { from { transform: rotate(-14deg); } to { transform: rotate(16deg); } }
        .rp-pilula-btn { font: inherit; font-weight: 800; cursor: pointer; }
        .rp-pilula-btn:hover, .rp-pilula-btn:focus-visible { border-color: var(--accent); outline: none; }
        .rp-abas { display: flex; gap: 6px; margin-bottom: 12px; flex-wrap: wrap; }
        .rp-abas button { font: inherit; font-weight: 800; font-size: .9rem; display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px;
                          border: 1px solid var(--border); background: var(--bg-card); color: var(--text-soft); cursor: pointer; }
        .rp-abas button[aria-selected="true"] { background: var(--accent); color: var(--accent-contrast); border-color: transparent; }
        .rp-estoque { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 8px; }
        .rp-est-item { display: grid; grid-template-columns: 46px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-card); }
        .rp-est-item svg { width: 46px; height: 46px; }
        .rp-est-item b { display: block; color: var(--text-strong); }
        .rp-est-item small { color: var(--text-muted); font-size: .82rem; }
        .rp-est-acoes { display: flex; gap: 6px; flex-wrap: wrap; justify-content: flex-end; }
        .rp-est-acoes .rp-btn { padding: 6px 10px; font-size: .82rem; }
        @media (prefers-reduced-motion: reduce) { .rp-pula, .rp-bolhas, .rp-bate { animation: none !important; } }
        .rp-beta { display: inline-block; margin-left: 8px; padding: 3px 10px; border-radius: 8px; background: linear-gradient(180deg, #ffe066, #f5b800); color: #3a2800; font-size: .72em; font-weight: 900; letter-spacing: 1px;
                   vertical-align: 4px; box-shadow: 0 2px 0 #b8860b; transform: rotate(-4deg); }
        .rp-sugestao { font-weight: 800; font-size: .88rem; color: var(--accent); text-decoration: none; border: 1px solid var(--border); padding: 7px 12px; border-radius: 999px; }
        .rp-sugestao:hover, .rp-sugestao:focus-visible { border-color: var(--accent); outline: none; }
        .rp-celular { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 14px; margin-bottom: 10px; border-radius: 14px;
                      border: 2px solid var(--accent); background: rgba(var(--accent-rgb), .08); color: var(--text-main); font-size: .92rem; }
        .rp-celular .rp-ic { color: var(--accent); }
        .rp-apres { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 20px; align-items: center; }
        @media (max-width: 860px) { .rp-apres { grid-template-columns: 1fr; } }
        .rp-apres-cena { pointer-events: none; }
        .rp-apres-txt h2 { margin: 0 0 8px; color: var(--text-strong); font-size: 1.5rem; }
        .rp-apres-txt p { color: var(--text-soft); line-height: 1.6; }
        .rp-apres-lista { list-style: none; padding: 0; margin: 14px 0; display: grid; gap: 10px; }
        .rp-apres-lista li { display: grid; grid-template-columns: 36px minmax(0, 1fr); gap: 10px; align-items: center; }
        .rp-apres-lista .rp-ic { width: 26px; height: 26px; color: var(--accent); justify-self: center; }
        .rp-apres-lista b { display: block; color: var(--text-strong); }
        .rp-apres-lista small { color: var(--text-muted); font-size: .86rem; }
        @media (max-width: 600px) {   /* no celular, o que fica por cima do mapa é compacto */
            .rp-canto { padding: 4px 8px !important; gap: 6px !important; font-size: .7rem !important; max-width: calc(100% - 64px); }
            .rp-canto em { display: none !important; }
            .rp-canto .rp-ic { width: 12px !important; height: 12px !important; }
            .rp-zoom { right: 6px !important; bottom: 6px !important; padding: 3px !important; gap: 2px !important; }
            .rp-zoom button { width: 28px !important; height: 28px !important; }
            .rp-zoom button .rp-ic { width: 14px !important; height: 14px !important; }
            .rp-zoom span, #rp-zoom-mais, #rp-zoom-menos { display: none !important; }   /* no celular o zoom é com os dedos (pinça); ficam "casa", "ver tudo" e "tela cheia" */
            .rp-zoom .rp-zoom-tela { width: 40px !important; height: 40px !important; }
            .rp-zoom .rp-zoom-tela .rp-ic { width: 20px !important; height: 20px !important; }
            .rp-cena:not(.rp-dentro) { height: 64vh; min-height: 380px; }   /* mapa mais alto no celular em pé */
            .rp-cena:not(.rp-dentro) #rp-cena { position: absolute; inset: 0; }
            .rp-cena:not(.rp-dentro) #rp-cena > svg { width: 100%; height: 100%; }
            .rp-cheia .rp-cena:not(.rp-dentro) { height: auto; min-height: 0; }
            .rp-dica-cena { font-size: .66rem !important; padding: 3px 8px !important; left: 6px !important; bottom: 6px !important; }
        }
        .rp-recursos { position: absolute; top: 10px; right: 10px; z-index: 3; display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; max-width: 60%; }
        .rp-rec { display: inline-flex; align-items: center; gap: 4px; height: 34px; padding: 0 12px 0 4px; border-radius: 999px; font: inherit; font-weight: 900; font-size: 1rem;
                  color: #fff; background: linear-gradient(180deg, #5b3a1f, #3d2612); border: 2px solid #f0c27a; box-shadow: 0 3px 0 rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.25);
                  text-shadow: 0 2px 0 rgba(0,0,0,.45); }
        .rp-rec b { min-width: 1.5em; text-align: right; }
        .rp-rec-j { background: linear-gradient(180deg, #ffd34d, #e9a514); border-color: #fff3c4; color: #fff; font-size: 1.1rem; }
        .rp-rec-j b { text-shadow: 0 2px 0 #9a5d00, 0 0 2px #9a5d00; }
        .rp-rec-ic { width: 28px !important; height: 28px !important; flex: none; background: rgba(255,255,255,.18); border-radius: 50%; padding: 2px; box-sizing: border-box; }
        .rp-rec-caixa { color: #ffe3a6; padding: 4px !important; }
        .rp-rec-btn { cursor: pointer; }
        .rp-rec-btn:hover, .rp-rec-btn:focus-visible { border-color: #fff; outline: none; }
        @media (max-width: 600px) {
            .rp-recursos { top: 34px; left: 6px; right: auto; gap: 4px; max-width: calc(100% - 12px); justify-content: flex-start; }   /* no celular: logo abaixo do relógio */
            .rp-rec { height: 26px; padding: 0 8px 0 2px; font-size: .78rem; border-width: 1.5px; }
            .rp-rec-j { font-size: .84rem; }
            .rp-rec-ic { width: 22px !important; height: 22px !important; }
        }
        /* modo jogo: só a fazenda na tela; o painel vira uma folha que sobe de baixo */
        .rp-cheia .rp-hud, .rp-cheia .rp-teste, .rp-cheia .rp-celular { display: none !important; }
        .rp-cheia .rp-jogo { position: relative; }
        .rp-cheia .rp-folha { position: absolute; left: 0; right: 0; bottom: 0; z-index: 8; max-height: 55%; display: flex; flex-direction: column;
                              transform: translateY(105%); transition: transform .28s ease; pointer-events: none; }
        .rp-cheia.rp-lado-aberto .rp-folha { transform: none; pointer-events: auto; }
        .rp-cheia .rp-folha .rp-lado { max-height: none !important; flex: 1; overflow: auto; border-radius: 18px 18px 0 0; margin: 0; box-shadow: 0 -10px 30px rgba(0,0,0,.45); }
        .rp-fechar-lado { display: none; }
        .rp-cheia .rp-fechar-lado { display: grid; place-items: center; align-self: center; width: 56px; height: 22px; margin-bottom: -2px; border-radius: 12px 12px 0 0; border: 0;
                                    background: var(--bg-panel); color: var(--text-muted); cursor: pointer; }
        .rp-cheia .rp-msg { position: absolute; left: 50%; top: 104px; transform: translateX(-50%); z-index: 9; width: max-content; max-width: 92%; padding: 7px 14px; border-radius: 12px;
                            background: rgba(11,14,20,.88); color: #f1f5f9; box-shadow: 0 6px 18px rgba(0,0,0,.4); pointer-events: none; }
        .rp-cheia .rp-msg:empty { display: none; }
        .rp-colher-flut { display: none; }
        .rp-cheia .rp-colher-flut { display: flex; gap: 8px; position: absolute; left: 50%; bottom: 14px; transform: translateX(-50%); z-index: 4; width: max-content; max-width: calc(100% - 80px); }
        .rp-colher-flut .rp-btn { white-space: nowrap; box-shadow: 0 4px 12px rgba(0,0,0,.4); }
        @media (max-width: 600px) { .rp-colher-flut .rp-btn { padding: 9px 12px; font-size: .86rem; } }
        .rp-cheia.rp-lado-aberto .rp-colher-flut { display: none; }
        .rp-so-cheia { display: none !important; }
        .rp-cheia .rp-so-cheia { display: grid !important; }
        .rp-jogar-ov { position: absolute; inset: 0; z-index: 6; display: grid; place-content: center; justify-items: center; gap: 10px; background: rgba(11,14,20,.35); }
        .rp-jogar-btn { display: inline-flex; align-items: center; gap: 10px; font: inherit; font-size: 1.15rem; font-weight: 900; padding: 14px 24px; border-radius: 999px; border: 3px solid #fff;
                        background: linear-gradient(180deg, #7fdc4a, #3fae2a); color: #fff; text-shadow: 0 2px 0 rgba(0,0,0,.3); box-shadow: 0 5px 0 #2a7a1c, 0 10px 24px rgba(0,0,0,.4); cursor: pointer;
                        animation: rpChama 1.8s ease-out infinite; }
        .rp-jogar-btn .rp-ic { width: 22px; height: 22px; }
        .rp-jogar-aqui { font: inherit; font-size: .82rem; font-weight: 700; color: #fff; background: rgba(11,14,20,.6); border: 0; border-radius: 999px; padding: 5px 12px; cursor: pointer; }
        .rp-mao { position: fixed; z-index: 9600; pointer-events: none; transform: translate(-14px, 0); }
        .rp-mao[hidden] { display: none; }
        .rp-mao-ic { width: 46px; height: 54px; display: block; filter: drop-shadow(0 4px 6px rgba(0,0,0,.4)); animation: rpToca 1s ease-in-out infinite; transform-origin: 30% 10%; }
        @keyframes rpToca { 0%, 100% { transform: translate(0, 6px) rotate(-12deg); } 50% { transform: translate(0, -2px) rotate(-12deg) scale(.94); } }
        .rp-mao-txt { position: absolute; left: 34px; top: 40px; width: max-content; max-width: 220px; padding: 7px 12px; border-radius: 12px; background: #fff; color: #3b2412;
                      font-weight: 800; font-size: .88rem; box-shadow: 0 6px 16px rgba(0,0,0,.35); border: 2px solid #f5c542; }
        .rp-mao.vira .rp-mao-txt { left: auto; right: 6px; }
        .rp-mao.so-balao .rp-mao-ic { display: none; }
        .rp-mao.so-balao .rp-mao-txt { left: 0; top: 0; transform: translate(-40%, -110%); }
        @media (max-width: 600px) { .rp-mao-txt { max-width: 160px; font-size: .78rem; } }
        .rp-passos { padding: 12px 14px; margin-bottom: 12px; border-radius: 14px; border: 2px solid #f5c542; background: linear-gradient(135deg, rgba(245,197,66,.14), transparent 70%), var(--bg-card); }
        .rp-passos-topo { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
        .rp-passos-topo b { display: flex; align-items: center; gap: 6px; color: var(--text-strong); }
        .rp-passos-topo small { color: var(--text-muted); flex: 1; }
        .rp-passo { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 8px; padding: 5px 0; color: var(--text-soft); font-size: .92rem; }
        .rp-passo.ok { color: var(--text-muted); text-decoration: line-through; }
        .rp-passo-ic { width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--border); display: grid; place-items: center; color: #f5c542; }
        .rp-passo.ok .rp-passo-ic { border-color: #f5c542; background: rgba(245,197,66,.15); }
        .rp-passo-ic .rp-ic { width: 12px; height: 12px; }
        .rp-passo .rp-btn { padding: 5px 12px; font-size: .82rem; }
        @media (prefers-reduced-motion: reduce) { .rp-mao-ic, .rp-jogar-btn { animation: none !important; } }
        .rp-merc-topo { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
        .rp-merc-topo > span { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: #e04a3b; color: #fff; flex: none; }
        .rp-merc-topo b { display: block; color: var(--text-strong); }
        .rp-merc-topo small { color: var(--text-muted); }
        .rp-merc-tudo { width: 100%; justify-content: center; font-size: 1.05rem; padding: 13px 16px; margin-bottom: 4px; background: linear-gradient(180deg, #ffd34d, #e9a514) !important; color: #3a2800 !important; border: 0; box-shadow: 0 4px 0 #a86f00; }
        .rp-merc-tudo .rp-ic { width: 22px; height: 22px; }
        .rp-merc-guarda { margin: 6px 0 0; font-size: .82rem; }
        .rp-merc-grade { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 10px; margin-top: 12px; }
        .rp-merc-card { position: relative; display: grid; justify-items: center; gap: 4px; padding: 12px 10px; border-radius: 16px; text-align: center;
                        background: linear-gradient(180deg, rgba(255,255,255,.06), transparent), var(--bg-card); border: 2px solid var(--border); }
        .rp-merc-card > svg { width: 62px; height: 62px; }
        .rp-merc-card > b { color: var(--text-strong); font-size: 1rem; }
        .rp-merc-qtd { position: absolute; top: 8px; right: 8px; min-width: 28px; padding: 2px 8px; border-radius: 999px; background: #3d2612; color: #fff; font-weight: 900; font-size: .85rem; border: 2px solid #f0c27a; }
        .rp-merc-preco { color: var(--text-muted); font-size: .82rem; }
        .rp-merc-nota { color: #f5c542; font-size: .76rem; font-weight: 700; }
        .rp-merc-sel { display: flex; align-items: center; gap: 4px; margin: 4px 0; }
        .rp-merc-sel button { min-width: 36px; height: 36px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-panel); color: var(--text-strong); font: inherit; font-weight: 800; font-size: .82rem; cursor: pointer; display: grid; place-items: center; }
        .rp-merc-sel button[data-tudo] { padding: 0 10px; }
        .rp-merc-sel output { min-width: 34px; font-weight: 900; font-size: 1.1rem; color: var(--text-strong); }
        .rp-merc-vender { width: 100%; justify-content: center; padding: 10px 8px; }
        .rp-merc-vazio { display: flex; align-items: center; gap: 12px; padding: 12px; }
        .rp-merc-vazio svg { width: 54px; height: 54px; flex: none; opacity: .7; }
        .rp-merc-vazio p { margin: 4px 0 0; color: var(--text-muted); font-size: .9rem; }
        .rp-merc-card { min-width: 0; }
        .rp-loja-topo { background: #16a34a !important; }
        .rp-banco-topo { background: #2563eb !important; }
        .rp-banco-card { display: grid; justify-items: center; gap: 8px; padding: 16px 14px; border-radius: 16px; text-align: center; background: var(--bg-card); border: 1px solid var(--border); margin: 0 0 10px; }
        .rp-banco-card.atrasado { border-color: #f59e0b; box-shadow: 0 0 0 1px rgba(245, 158, 11, .35) inset; }
        .rp-banco-rot { color: var(--text-muted); font-size: .85rem; font-weight: 700; }
        .rp-banco-deve { font-size: 1.6rem; color: var(--text-strong); }
        .rp-banco-deve .rp-moeda-p { width: 26px; height: 26px; }
        .rp-banco-conta { margin: 0; color: var(--text); font-size: .92rem; }
        .rp-banco-sel button { padding: 0 10px; }
        .rp-banco-sel output { min-width: 64px; }
        .rp-banco-regra { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 14px; margin: 0 0 10px; background: rgba(245, 158, 11, .12); border: 1px solid rgba(245, 158, 11, .55); text-align: left; }
        .rp-banco-regra > span { width: 30px; height: 30px; flex: none; border-radius: 9px; display: grid; place-items: center; background: #f59e0b; color: #3a2800; }
        .rp-banco-regra p { margin: 0; font-size: .9rem; color: var(--text); }
        .rp-banco-regra p > b:first-child { display: block; color: #f59e0b; margin-bottom: 2px; }
        .rp-banco-regra.vencido { background: rgba(239, 68, 68, .12); border-color: rgba(239, 68, 68, .6); }
        .rp-banco-regra.vencido > span { background: #ef4444; color: #fff; } .rp-banco-regra.vencido p > b:first-child { color: #ff7b7b; }
        .rp-banco-li { display: flex; gap: 8px; align-items: flex-start; text-align: left; font-size: .86rem; color: var(--text); cursor: pointer; max-width: 520px; }
        .rp-banco-li input { width: 18px; height: 18px; margin-top: 1px; flex: none; accent-color: #2563eb; }
        .rp-banco-faixa { display: flex; width: 100%; gap: 8px; align-items: center; text-align: left; margin: -4px 0 12px; padding: 9px 12px; border-radius: 12px; cursor: pointer;
                          background: rgba(245, 158, 11, .14); border: 1px solid rgba(245, 158, 11, .6); color: var(--text-strong); font: inherit; font-size: .86rem; font-weight: 600; }
        .rp-banco-faixa .rp-ic { color: #f59e0b; flex: none; }
        .rp-abas button.rp-aba-alerta { border-color: #f59e0b; color: #f59e0b; }
        .rp-loja-aviso { margin: 0 0 4px; font-size: .82rem; }
        .rp-loja-lim { color: #4ade80; font-size: .76rem; font-weight: 700; }
        .rp-loja-lim.fim { color: var(--text-muted); }
        .rp-loja-tranc { opacity: .55; }
        .rp-loja-tranc > svg { filter: grayscale(1); }
        @media (max-width: 600px) {
            .rp-merc-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
            .rp-merc-card { padding: 10px 6px; } .rp-merc-card > svg { width: 50px; height: 50px; }
            .rp-merc-sel { gap: 3px; } .rp-merc-sel button { min-width: 30px; height: 32px; border-radius: 9px; } .rp-merc-sel button[data-tudo] { padding: 0 7px; font-size: .74rem; }
            .rp-merc-sel output { min-width: 24px; font-size: 1rem; }
            .rp-merc-vender { font-size: .84rem; padding: 9px 4px; }
        }
        .rp-rec-vender small { font-size: .62rem; font-weight: 900; text-transform: uppercase; letter-spacing: .5px; color: #ffe3a6; margin-left: 2px; }
        .rp-pulsa { animation: rpPulsa .6s ease-out 3; }
        @keyframes rpPulsa { 0% { transform: scale(1); } 40% { transform: scale(1.18); } 100% { transform: scale(1); } }
        .rp-moeda-voa { position: fixed; z-index: 9700; width: 26px; height: 26px; pointer-events: none; transition: transform .75s cubic-bezier(.5,-0.3,.6,1), opacity .75s; }
        .rp-moeda-voa-ic { width: 26px; height: 26px; filter: drop-shadow(0 2px 3px rgba(0,0,0,.4)); }
        .rp-objetivo { position: absolute; left: 10px; top: 48px; z-index: 3; display: flex; align-items: center; gap: 8px; max-width: min(460px, calc(100% - 20px)); padding: 6px 10px 6px 6px;
                       border-radius: 14px; border: 2px solid #f5c542; background: rgba(36,24,8,.88); color: #fff; font: inherit; text-align: left; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.35); }
        .rp-objetivo:hover, .rp-objetivo:focus-visible { border-color: #fff; outline: none; }
        .rp-obj-ic { width: 30px; height: 30px; border-radius: 10px; display: grid; place-items: center; background: linear-gradient(180deg, #ffd34d, #e9a514); color: #5a3a00; flex: none; }
        .rp-obj-ic .rp-ic { width: 18px; height: 18px; }
        .rp-obj-txt { display: grid; min-width: 0; }
.rp-obj-txt b { font-size: 1.05rem; line-height: 1.2; }
        .rp-obj-prog { display: block; height: 6px; margin-top: 4px; border-radius: 99px; background: rgba(255,255,255,.2); overflow: hidden; }
        .rp-obj-prog i { display: block; height: 100%; background: linear-gradient(90deg, #ffd34d, #3fae2a); }
        .rp-obj-ver { flex: none; width: 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; background: #3fae2a; color: #fff; }
        .rp-obj-ver .rp-ic { width: 20px; height: 20px; }
        .rp-obj-ic .rp-moeda { width: 22px; height: 22px; }
        .rp-obj-sem { cursor: default; }
        @media (max-width: 600px) {
            .rp-objetivo { top: 64px; left: 6px; max-width: calc(100% - 12px); padding: 4px 8px 4px 4px; gap: 6px; }
            .rp-cheia .rp-msg { top: 112px; }
            .rp-obj-ic { width: 30px; height: 30px; } .rp-obj-txt b { font-size: .95rem; } .rp-obj-ver { width: 30px; height: 30px; }
        }
        .rp-semente.rp-trancada { opacity: .55; filter: grayscale(.7); cursor: default; }
        @media (max-width: 600px) {
            .rp-lado .rp-sementes { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
            .rp-lado .rp-semente { grid-template-columns: 1fr !important; justify-items: center !important; text-align: center !important; padding: 10px 6px !important; }
            .rp-lado .rp-semente > svg { width: 64px !important; height: 64px !important; }
            .rp-lado .rp-semente > span:nth-child(2) { justify-items: center; }
            .rp-lado .rp-preco { justify-items: center !important; font-size: 1.05rem !important; }
            .rp-todos { font-size: .8rem !important; }
        }
        .rp-rec-nivel { gap: 6px; padding: 0 10px 0 3px; background: linear-gradient(180deg, #7c3aed, #5b21b6); border-color: #c4b5fd; cursor: pointer; }
        .rp-nv-estrela { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; font-weight: 900; font-size: .9rem; color: #3a2800;
                         background: radial-gradient(circle at 35% 30%, #fff3b0, #f5c542 60%, #c98a00); box-shadow: inset 0 -2px 0 rgba(0,0,0,.2); }
        .rp-nv-barra { display: block; width: 44px; height: 7px; border-radius: 99px; background: rgba(255,255,255,.25); overflow: hidden; }
        .rp-nv-barra i { display: block; height: 100%; background: #fde047; }
        .rp-nv-barra.larga { width: 100%; height: 10px; margin: 6px 0 4px; background: var(--bg-card, rgba(255,255,255,.08)); }
        .rp-nivel-card { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border-radius: 14px; border: 2px solid #a78bfa; background: linear-gradient(135deg, rgba(124,58,237,.18), transparent 70%); }
        .rp-nivel-card > div { flex: 1; min-width: 0; } .rp-nivel-card small { color: var(--text-muted); }
        .rp-nv-grande { width: 52px; height: 52px; flex: none; display: grid; place-items: center; border-radius: 50%; font-weight: 900; font-size: 1.4rem; color: #3a2800;
                        background: radial-gradient(circle at 35% 30%, #fff3b0, #f5c542 60%, #c98a00); box-shadow: 0 4px 0 #a86f00; }
        .rp-pedidos { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 10px; }
        /* Cozinha */
        .rp-coz-construir { display: grid; grid-template-columns: 64px 1fr; gap: 12px; align-items: start; padding: 14px; border-radius: 14px; background: var(--bg-card); border: 2px dashed var(--border); }
        .rp-coz-construir > svg { width: 64px; height: 64px; } .rp-coz-construir b { display: block; color: var(--text-strong); } .rp-coz-construir small { display: block; color: var(--text-muted); margin: 2px 0 8px; }
        .rp-coz-custo { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 4px 0 10px; }
        .rp-coz-fogoes { display: grid; gap: 8px; margin-bottom: 14px; }
        .rp-coz-fogao { display: grid; grid-template-columns: 44px 1fr auto; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; background: var(--bg-card); border: 2px solid var(--border); }
        .rp-coz-fogao > svg { width: 44px; height: 44px; } .rp-coz-fogao b { display: block; color: var(--text-strong); } .rp-coz-fogao small { display: block; color: var(--text-muted); }
        .rp-coz-fogao.livre > svg, .rp-coz-fogao.mais > svg { width: 30px; height: 30px; justify-self: center; color: var(--text-muted); }
        .rp-coz-fogao.pronto { border-color: #22c55e; background: rgba(34, 197, 94, .08); } .rp-coz-fogao.pronto small { color: #22c55e; font-weight: 800; }
        .rp-coz-fogao.mais { border-style: dashed; } .rp-coz-fogao.mais .rp-coz-custo { margin: 6px 0 0; }
        .rp-coz-barra { display: block; height: 6px; margin-top: 6px; border-radius: 999px; background: rgba(255, 255, 255, .08); overflow: hidden; }
        .rp-coz-barra i { display: block; height: 100%; background: linear-gradient(90deg, #f59e0b, #ef4444); border-radius: 999px; transition: width 1s linear; }
        .rp-coz-tit { margin: 4px 0 8px; font-size: 1rem; color: var(--text-strong); }
        .rp-coz-receitas { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
        .rp-coz-receita { display: grid; gap: 8px; padding: 12px; border-radius: 14px; background: var(--bg-card); border: 2px solid var(--border); }
        .rp-coz-receita.ok { border-color: rgba(34, 197, 94, .55); }
        .rp-coz-rcab { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; } .rp-coz-rcab > svg { width: 44px; height: 44px; }
        .rp-coz-rcab b { display: block; color: var(--text-strong); } .rp-coz-rcab small { display: flex; align-items: center; gap: 4px; flex-wrap: wrap; color: var(--text-muted); }
        .rp-pedido { display: grid; gap: 8px; padding: 12px; border-radius: 14px; background: var(--bg-card); border: 2px solid var(--border); }
        .rp-pedido.pronto { border-color: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.15); }
        .rp-pedido.espera { grid-template-columns: auto 1fr; align-items: center; color: var(--text-muted); border-style: dashed; }
        .rp-pedido.espera span { display: grid; } .rp-pedido.espera small { color: var(--text-muted); }
        .rp-ped-cab { display: flex; align-items: center; gap: 8px; } .rp-ped-cab small { color: var(--text-muted); }
        .rp-ped-av { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; color: #fff; font-weight: 900; flex: none; }
        .rp-ped-itens { display: flex; flex-wrap: wrap; gap: 6px; }
        .rp-ped-item { display: grid; justify-items: center; gap: 1px; min-width: 58px; padding: 6px; border-radius: 10px; background: rgba(239,68,68,.08); border: 1px solid rgba(239,68,68,.35); }
        .rp-ped-item.ok { background: rgba(34,197,94,.1); border-color: rgba(34,197,94,.5); }
        .rp-ped-item svg { width: 34px; height: 34px; } .rp-ped-item small { font-size: .68rem; color: var(--text-muted); }
        .rp-ped-premio { display: flex; align-items: center; gap: 12px; font-weight: 800; }
        .rp-ped-xp { display: inline-flex; align-items: center; gap: 4px; color: #a78bfa; } .rp-ped-xp .rp-ic { width: 16px; height: 16px; }
        .rp-ped-botoes { display: flex; gap: 6px; } .rp-ped-botoes .rp-btn.principal { flex: 1; justify-content: center; }
        .rp-nivel-festa { position: fixed; inset: 0; z-index: 9700; display: grid; place-items: center; background: rgba(5,7,12,.6); animation: rpSurge .25s ease-out; }
        .rp-nf-caixa { text-align: center; padding: 26px 30px; border-radius: 22px; background: linear-gradient(180deg, #3b1d8f, #1e1145); border: 3px solid #c4b5fd; color: #fff; max-width: 340px; box-shadow: 0 20px 60px rgba(0,0,0,.5); }
        .rp-nf-estrela { width: 86px; height: 86px; margin: 0 auto 6px; display: grid; place-items: center; border-radius: 50%; font-size: 2.4rem; font-weight: 900; color: #3a2800;
                         background: radial-gradient(circle at 35% 30%, #fff3b0, #f5c542 60%, #c98a00); box-shadow: 0 0 0 6px rgba(253,224,71,.25), 0 6px 0 #a86f00; animation: rpPulsa .6s ease-out 2; }
        .rp-nf-caixa h2 { margin: 6px 0; font-size: 1.6rem; } .rp-nf-caixa p { margin: 6px 0; } .rp-nf-libera { color: #fde68a; }
        .rp-nf-caixa .rp-btn { margin-top: 10px; }
        @keyframes rpSurge { from { opacity: 0; transform: scale(.96); } to { opacity: 1; transform: none; } }
        @media (max-width: 600px) {
            .rp-nv-barra { width: 20px; } .rp-pedidos { grid-template-columns: 1fr; }
            .rp-rec-nivel { padding: 0 6px 0 2px; gap: 4px; } .rp-nv-estrela { width: 22px; height: 22px; font-size: .78rem; }
            .rp-rec-vender small { display: none; }   /* no celular a moeda em cima do celeiro já avisa que tem o que vender */
            .rp-recursos { flex-wrap: nowrap; }
        }
        .rp-modo-visita .rp-hud, .rp-modo-visita .rp-folha, .rp-modo-visita #rp-objetivo, .rp-modo-visita #rp-recursos, .rp-modo-visita .rp-colher-flut, .rp-modo-visita .rp-teste { display: none !important; }
        .rp-visita { display: grid; grid-template-columns: 1fr auto; gap: 8px 14px; align-items: center; margin-bottom: 12px; padding: 14px 16px; border-radius: 16px;
                     border: 2px solid #a78bfa; background: linear-gradient(135deg, rgba(124,58,237,.2), transparent 70%), var(--bg-panel); }
        .rp-visita-txt { display: grid; } .rp-visita-txt small { color: #c4b5fd; font-weight: 800; letter-spacing: 1px; text-transform: uppercase; font-size: .7rem; }
        .rp-visita-txt b { font-size: 1.2rem; color: var(--text-strong); } .rp-visita-txt span { color: var(--text-muted); }
        .rp-visita-botoes { display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-end; }
        .rp-visita-ok { display: inline-flex; align-items: center; gap: 6px; color: #7dd3fc; font-weight: 700; font-size: .9rem; }
        .rp-visita-dica { grid-column: 1 / -1; margin: 0; color: var(--text-muted); font-size: .84rem; }
        .rp-cheia .rp-visita { position: absolute; top: 8px; left: 8px; right: 8px; z-index: 7; margin: 0; }
        @media (max-width: 600px) { .rp-visita { grid-template-columns: 1fr; } .rp-visita-botoes { justify-content: flex-start; } }
        .rp-amigos-topo { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 10px; }
        .rp-link { border: 0; background: none; color: var(--accent); font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; padding: 0; }
        .rp-ajudaram { display: flex; align-items: center; gap: 6px; padding: 8px 12px; border-radius: 10px; background: rgba(56,189,248,.1); border: 1px solid rgba(56,189,248,.35); }
        .rp-sub { margin: 14px 0 8px; font-size: 1rem; }
        .rp-amigos { display: grid; gap: 8px; }
        .rp-amigo { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 10px; padding: 10px 12px; border-radius: 12px; background: var(--bg-card); border: 1px solid var(--border); }
        .rp-amigo-txt { display: grid; min-width: 0; } .rp-amigo-txt small { color: var(--text-muted); } .rp-pode { color: #38bdf8; font-weight: 800; }
        .rp-nuvem { animation: rpNuvem 60s linear infinite alternate; }
        @keyframes rpNuvem { from { transform: translateX(-30px); } to { transform: translateX(60px); } }
        @media (prefers-reduced-motion: reduce) { .rp-nuvem { animation: none !important; } }
        .rp-dica-cena { position: absolute; left: 10px; bottom: 10px; z-index: 3; padding: 5px 10px; border-radius: 999px; font-size: .78rem; font-weight: 700;
                        background: rgba(11,14,20,.72); color: #e2e8f0; pointer-events: none; }
        .rp-porta { cursor: pointer; }
        .rp-cerc { cursor: pointer; }
        .rp-cerc:focus { outline: none; }
        .rp-cerc:hover .rp-sel, .rp-cerc:focus-visible .rp-sel { stroke: rgba(63, 177, 198,.7); }
        .rp-cerc.sel .rp-sel { stroke: #3fb1c6; stroke-width: 4; filter: drop-shadow(0 0 6px rgba(63, 177, 198,.9)); }
        .rp-cisca { animation: rpCisca 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center bottom; }
        @keyframes rpCisca { 0%, 70%, 100% { transform: translateY(0); } 80% { transform: translateY(-3px); } 90% { transform: translateY(0) rotate(2deg); } }
        .rp-abelha { animation: rpZum 1.2s ease-in-out infinite alternate; }
        @keyframes rpZum { from { transform: translate(-2px, 1px); } to { transform: translate(3px, -2px); } }
        @media (prefers-reduced-motion: reduce) { .rp-cisca, .rp-abelha { animation: none !important; } }
        .rp-porta:focus { outline: none; }
        .rp-porta:hover .rp-porta-borda, .rp-porta:focus-visible .rp-porta-borda { stroke: #3fb1c6; stroke-width: 4; }
        .rp-dentro { background: #151a24; }
        .rp-casa-g, .rp-lugar, .rp-celeiro { cursor: pointer; }
        .rp-celeiro:focus { outline: none; }
        .rp-celeiro:hover polygon, .rp-celeiro:focus-visible polygon { filter: brightness(1.08); }
        .rp-casa-g:focus, .rp-lugar:focus { outline: none; }
        .rp-casa-g:hover polygon, .rp-casa-g:focus-visible polygon { filter: brightness(1.08); }
        .rp-lugar:hover .rp-sel-lugar, .rp-lugar:focus-visible .rp-sel-lugar { stroke: rgba(63, 177, 198,.75); }
        .rp-lugar.sel .rp-sel-lugar { stroke: #3fb1c6; stroke-width: 4; filter: drop-shadow(0 0 6px rgba(63, 177, 198,.9)); }
        .rp-fogo { animation: rpFogo .5s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: center bottom; }
        @keyframes rpFogo { from { transform: scaleY(.85); } to { transform: scaleY(1.12); } }
        .rp-ampliar { padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(245,197,66,.5); background: linear-gradient(135deg, rgba(245,197,66,.1), transparent 70%), var(--bg-card); }
        .rp-ampliar > b { display: flex; align-items: center; gap: 6px; color: var(--text-strong); }
        .rp-ampliar p { margin: 6px 0; font-size: .9rem; color: var(--text-soft); }
        .rp-custos { list-style: none; padding: 0; margin: 8px 0; display: flex; flex-wrap: wrap; gap: 8px; }
        .rp-custos li { display: flex; align-items: center; gap: 6px; padding: 6px 10px; border-radius: 10px; border: 1px solid var(--border); background: var(--bg-panel); font-size: .9rem; }
        .rp-custos li small { color: var(--text-muted); }
        .rp-custos li.ok { border-color: rgba(var(--ok-rgb, 34,197,94), .6); }
        .rp-custos li.falta { border-color: rgba(var(--bad-rgb), .6); }
        .rp-mat-ic svg { width: 22px; height: 22px; vertical-align: middle; }
        .rp-moveis { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
        .rp-movel { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-card); }
        .rp-movel.sel { border-color: var(--accent); }
        .rp-movel svg { width: 64px; height: 56px; }
        .rp-movel b { display: block; color: var(--text-strong); font-size: .92rem; }
        .rp-movel small { color: var(--text-muted); font-size: .8rem; }
        @media (prefers-reduced-motion: reduce) { .rp-fogo { animation: none !important; } }
        .rp-conqs { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 8px; }
        .rp-conq { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: center; padding: 9px 11px; border-radius: 12px; border: 1px solid var(--border); background: var(--bg-card); opacity: .75; }
        .rp-conq.ok { opacity: 1; border-color: rgba(245,197,66,.6); background: linear-gradient(135deg, rgba(245,197,66,.12), transparent 70%), var(--bg-card); }
        .rp-conq b { display: block; color: var(--text-strong); font-size: .93rem; }
        .rp-conq small { display: block; color: var(--text-muted); font-size: .8rem; }
        .rp-conq-ic { width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--bg-panel); border: 2px solid var(--border); color: var(--text-muted); }
        .rp-conq.ok .rp-conq-ic, .rp-conq-aviso .rp-conq-ic { border-color: #f5c542; color: #f5c542; background: rgba(245,197,66,.12); }
        .rp-conq-ic .rp-ic, .rp-conq-ic .rp-moeda { width: 22px; height: 22px; }
        .rp-conq-prog { display: block; height: 6px; border-radius: 99px; background: rgba(127,127,127,.25); overflow: hidden; margin: 5px 0 2px; }
        .rp-conq-prog i { display: block; height: 100%; background: linear-gradient(90deg, #f5c542, #f59e0b); }
        .rp-conq-avisos { position: fixed; top: 84px; right: 16px; z-index: 9500; display: grid; gap: 8px; pointer-events: none; }
        .rp-conq-aviso { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 10px; align-items: center; width: min(320px, calc(100vw - 32px)); padding: 10px 12px; border-radius: 14px;
                         background: var(--bg-panel); border: 2px solid #f5c542; box-shadow: 0 12px 30px rgba(0,0,0,.45); color: var(--text-main); animation: rpEntra .45s ease-out; transition: opacity .5s, transform .5s; }
        .rp-conq-aviso.saindo { opacity: 0; transform: translateX(30px); }
        .rp-conq-aviso small { display: block; font-size: .72rem; font-weight: 800; letter-spacing: .5px; text-transform: uppercase; color: #f5c542; }
        .rp-conq-aviso b { display: block; color: var(--text-strong); }
        .rp-conq-aviso em { display: block; font-style: normal; font-size: .82rem; color: var(--text-muted); }
        @keyframes rpEntra { from { opacity: 0; transform: translateX(40px); } to { opacity: 1; transform: none; } }
        @media (prefers-reduced-motion: reduce) { .rp-conq-aviso { animation: none; } }
