    :root {
      color-scheme: dark;
      --bg: #101416;
      --surface: #161b1e;
      --surface-strong: #1c2225;
      --text: #f5f3ef;
      --muted: #a8aaab;
      --line: #2a2f31;
      --line-strong: #555a5c;
      --coral: #ff6054;
      --orange: #ff872e;
      --gold: #d9aa42;
      --fidelidade: #ffc590;
      --gold-soft: rgba(217,170,66,.14);
      --master-blue: #83b9ff;
      --master-purple: #bc8cff;
      --master-text: #ccd6ff;
      --master-line: rgba(160,183,255,.42);
      --master-line-soft: rgba(160,183,255,.20);
      --master-tint: rgba(118,150,235,.09);
      --master-grad: linear-gradient(115deg, #d7efff 0%, #83b9ff 32%, #bc8cff 66%, #eef5ff 100%);
      --radius: 14px;
      --page: min(1440px, calc(100% - 64px));
    }

    * { box-sizing: border-box; }
    .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; }

    html { scroll-behavior: smooth; scrollbar-gutter: stable; }

    body {
      margin: 0;
      min-width: 320px;
      background: var(--bg);
      color: var(--text);
      font-family: "Segoe UI", Arial, sans-serif;
      -webkit-font-smoothing: antialiased;
    }

    body:has(dialog[open]) { overflow: hidden; }
    body.is-booting { overflow: hidden; }

    .initial-loader {
      position: fixed;
      inset: 0;
      z-index: 20000;
      display: grid;
      place-items: center;
      background: rgba(10,13,14,.82);
      backdrop-filter: blur(12px);
      -webkit-backdrop-filter: blur(12px);
      opacity: 1;
      visibility: visible;
      transition: opacity 240ms ease, visibility 240ms ease;
    }
    .initial-loader.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
    .initial-loader-content { display: grid; justify-items: center; gap: 16px; color: var(--text); text-align: center; }
    .initial-loader-mark {
      width: 66px;
      height: 66px;
      display: grid;
      place-items: center;
      position: relative;
      border-radius: 50%;
      background: rgba(255,135,46,.06);
      box-shadow: 0 0 34px rgba(255,135,46,.12);
    }
    .initial-loader-mark::after {
      content: "";
      position: absolute;
      inset: -4px;
      border: 2px solid rgba(255,135,46,.14);
      border-top-color: var(--orange);
      border-radius: 50%;
      animation: initial-loader-spin 900ms linear infinite;
    }
    .initial-loader-mark img { width: 44px; height: 44px; display: block; }
    .initial-loader-content strong { font-size: 20px; letter-spacing: -.4px; }
    .initial-loader-content span { color: var(--muted); font-size: 12px; }
    @keyframes initial-loader-spin { to { transform: rotate(360deg); } }

    button, input, select, textarea { font: inherit; }
    button, a { -webkit-tap-highlight-color: transparent; }
    button { color: inherit; }

    .site-header {
      height: 76px;
      border-bottom: 1px solid var(--line);
    }

    .header-inner {
      width: var(--page);
      height: 100%;
      margin: auto;
      display: flex;
      align-items: center;
      gap: 22px;
    }
    .header-inner .hd-gap { flex: 1; }
    .hd-tools { display: inline-flex; align-items: center; gap: 10px; }

    .brand {
      margin-right: 12px;
      color: var(--text);
      font-size: 26px;
      font-weight: 900;
      letter-spacing: -1.4px;
      text-decoration: none;
    }

    .nav-link {
      color: var(--muted);
      font-size: 15px;
      text-decoration: none;
      transition: color 160ms ease;
    }

    .nav-link:hover { color: var(--text); }
    .nav-link[aria-current="page"] { color: var(--orange); }
    .nav-pro { min-height: 36px; padding: 0 15px; display: inline-flex; align-items: center; border: 1px solid rgba(255,135,46,.48); border-radius: 6px; background: rgba(255,135,46,.08); color: var(--orange); font-weight: 800; box-shadow: 0 0 18px rgba(255,135,46,.08); }
    .nav-pro:hover, .nav-pro[aria-current="page"] { border-color: var(--orange); color: #ffb16f; background: rgba(255,135,46,.14); }
    .header-language-group { display: inline-flex; align-items: center; gap: 10px; }
    .language-switcher { display: inline-flex; align-items: center; gap: 2px; padding: 2px; border: 1px solid var(--line); border-radius: 7px; background: rgba(8,11,12,.54); }
    .language-option {
      min-width: 28px; height: 22px; padding: 0 5px; display: grid; place-items: center;
      border-radius: 4px; color: var(--muted); font-size: 11px; font-weight: 700; letter-spacing: .04em;
      text-decoration: none; opacity: .72; transition: opacity 150ms ease, color 150ms ease, background 150ms ease;
    }
    .language-option:hover { opacity: 1; color: var(--text); }
    .language-option[aria-current="true"] { color: var(--orange); background: rgba(255,135,46,.12); opacity: 1; }
    .header-search {
      width: 34px; height: 34px; display: inline-grid; place-items: center; flex: 0 0 auto;
      border: 1px solid var(--line); border-radius: 7px; background: transparent; color: var(--muted);
      cursor: pointer; transition: color 150ms ease, border-color 150ms ease;
    }
    .header-search:hover { color: var(--text); border-color: var(--line-strong); }
    .header-search svg { width: 16px; height: 16px; }

    .mobile-section-switch { display: none; }
    .mobile-register-cta { display: none; }

    .button {
      min-height: 44px;
      padding: 0 20px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 9px;
      border: 1px solid var(--line-strong);
      border-radius: 6px;
      background: transparent;
      color: var(--text);
      font-size: 15px;
      font-weight: 600;
      text-decoration: none;
      cursor: pointer;
      transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
    }

    .button:hover { background: var(--surface-strong); border-color: #777b7d; }
    .button:active { transform: translateY(1px); }
    .button:disabled { opacity: .55; cursor: not-allowed; transform: none; }
    .button-primary { background: var(--orange); border-color: var(--orange); color: #160b03; }
    .button-primary:hover { background: #ff9b53; border-color: #ff9b53; }

    main { width: var(--page); margin: 0 auto 72px; }

    .hero {
      padding: 22px 6px 14px;
      display: block;
    }

    /* .page-heading: títulos de tela com o visual de H1, mas H2 no HTML — um H1
       por página (o servidor promove o da tela certa em /como-rankear e /pro). */
    h1, .page-heading {
      margin: 0;
      max-width: 720px;
      font-size: clamp(42px, 4.1vw, 66px);
      line-height: .98;
      letter-spacing: -3.4px;
    }

    .hero #page-title {
      max-width: none;
      font-size: clamp(24px, 2.5vw, 34px);
      line-height: 1.1;
      letter-spacing: -1.1px;
    }

    .hero > div > p,
    .hero-cycle {
      margin: 11px 0 0;
      max-width: 96ch;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.5;
    }
    .hero-cycle[hidden] { display: none; }
    /* Parceria TopIdle + IdleDeck (29/09): botão no espaço vazio ao lado do reset.
       Laranja do TopIdle com o verde do IdleDeck, para ler como parceria. */
    .hero-linha { display: flex; align-items: flex-end; justify-content: space-between; gap: 14px; flex-wrap: wrap; }
    .parceria-botao { position: relative; margin-top: 10px; padding: 9px 16px 9px 10px; display: inline-flex; align-items: center; gap: 11px; border: 1px solid transparent; border-radius: 14px; background: linear-gradient(#141a17, #141a17) padding-box, linear-gradient(120deg, #ff872e, #7ad66a) border-box; color: var(--text); font: inherit; text-align: left; cursor: pointer; box-shadow: 0 6px 22px rgba(122,214,106,.10); transition: transform .15s ease, box-shadow .15s ease; }
    .parceria-botao:hover { transform: translateY(-1px); box-shadow: 0 8px 26px rgba(122,214,106,.18); }
    .parceria-botao:focus-visible { outline: 2px solid #7ad66a; outline-offset: 3px; }
    .parceria-botao[hidden] { display: none; }
    .parceria-logos { display: inline-flex; align-items: center; gap: 5px; }
    .parceria-logos img { width: 26px; height: 26px; border-radius: 7px; image-rendering: pixelated; }
    .parceria-logos b { color: var(--muted); font-size: 13px; }
    .parceria-texto { display: grid; gap: 1px; }
    .parceria-texto strong { font-size: 14px; letter-spacing: -.2px; }
    .parceria-texto small { color: #9fe093; font-size: 12px; font-weight: 700; }
    .parceria-novo { position: absolute; top: -8px; right: -6px; padding: 2px 7px; border-radius: 999px; background: #f2c541; color: #1a1a12; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
    #parceria-dialog { width: min(640px, calc(100% - 24px)); }
    .parceria-corpo { display: grid; gap: 12px; }
    .parceria-capa { width: 100%; height: auto; border-radius: 12px; border: 1px solid rgba(122,214,106,.25); }
    /* margin-top: o X de fechar ficava por cima do título do vídeo. */
    .parceria-video { margin-top: 30px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px; border: 1px solid rgba(122,214,106,.25); background: #000; }
    .parceria-video iframe { width: 100%; height: 100%; display: block; border: 0; }
    .parceria-youtube { justify-self: end; margin-top: -6px; color: #9fe093; font-size: 12.5px; font-weight: 700; text-decoration: none; }
    .parceria-youtube:hover { text-decoration: underline; }
    .parceria-olho { color: #9fe093; font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .parceria-vantagens { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
    .parceria-vantagens li { padding: 11px 12px; display: grid; gap: 3px; border: 1px solid rgba(122,214,106,.22); border-radius: 10px; background: rgba(122,214,106,.05); }
    .parceria-vantagens strong { font-size: 13.5px; }
    .parceria-vantagens span { color: var(--muted); font-size: 12.5px; line-height: 1.45; }
    .parceria-nota { margin: 0; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
    .parceria-acoes { display: flex; gap: 10px; flex-wrap: wrap; }
    @media (max-width: 820px) {
      .hero-linha { display: block; }
      .parceria-botao { width: 100%; margin-top: 12px; }
      .parceria-vantagens { grid-template-columns: 1fr; }
    }
    .hero-cycle .ranking-reset { color: var(--text); font-style: normal; font-weight: 700; }
    .hero-cycle .ranking-method {
      display: block; margin-top: 3px; padding: 0; border: 0; background: transparent;
      color: var(--orange); font: inherit; font-size: 13px; font-weight: 700; cursor: pointer;
    }
    .hero-cycle .ranking-method:hover { text-decoration: underline; }

    /* No desktop o título do herói fica numa linha só. */
    @media (min-width: 821px) {
      .hero #page-title { white-space: nowrap; }
    }

    .search {
      height: 54px;
      display: flex;
      align-items: center;
      gap: 13px;
      padding: 0 17px;
      border: 1px solid var(--line-strong);
      border-radius: 6px;
      background: #0c0f10;
    }

    .search svg { flex: 0 0 auto; color: var(--muted); }
    .search:focus-within { border-color: var(--orange); }

    .search input {
      width: 100%;
      border: 0;
      outline: 0;
      background: transparent;
      color: var(--text);
      font-size: 16px;
    }

    .search input::placeholder { color: #85898a; }

    .leaders { padding: 0 6px 34px; }

    .leaders-heading {
      margin-bottom: 14px;
      display: flex;
      align-items: baseline;
      justify-content: space-between;
      gap: 20px;
    }

    .leaders-heading h2 { margin: 0; font-size: 19px; letter-spacing: -.45px; }
    .leaders-heading span { color: var(--muted); font-size: 13px; }

    .leader-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      border: 1px solid var(--line);
      border-radius: 10px;
      overflow: hidden;
    }

    .leader {
      min-width: 0;
      padding: 18px;
      display: grid;
      grid-template-columns: 92px minmax(0, 1fr) auto;
      align-items: center;
      gap: 15px;
      border: 0;
      border-right: 1px solid var(--line);
      background: var(--surface);
      color: inherit;
      text-align: left;
      cursor: pointer;
    }

    .leader:last-child { border-right: 0; }
    .leader:hover { background: var(--surface-strong); }
    .leader .game-cover { width: 92px; height: 64px; flex-basis: 92px; }
    .leader-copy { min-width: 0; }
    .leader-category { display: block; margin-bottom: 4px; color: var(--orange); font-size: 11px; font-weight: 700; text-transform: uppercase; }
    .leader-name { display: block; overflow: hidden; font-size: 17px; text-overflow: ellipsis; white-space: nowrap; }
    .leader-votes { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
    .leader .monthly-vote { min-width: 74px; }

    .filters {
      display: flex;
      gap: 34px;
      border-bottom: 1px solid var(--line);
      overflow-x: auto;
      scrollbar-width: none;
    }

    .filters::-webkit-scrollbar { display: none; }

    .filter {
      position: relative;
      flex: 0 0 auto;
      padding: 0 6px 17px;
      border: 0;
      background: transparent;
      color: var(--muted);
      font-size: 16px;
      cursor: pointer;
    }

    .filter::after {
      content: "";
      position: absolute;
      inset: auto 0 -1px;
      height: 3px;
      background: transparent;
    }

    .filter[aria-pressed="true"] { color: var(--orange); }
    .filter[aria-pressed="true"]::after { background: var(--orange); }

    .ranking-head,
    .game-row {
      display: grid;
      grid-template-columns: 72px minmax(300px, 1.6fr) minmax(110px, .7fr) 120px 132px 132px 112px;
      align-items: center;
      gap: 18px;
    }

    .ranking-head {
      min-height: 50px;
      padding: 0 24px;
      color: #85898a;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: .08em;
      text-transform: uppercase;
    }

    .game-list { border-top: 1px solid var(--line); }

    .game-row {
      width: 100%;
      min-height: 86px;
      padding: 12px 24px;
      border: 0;
      border-bottom: 1px solid var(--line);
      background: transparent;
      text-align: left;
      cursor: pointer;
      transition: background 160ms ease;
    }

    .game-row:hover, .game-row:focus-visible { background: var(--surface); outline: 0; }
    .game-row:first-child { background: linear-gradient(90deg, var(--surface-strong), rgba(23,27,29,.25)); }
    .game-row:first-child:hover { background: #1a1f21; }

    .rank {
      color: #c0c2c3;
      font-size: 36px;
      font-weight: 700;
      letter-spacing: -2px;
    }

    .game-title {
      min-width: 0;
      display: flex;
      align-items: center;
      gap: 15px;
    }

    .game-cover {
      position: relative;
      width: 116px;
      height: 58px;
      flex: 0 0 116px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 8px;
      background: var(--cover-color);
    }

    .game-cover img {
      width: 100%;
      height: 100%;
      padding: 9px 20px;
      object-fit: contain;
    }

    .game-cover.wide img { padding: 0; object-fit: cover; }

    .cover-fallback {
      width: 100%;
      height: 100%;
      display: grid;
      place-items: center;
      color: #fff;
      font-size: 28px;
      font-weight: 850;
      box-shadow: inset 0 0 28px rgba(255,255,255,.08);
    }

    .game-name {
      overflow: hidden;
      color: var(--text);
      text-decoration: none;
      font-size: 20px;
      font-weight: 750;
      letter-spacing: -.5px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }

    .category { color: var(--muted); font-size: 14px; }
    .status { color: var(--orange); font-size: 14px; }
    .mobile-meta { display: none; }

    .monthly-count { color: var(--text); font-size: 16px; font-weight: 650; }
    .monthly-count small { display: block; margin-top: 3px; color: var(--muted); font-size: 10px; font-weight: 500; }

    .like {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      border: 0;
      background: transparent;
      color: var(--text);
      font-size: 17px;
      cursor: pointer;
      white-space: nowrap;
    }

    .like svg { width: 25px; height: 25px; color: var(--coral); transition: transform 160ms ease; }
    .like:hover svg { transform: scale(1.1); }
    .like:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; border-radius: 4px; }
    .like[aria-pressed="false"] svg { fill: transparent; }
    .like[aria-pressed="true"] svg { fill: currentColor; }

    .monthly-vote { min-height: 44px; padding: 0 17px; }
    .monthly-vote[aria-pressed="true"] { border-color: #8d4b1f; color: var(--orange); }
    .monthly-vote:disabled { cursor: default; opacity: 1; }

    .sponsored {
      min-height: 76px;
      padding: 10px 24px 10px 96px;
      display: grid;
      grid-template-columns: minmax(0, 1fr) 112px;
      align-items: center;
      gap: 18px;
      border-bottom: 1px solid var(--line);
      background: var(--surface);
    }

    .sponsor-copy { display: flex; align-items: center; gap: 16px; }
    .sponsor-mark {
      width: 46px;
      height: 46px;
      display: grid;
      place-items: center;
      border: 1px dashed #747879;
      border-radius: 8px;
      color: var(--muted);
      font-size: 22px;
    }

    .sponsor-copy strong { display: block; margin-bottom: 3px; font-size: 14px; }
    .sponsor-copy span { color: var(--muted); font-size: 13px; }

    .empty-state {
      padding: 70px 20px;
      border-bottom: 1px solid var(--line);
      color: var(--muted);
      text-align: center;
    }

    .sponsored-discovery {
      position: relative; min-height: 104px; margin: 18px 0 20px; padding: 13px 15px 16px; display: grid; grid-template-columns: 240px minmax(0,1fr) auto;
      align-items: center; gap: 20px; overflow: hidden; border: 1px solid rgba(255,135,46,.38); border-radius: 10px;
      background: linear-gradient(105deg, rgba(255,135,46,.07), rgba(17,22,24,.96) 42%);
    }
    .sponsored-discovery[hidden], .details-sponsored[hidden], .sponsored-inline[hidden] { display: none; }
    .sponsored-banner-frame { display: block; overflow: hidden; background: #090c0d; }
    .sponsored-banner-frame img, .sponsored-banner-frame video { width: 100%; height: 100%; display: block; object-fit: cover; object-position: var(--campaign-x, 50%) var(--campaign-y, 50%); transform: scale(var(--campaign-zoom, 1)); transform-origin: var(--campaign-x, 50%) var(--campaign-y, 50%); }
    .sponsored-discovery .sponsored-banner-frame { width: 240px; height: 76px; border-radius: 7px; }
    .sponsored-discovery-copy { min-width: 0; }
    .sponsored-label { display: block; margin-bottom: 5px; color: var(--orange); font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .sponsored-discovery strong { display: block; font-size: 18px; }
    .sponsored-discovery p { margin: 5px 0 0; max-width: 720px; color: var(--muted); font-size: 13px; line-height: 1.45; }
    .sponsored-discovery .button { min-height: 46px; white-space: nowrap; }
    .sponsored-rotation-progress { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: rgba(255,255,255,.04); }
    .sponsored-rotation-progress span { width: 100%; height: 100%; display: block; transform-origin: left; background: linear-gradient(90deg, var(--orange), var(--gold)); animation: sponsored-countdown var(--sponsor-rotation-duration, 120s) linear forwards; }
    @keyframes sponsored-countdown { from { transform: scaleX(0); } to { transform: scaleX(1); } }
    @media (prefers-reduced-motion: reduce) { .sponsored-rotation-progress { display: none; } }
    .details-sponsored { margin: 24px 0 0; padding: 11px; display: grid; grid-template-columns: 130px minmax(0,1fr) auto; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 8px; background: #111617; }
    .details-sponsored .sponsored-banner-frame { width: 130px; height: 42px; border-radius: 5px; }
    .details-sponsored strong { display: block; font-size: 13px; }
    .details-sponsored p { margin: 3px 0 0; color: var(--muted); font-size: 11px; }
    .details-sponsored .button { min-height: 36px; padding: 0 13px; font-size: 11px; }
    .sponsored-inline { margin: 16px 0; padding: 10px; display: grid; grid-template-columns: 112px minmax(0,1fr) auto; align-items: center; gap: 13px; border: 1px solid rgba(255,135,46,.24); border-radius: 8px; background: rgba(17,22,23,.8); }
    .sponsored-inline .sponsored-banner-frame { width: 112px; height: 48px; border-radius: 5px; }
    .sponsored-inline strong { display: block; font-size: 13px; }
    .sponsored-inline p { margin: 3px 0 0; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .sponsored-inline .button { min-height: 34px; padding: 0 12px; font-size: 11px; white-space: nowrap; }
    /* Cartão vertical para espaço estreito (janela de conferência do voto).
       Em ~430px, as três colunas deixavam o banner num quadradinho e o texto
       numa torre de 150px — um anunciante mandou print reclamando. Aqui o
       banner aparece na proporção em que foi feito (1260 × 500), o título em
       uma linha, o texto em até duas e o botão largo. */
    /* Flex, e não grid: regras de tela estreita posicionam o texto numa coluna
       da grade e recriavam colunas no celular, com o banner de volta a 105px. */
    .sponsored-inline.is-vertical { display: flex; flex-direction: column; align-items: stretch; gap: 9px; padding: 10px; }
    /* Banner inteiro, na proporção da própria arte: a do TopIdle é 1260 × 400 e
       a recomendada ao anunciante é 1260 × 500 — recortar para uma proporção só
       cortava "DESTAQUE" no meio. O teto de altura segura imagem quadrada. */
    .sponsored-inline.is-vertical .sponsored-banner-frame { width: 100%; height: auto; max-height: 190px; border-radius: 6px; }
    .sponsored-inline.is-vertical .sponsored-banner-frame img,
    .sponsored-inline.is-vertical .sponsored-banner-frame video { height: auto; max-height: 190px; object-fit: contain; }
    /* Anula o recuo de 20 × 26px que o texto herda do anúncio largo. */
    .sponsored-inline.is-vertical .sponsored-discovery-copy { display: grid; gap: 4px; padding: 2px 2px 0; align-self: stretch; }
    .sponsored-inline.is-vertical strong { font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .sponsored-inline.is-vertical p { margin: 0; font-size: 12px; line-height: 1.45;
      display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
    .sponsored-inline.is-vertical .button { width: 100%; min-height: 38px; font-size: 12.5px;
      background: var(--orange); border-color: var(--orange); color: #160b03; }
    .sponsored-inline.is-vertical .button:hover { background: #ff9b53; border-color: #ff9b53; }
    .search-result.is-sponsored { margin-bottom: 8px; border-color: rgba(255,135,46,.42); background: rgba(255,135,46,.07); color: inherit; text-decoration: none; }
    .search-result.is-sponsored .search-banner { background: #090c0d; object-fit: contain; }
    .search-result.is-sponsored .sponsored-label { margin-bottom: 3px; }
    .action-success-mark { width: 46px; height: 46px; display: grid; place-items: center; margin-bottom: 14px; border-radius: 50%; background: rgba(77,190,115,.13); color: #67d987; font-size: 24px; font-weight: 900; }
    .action-success-copy { margin: 6px 0 18px; color: var(--muted); line-height: 1.55; }
    .vote-receipt { margin: -2px 0 18px; padding: 13px 15px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid rgba(77,190,115,.3); border-radius: 8px; background: rgba(77,190,115,.06); }
    .vote-receipt span, .vote-receipt strong, .vote-receipt small { display: block; }
    .vote-receipt span { color: #cfeeda; font-size: 12px; font-weight: 800; }
    .vote-receipt small { margin-top: 3px; color: var(--muted); font-size: 10px; }
    .vote-receipt strong { color: #77db98; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 15px; letter-spacing: .05em; white-space: nowrap; }
    .chamado { margin: 0 0 16px; padding: 15px; display: grid; gap: 12px; border: 1px solid rgba(255,96,84,.32); border-radius: 8px; background: rgba(255,96,84,.05); }
    .chamado-head { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 11px; }
    .chamado-icone { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; background: rgba(255,96,84,.14); color: var(--coral); font-size: 19px; font-weight: 800; }
    .chamado-head strong, .chamado-head small { display: block; }
    .chamado-head strong { font-size: 14px; }
    .chamado-head small { margin-top: 2px; color: var(--muted); font-size: 11.5px; }
    .chamado-copy { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
    .chamado-mensagem, .chamado-sem-discord { display: grid; gap: 7px; }
    .chamado-mensagem label, .chamado-sem-discord label { color: var(--text); font-size: 12px; font-weight: 700; }
    .chamado-mensagem textarea, .chamado-sem-discord input {
      width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 7px;
      background: var(--bg); color: var(--text); font: inherit; font-size: 13px; line-height: 1.5; resize: vertical;
    }
    .chamado-sem-discord small { color: var(--muted); font-size: 11.5px; }
    .chamado-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
    .chamado-enviar { justify-self: start; }
    .chamado-contador { margin: 0; color: #ffb0a6; font-size: 12px; font-weight: 700; }
    /* Equipe presente pede, nao e cobrada: o vermelho sai e entra o rosa do
       proprio selo, porque quem ja esta aqui nao merece cara de defeito. */
    .chamado.pedido { border-color: rgba(255,163,208,.34); background: rgba(255,163,208,.05); }
    .chamado.pedido .chamado-icone { background: rgba(255,163,208,.12); color: #ffa3d0; }
    .chamado.pedido .chamado-contador { color: #ffa3d0; }
    .developer-demanda {
      margin: 0; padding: 11px 13px; border-radius: 7px; font-size: 12.5px; line-height: 1.5;
      border: 1px solid rgba(255,163,208,.3); background: rgba(255,163,208,.05); color: var(--muted);
    }
    .developer-demanda b { color: #ffa3d0; font-size: 15px; }
    .vote-rating-invite { margin: 0 0 16px; padding: 15px; display: grid; gap: 13px; border: 1px solid rgba(240,185,66,.3); border-radius: 8px; background: rgba(240,185,66,.06); }
    .vote-rating-invite-head { display: grid; grid-template-columns: auto minmax(0,1fr); align-items: center; gap: 11px; }
    .vote-rating-invite-icon { width: 34px; height: 34px; display: grid; place-items: center; border-radius: 7px; background: rgba(240,185,66,.12); color: var(--gold); font-size: 18px; }
    .vote-rating-invite strong, .vote-rating-invite small { display: block; }
    .vote-rating-invite strong { font-size: 13px; }
    .vote-rating-invite small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .vote-inline-criteria { display: grid; gap: 6px; }
    .vote-inline-row { min-height: 42px; padding: 5px 7px 5px 11px; display: grid; grid-template-columns: minmax(110px,1fr) auto; align-items: center; gap: 10px; border: 1px solid rgba(255,255,255,.07); border-radius: 6px; background: rgba(6,9,10,.32); }
    .vote-inline-row > strong { font-size: 11px; }
    .vote-inline-stars { display: flex; gap: 2px; }
    .vote-inline-star { width: 31px; height: 31px; padding: 3px; display: grid; place-items: center; border: 0; background: transparent; color: #62696c; cursor: pointer; }
    .vote-inline-star svg { width: 24px; height: 24px; fill: transparent; stroke: currentColor; stroke-width: 1.4; }
    .vote-inline-star[aria-checked="true"] { color: var(--gold); }
    .vote-inline-star[aria-checked="true"] svg { fill: currentColor; }
    .vote-inline-star:hover, .vote-inline-star:focus-visible { color: var(--gold); outline: 0; transform: scale(1.08); }
    .vote-rating-invite-actions { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
    .vote-rating-invite-actions small { margin: 0; }
    .vote-rating-invite .button { min-height: 36px; padding: 0 14px; font-size: 11px; white-space: nowrap; }
    .vote-owner-ad-upsell { margin: 0 0 16px; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 14px; border: 1px solid rgba(155,211,244,.28); border-radius: 8px; background: rgba(155,211,244,.06); }
    .vote-owner-ad-upsell strong, .vote-owner-ad-upsell small { display: block; }
    .vote-owner-ad-upsell strong { color: #ccecff; font-size: 12px; }
    .vote-owner-ad-upsell small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.4; }
    .vote-owner-ad-upsell .button { min-height: 34px; padding: 0 12px; flex: 0 0 auto; font-size: 10px; white-space: nowrap; }
    .action-success-actions { margin-top: 18px; display: flex; justify-content: flex-end; }
    #pro-info-dialog { width: min(760px, calc(100% - 32px)); overflow-x: hidden; }
    .pro-info-hero { margin: -30px -30px 0; padding: 34px 76px 28px 30px; border-bottom: 1px solid rgba(255,135,46,.35); background: radial-gradient(circle at 92% 15%, rgba(255,135,46,.2), transparent 40%), #14191a; }
    .pro-info-eyebrow { display: block; margin-bottom: 9px; color: var(--orange); font-size: 10px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
    .pro-info-hero h2 { margin: 0; max-width: 560px; font-size: 31px; line-height: 1.08; }
    .pro-info-hero p { margin: 12px 0 0; max-width: 590px; color: var(--muted); line-height: 1.55; }
    .pro-info-price { margin-top: 20px; display: flex; align-items: baseline; gap: 8px; }
    .pro-info-price strong { color: var(--orange); font-size: 30px; white-space: nowrap; }
    .pro-info-price span { color: var(--muted); font-size: 13px; }
    .pro-info-credit { margin-top: 16px; padding: 12px 14px; border: 1px solid rgba(255,135,46,.42); border-radius: 8px; background: rgba(255,135,46,.09); color: #ffd1ae; font-size: 13px; }
    .pro-info-credit strong { color: #fff; }
    .pro-info-maintenance, .checkout-maintenance { color: #ffd1ae; font-size: 12px; line-height: 1.45; }
    .pro-info-maintenance { margin: 17px 0 0; padding: 10px 12px; border: 1px solid rgba(255,135,46,.34); border-radius: 7px; background: rgba(255,135,46,.07); }
    .checkout-maintenance { grid-column: 1 / -1; margin: -8px 0 0; padding-top: 13px; border-top: 1px solid var(--line); }
    .migration-payment-note { grid-column: 1 / -1; margin: -8px 0 0; padding: 12px 14px; border: 1px solid rgba(255, 127, 42, .34); border-radius: 10px; background: rgba(255, 127, 42, .08); color: #ffd1ae; font-size: 13px; line-height: 1.5; }
    .monetization-gate-notice { margin: 4px 0 0; padding: 11px 13px; border: 1px solid rgba(255, 127, 42, .3); border-radius: 10px; background: rgba(255, 127, 42, .07); color: #ffd1ae; font-size: 12.5px; line-height: 1.5; }
    .migration-payment-note strong { color: #fff; }
    .pro-info-actions { margin-top: 20px; display: flex; flex-wrap: wrap; gap: 10px; }
    .owner-pro-dismiss { margin-top: 18px; padding-top: 16px; display: flex; align-items: center; gap: 8px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; cursor: pointer; }
    .owner-pro-dismiss input { accent-color: var(--orange); }
    #credit-gift-dialog { width: min(430px, calc(100% - 32px)); text-align: center; }
    .credit-gift-icon { display: grid; place-items: center; width: 68px; height: 68px; margin: 0 auto 18px; border: 1px solid rgba(255,128,43,.55); border-radius: 20px; background: rgba(255,128,43,.12); color: var(--orange); font-size: 34px; box-shadow: 0 0 28px rgba(255,128,43,.16); }
    #credit-gift-dialog .register-copy { margin-bottom: 22px; }
    #credit-gift-dismiss { width: 100%; }

    dialog {
      width: min(670px, calc(100% - 32px));
      max-height: calc(100dvh - 40px);
      padding: 0;
      border: 1px solid var(--line-strong);
      border-radius: var(--radius);
      background: var(--surface-strong);
      color: var(--text);
      box-shadow: 0 30px 90px rgba(0,0,0,.45);
      overflow-y: auto;
    }

    dialog::backdrop { background: rgba(0,0,0,.58); }
    dialog.janela-solta { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 50;
      max-height: calc(100dvh - 32px); margin: 0; }
    .janela-fundo { position: fixed; inset: 0; z-index: 49; background: rgba(3,5,6,.72); backdrop-filter: blur(6px); }
    body.com-janela-solta { overflow: hidden; }
    /* Fora da janela, no alto à direita: some com a dúvida de como sair. */
    .janela-sair { position: fixed; z-index: 51; width: 40px; height: 40px; display: grid; place-items: center;
      border: 1px solid var(--line-strong); border-radius: 50%; background: rgba(13,18,19,.9); color: var(--text);
      cursor: pointer; backdrop-filter: blur(4px); box-shadow: 0 4px 16px rgba(0,0,0,.5); }
    .janela-sair:hover { border-color: var(--orange); color: var(--orange); }
    @media (max-width: 720px) { .janela-sair { width: 36px; height: 36px; } }
    #details-dialog { width: min(900px, calc(100% - 32px)); }
    #details-dialog::backdrop { background: rgba(3,5,6,.78); backdrop-filter: blur(6px); }
    .pro-game-context #home-sponsored-discovery { visibility: hidden; }

    .dialog-body { position: relative; padding: 30px; }

    .dialog-close {
      position: absolute;
      top: 17px;
      right: 17px;
      width: 42px;
      height: 42px;
      display: grid;
      place-items: center;
      border: 0;
      background: transparent;
      color: var(--muted);
      cursor: pointer;
    }

    .dialog-close:hover { color: var(--text); }
    /* Janela solta ganha o X de fora (.janela-sair), que fica fixo e acompanha a
       rolagem. O X de dentro virava um segundo botão de fechar no mesmo canto. */
    dialog.janela-solta .dialog-close { display: none; }
    .dialog-cover {
      width: calc(100% + 60px);
      height: 142px;
      margin: -30px -30px 25px;
      overflow: hidden;
      border-bottom: 1px solid var(--line);
      border-radius: 13px 13px 0 0;
      background: var(--cover-color);
    }

    .dialog-cover img { width: 100%; height: 100%; padding: 20px 35%; object-fit: contain; }
    .dialog-cover.wide img { padding: 0; object-fit: cover; }
    .dialog-cover .cover-fallback { font-size: 58px; }
    .dialog-top { display: flex; align-items: flex-start; padding-right: 38px; }
    .dialog-title { margin: 4px 0 5px; font-size: 29px; line-height: 1.1; letter-spacing: -1px; }
    .dialog-meta { color: var(--muted); font-size: 15px; }
    .dialog-meta .status { margin-left: 7px; }
    .dialog-description { margin: 23px 0; font-size: 17px; line-height: 1.52; white-space: pre-line; }
    .details-media { margin: 25px 0 0; }
    .details-media-grid { display: grid; gap: 10px; }
    .details-video { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #0c0e0f; }
    .details-video iframe { width: 100%; height: 100%; display: block; border: 0; }
    .details-video-poster { width: 100%; height: 100%; padding: 0; display: block; position: relative; border: 0; background: #0c0e0f; color: #fff; cursor: pointer; }
    .details-video-poster img { width: 100%; height: 100%; display: block; object-fit: cover; }
    .details-video-play { position: absolute; inset: 50% auto auto 50%; width: 64px; height: 46px; display: grid; place-items: center; transform: translate(-50%,-50%); border-radius: 12px; background: #ff3b30; box-shadow: 0 8px 26px rgba(0,0,0,.45); }
    .details-video-play svg { width: 24px; height: 24px; margin-left: 3px; fill: currentColor; }
    .details-gallery { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px; min-height: 0; }
    .details-gallery.single { grid-template-columns: 1fr; }
    .details-screenshot { min-height: 0; padding: 0; aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #111516; cursor: pointer; }
    .details-screenshot img { width: 100%; height: 100%; min-height: 0; display: block; object-fit: cover; transition: transform 180ms ease; }
    .details-screenshot:hover img { transform: scale(1.035); }
    .dialog-stats { margin-bottom: 25px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
    .dialog-like { justify-content: flex-start; padding: 0; }
    .dialog-like small, .dialog-monthly { color: var(--muted); font-size: 14px; }

    .search-results { margin-top: 18px; border-top: 1px solid var(--line); }

    .search-result {
      width: 100%;
      padding: 13px 0;
      display: flex;
      align-items: center;
      gap: 14px;
      border: 0;
      border-bottom: 1px solid var(--line);
      background: transparent;
      color: inherit;
      text-align: left;
      cursor: pointer;
    }

    .search-result:hover { color: var(--orange); }
    .search-result .game-cover { width: 78px; height: 48px; flex-basis: 78px; }
    .search-result strong { display: block; }
    .search-result span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }

    .dialog-actions { display: grid; grid-template-columns: .9fr 1.1fr; gap: 12px; }
    .dialog-actions .button { width: 100%; }
    .dialog-actions.is-single { grid-template-columns: 1fr; }
    .dialog-links { margin-top: 22px; display: flex; justify-content: space-between; }
    .text-action { border: 0; background: transparent; color: var(--muted); cursor: pointer; text-decoration: none; }
    .text-action:hover { color: var(--text); }
    .text-action:disabled { color: var(--muted-2); cursor: default; }

    .register-title { margin: 0 0 8px; font-size: 29px; letter-spacing: -1px; }
    .register-copy { margin: 0 0 24px; color: var(--muted); line-height: 1.5; }
    .form-grid { display: grid; gap: 16px; }
    .field { display: grid; gap: 7px; }
    .field label { color: #d7d7d5; font-size: 13px; font-weight: 650; }
    .field small { color: var(--muted); font-size: 11px; line-height: 1.45; }
    .field input, .field select, .field textarea {
      width: 100%;
      min-height: 48px;
      padding: 12px 14px;
      border: 1px solid var(--line-strong);
      border-radius: 6px;
      outline: 0;
      background: #0b0f10;
      color: var(--text);
    }

    .field textarea { min-height: 92px; resize: vertical; }
    .field input[type="file"] { padding: 10px; color: var(--muted); }
    .field input:focus, .field select:focus, .field textarea:focus { border-color: var(--orange); }
    .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
    .form-submit { margin-top: 4px; }

    .editor-access-panel {
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: rgba(255,255,255,.018);
    }
    .editor-access-panel > strong { display: block; margin-bottom: 5px; font-size: 14px; }
    .editor-access-panel > p { margin: 0 0 12px; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .editor-access-add { display: grid; grid-template-columns: 1fr auto; gap: 9px; }
    .editor-access-add input { min-width: 0; }
    .editor-access-list { margin-top: 10px; display: grid; gap: 7px; }
    .editor-access-item {
      min-width: 0;
      padding: 9px 10px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
      border: 1px solid var(--line);
      border-radius: 6px;
      background: #0b0f10;
    }
    .editor-access-item span { min-width: 0; overflow: hidden; color: #d7d7d5; font-size: 13px; text-overflow: ellipsis; white-space: nowrap; }
    .editor-access-remove { padding: 5px 7px; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
    .editor-access-remove:hover { color: #ff9a78; }
    .editor-access-empty { margin: 0; color: var(--muted); font-size: 12px; }
    .owner-rank-badge-preview {
      width: min(100%, 260px);
      margin: 8px 0 12px;
      padding: 10px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #0b0f10;
    }
    .owner-rank-badge-preview img { display: block; width: 100%; height: auto; }
    .owner-rank-badge-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }

    .notice {
      padding: 12px 14px;
      border: 1px solid #78451f;
      border-radius: 6px;
      background: #21140d;
      color: #ffd1ad;
      font-size: 14px;
      line-height: 1.45;
    }

    #developer-dialog { width: min(760px, calc(100% - 32px)); }
    .developer-card, .credential-box, .reward-consent-box {
      padding: 14px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: #0d1113;
    }
    .developer-list { display: grid; gap: 14px; }
    .selo-bloco { display: grid; gap: 10px; justify-items: start; margin-top: 14px; padding: 14px 15px;
      border: 1px solid var(--line); border-radius: 8px; background: var(--bg); }
    .selo-topo strong { display: block; font-size: 14px; }
    .selo-topo small { display: block; margin-top: 3px; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
    .selo-previa { border-radius: 8px; }
    .selo-erro { margin: 0; color: #ffd1ad; font-size: 13px; }
    .developer-card-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 13px; }
    .developer-card-head small { display: block; margin-top: 3px; color: var(--muted); }
    .developer-toggle { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 13px; }
    .developer-toggle input { accent-color: var(--orange); }
    .mon-tv-fora { padding: 10px 12px; border: 1px solid rgba(255, 184, 108, .45); border-radius: 8px; background: rgba(255, 184, 108, .08); }
    .developer-test-id { display: grid; gap: 4px; }
    .developer-test-id span { color: var(--muted); font-size: 11.5px; }
    .developer-test-id input { height: 38px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: #0d1213; color: var(--text); font: inherit; }
    .developer-actions { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 12px; }
    .delivery-list { margin-top: 13px; display: grid; gap: 7px; }
    .delivery-row { padding: 9px 10px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 6px; background: #151a1c; }
    .delivery-row strong, .delivery-row small { display: block; }
    .delivery-row strong { overflow: hidden; text-overflow: ellipsis; font-size: 12px; white-space: nowrap; }
    .delivery-row small { margin-top: 4px; color: var(--muted); font-size: 10px; }
    .delivery-status { font-size: 11px; font-weight: 700; }
    .delivery-status-delivered { color: #65d878; }
    .delivery-status-pending { color: #ffc16e; }
    .delivery-status-failed { color: #ff9191; }
    .delivery-row .button { min-height: 32px; padding: 0 9px; font-size: 10px; }
    .developer-actions .button { min-height: 40px; }
    .credential-box { margin-top: 12px; border-color: #78451f; background: #21140d; }
    .credential-box strong, .credential-line span, .credential-line code { display: block; }
    .credential-box > small { display: block; margin: 4px 0 12px; color: #dfb99c; }
    .credential-line { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; margin-top: 10px; }
    .credential-line span { margin-bottom: 4px; color: var(--muted); font-size: 11px; }
    .credential-line code { overflow: hidden; color: #ffd1ad; text-overflow: ellipsis; white-space: nowrap; }
    .developer-docs { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); color: var(--muted); font-size: 13px; line-height: 1.55; }
    .developer-docs code { color: #ffd1ad; }
    .developer-code { margin: 10px 0 0; padding: 12px; overflow-x: auto; border: 1px solid var(--line); border-radius: 6px; background: #090c0d; color: #dfe5e8; font: 11px/1.55 ui-monospace, SFMono-Regular, Consolas, monospace; white-space: pre; }
    .reward-consent-box { margin-bottom: 16px; }
    #reward-identifier-field { margin-bottom: 18px; }
    .reward-consent-box strong { display: block; margin-bottom: 6px; }
    .reward-consent-box p { margin: 0; color: var(--muted); line-height: 1.5; }

    #reminders-dialog { width: min(980px, calc(100% - 32px)); }
    #reminders-dialog .dialog-body { padding: 30px; }
    .reminders-kicker { display: block; margin-bottom: 7px; color: var(--orange); font-size: 10px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
    .reminders-intro { max-width: 650px; }
    .reminders-overview { margin-top: 22px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid rgba(255,135,46,.42); border-radius: 10px; background: linear-gradient(110deg, rgba(255,135,46,.13), rgba(255,135,46,.025) 62%); }
    .reminders-overview-copy { display: grid; gap: 3px; }
    .reminders-overview-copy strong { font-size: 20px; }
    .reminders-overview-copy small { color: var(--muted); font-size: 12px; }
    .reminders-overview .button { min-width: 235px; }
    .reminders-layout { margin-top: 18px; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); align-items: start; gap: 16px; }
    .canal { margin: 16px 0 12px; padding: 15px; display: grid; gap: 11px; border: 1px solid rgba(34,158,217,.34); border-radius: 10px; background: linear-gradient(135deg, rgba(34,158,217,.09), rgba(34,158,217,.02)); }
    .canal.resolvido { border-color: rgba(107,214,142,.3); background: rgba(107,214,142,.05); padding: 11px 13px; }
    .canal-alto strong { display: block; font-size: 14px; }
    .canal-alto small { display: block; margin-top: 3px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
    .canal-fina { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: 11.5px; }
    .canal-fina > span { display: inline-flex; align-items: center; gap: 7px; color: #6bd68e; font-weight: 700; }
    .canal-trocar { padding: 0; border: 0; border-bottom: 1px solid var(--line-strong); background: none; color: var(--muted); font: inherit; font-size: 11.5px; cursor: pointer; }
    /* A janela tinha 670px (padrão dos diálogos) e o conteúdo só 460px: sobrava
       uma faixa vazia à direita da barra e do anúncio. */
    #vote-wait-dialog { width: min(520px, calc(100% - 32px)); }
    .vote-wait-kicker { display: block; color: var(--orange); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    #vote-wait-title { margin: 7px 0 16px; font-size: 19px; }
    .vote-wait-track { height: 8px; border-radius: 99px; background: rgba(255,255,255,.07); overflow: hidden; }
    .vote-wait-track span { display: block; width: 0; height: 100%; border-radius: 99px; background: linear-gradient(90deg, var(--orange), var(--gold)); transition: width .35s linear; }
    .vote-wait-step { margin: 10px 0 16px; min-height: 18px; color: var(--muted); font-size: 12.5px; }
    .vote-wait-sell { margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11.5px; line-height: 1.55; }
    .vote-wait-sell b { color: var(--text); }
    .news-body { max-width: 520px; }
    .news-art { height: 132px; margin: 2px 0 16px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 10px; background: radial-gradient(circle at 50% 120%, rgba(255,135,46,.12), rgba(6,9,10,.4) 70%); }
    .news-art svg { width: 100%; height: 100%; }
    .news-kicker { display: block; color: var(--orange); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    #news-title { margin: 7px 0 10px; }
    .news-copy { margin: 0 0 10px; color: var(--text); font-size: 14px; line-height: 1.6; }
    .news-detail { margin: 0; padding-left: 13px; border-left: 2px solid var(--line-strong); color: var(--muted); font-size: 12.5px; line-height: 1.6; }
    .news-foot { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
    .news-nav { display: flex; align-items: center; gap: 8px; }
    .news-dot { width: 7px; height: 7px; padding: 0; border: 0; border-radius: 50%; background: var(--line-strong); cursor: pointer; }
    .news-dot[aria-current="true"] { background: var(--orange); }
    .news-arrow { width: 32px; height: 32px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; background: none; color: var(--text); cursor: pointer; }
    .news-arrow:disabled { opacity: .35; cursor: default; }
    .news-actions { display: flex; flex-wrap: wrap; gap: 8px; }
    @media (max-width: 560px) { .news-actions { width: 100%; } .news-actions .button { flex: 1 1 auto; } }
    .canal-botoes { display: flex; flex-wrap: wrap; gap: 8px; }
    /* O Telegram ocupa a linha inteira: e o unico canal que funciona no
       iPhone sem instalar o site, e o unico que ja provou entregar. */
    .canal-principal { flex: 1 1 100%; justify-content: center; padding: 12px 16px; font-size: 14px; }
    .canal-secundario { flex: 1 1 auto; justify-content: center; font-size: 12px; }
    .reminders-rodape { margin-top: 16px; padding-top: 14px; display: grid; gap: 8px; justify-items: start; border-top: 1px solid var(--line); }
    .reminders-rodape small { color: var(--muted); font-size: 11px; line-height: 1.5; }
    .canal-botoes .button { display: inline-flex; align-items: center; gap: 7px; }
    .canal-tg { background: #229ED9; color: #f7fbfe; }
    .canal-tg:hover { background: #1b8dc4; }
    .canal-detalhe { display: grid; gap: 8px; padding-top: 3px; }
    .canal-detalhe .field { max-width: 220px; }
    .canal.resolvido .canal-detalhe { display: none; }
    .reminders-panel { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: 10px; background: rgba(6,9,10,.42); }
    .reminders-panel-head { margin-bottom: 14px; display: flex; align-items: end; justify-content: space-between; gap: 12px; }
    .reminders-panel-head h3 { margin: 0; font-size: 17px; }
    .reminders-panel-head small { color: var(--muted); font-size: 11px; }
    .reminder-summary { margin: 0; display: grid; gap: 8px; }
    .reminder-game { min-height: 70px; padding: 8px 10px 8px 8px; display: grid; grid-template-columns: 82px minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.018); }
    .reminder-game[data-vote-ready="true"] { border-color: rgba(255,135,46,.32); background: rgba(255,135,46,.045); }
    .reminder-game :is(img, video) { width: 82px; height: 52px; border-radius: 6px; object-fit: cover; }
    .reminder-game strong, .reminder-game small { display: block; }
    .reminder-game small { margin-top: 5px; color: var(--muted); font-size: 12px; }
    .reminder-game[data-vote-ready="true"] small { color: #ffc28d; }
    .reminder-remove { width: 30px; height: 30px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: var(--muted); cursor: pointer; font-size: 18px; line-height: 1; }
    .reminder-remove:hover { background: rgba(255,91,82,.08); color: var(--coral); }
    /* Jogo que pede autorização ou código: botão próprio de votar (29/09). */
    .reminder-game:has(.reminder-vote) { grid-template-columns: 82px minmax(0,1fr) auto auto; }
    .reminder-vote { min-height: 32px; padding: 0 14px; font-size: 13px; }
    .reminder-falta b { font-weight: 800; }
    .reminder-empty { padding: 25px 16px; border: 1px dashed var(--line-strong); border-radius: 8px; color: var(--muted); text-align: center; line-height: 1.5; }
    .reminders-alerts { display: grid; gap: 10px; }
    .reminder-option { padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.018); }
    .email-reminder-card { margin: 0; border-color: rgba(255,135,46,.28); background: linear-gradient(135deg, rgba(255,135,46,.075), rgba(255,135,46,.018)); }
    .email-reminder-heading { display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 11px; align-items: start; }
    .email-reminder-icon { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid rgba(255,135,46,.32); border-radius: 8px; background: rgba(255,135,46,.08); color: var(--orange); }
    .email-reminder-icon svg { width: 18px; height: 18px; }
    .email-reminder-card h3, .reminder-settings h3 { margin: 0 0 4px; font-size: 14px; }
    .email-reminder-card p, .reminder-settings > p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
    .email-reminder-controls { margin-top: 12px; display: flex; }
    .email-reminder-controls .button, .reminder-setting-row .button { min-height: 38px; padding: 0 12px; font-size: 11px; }
    .email-reminder-status { display: block; margin-top: 8px; color: #d3b59e; font-size: 10px; line-height: 1.4; }
    .reminder-settings { margin: 0; padding: 14px; border: 1px solid var(--line); border-radius: 9px; }
    .reminder-setting-row { margin-top: 12px; display: grid; grid-template-columns: 100px minmax(0,1fr); align-items: end; gap: 8px; }
    .reminder-setting-row .field { width: auto; }
    .reminder-setting-row .field label { font-size: 10px; }
    .reminder-setting-row select { min-height: 38px; }
    .reminder-status { display: block; margin-top: 8px; color: var(--muted); font-size: 10px; line-height: 1.4; }
    .reminder-install { width: 100%; margin-top: 10px; }
    .reminders-mobile-note { display: none; }
    .reminder-choice { margin: 14px 0 0; display: flex; justify-content: center; }
    .reminder-choice .text-action { color: var(--orange); font-weight: 700; }

    .cover-preview {
      height: 120px;
      overflow: hidden;
      border: 1px solid var(--line-strong);
      border-radius: 8px;
      background: #0b0f10;
    }

    .cover-preview img { width: 100%; height: 100%; object-fit: cover; }

    .banner-crop-editor { margin-top: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 9px; background: rgba(5,8,9,.5); }
    .banner-crop-heading { margin-bottom: 12px; }
    .banner-crop-heading strong, .banner-crop-heading small { display: block; }
    .banner-crop-heading strong { font-size: 13px; }
    .banner-crop-heading small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.4; }
    .banner-crop-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
    .banner-crop-grid.is-single { max-width: 620px; grid-template-columns: minmax(0, 1fr); }
    .banner-crop-card { min-width: 0; }
    .banner-crop-card > strong { display: block; margin-bottom: 6px; color: #dce1e3; font-size: 10px; }
    .banner-crop-stage { position: relative; overflow: hidden; border: 1px solid var(--line-strong); border-radius: 6px; background: #090c0d; cursor: grab; touch-action: none; user-select: none; }
    .banner-crop-stage:active { cursor: grabbing; }
    .banner-crop-stage[data-context="rank"] { aspect-ratio: 2.66 / 1; }
    .banner-crop-stage[data-context="mobile"] { aspect-ratio: 2.13 / 1; }
    .banner-crop-stage[data-context="detail"] { aspect-ratio: 3 / 1; }
    .banner-crop-stage img { width: 100%; height: 100%; display: block; object-fit: cover; pointer-events: none; will-change: transform, object-position; }
    .banner-crop-controls { margin-top: 7px; display: flex; align-items: center; gap: 7px; }
    .banner-crop-controls label { flex: 1; display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 9px; }
    .banner-crop-controls input[type="range"] { min-width: 0; width: 100%; accent-color: var(--orange); }
    .banner-crop-reset { padding: 3px 5px; border: 0; background: transparent; color: #c6cccf; font-size: 9px; cursor: pointer; }
    .banner-crop-reset:hover { color: var(--orange); }

    .hidden { display: none !important; }

    /* popover coloca o aviso na top layer, que e a unica camada acima de um
       <dialog> aberto com showModal(). Com z-index nao havia numero possivel:
       a top layer ignora z-index, e por isso todo aviso dado com um painel
       aberto — upload de capa, troca de imagem de campanha — aparecia atras
       do painel e a pessoa nunca via. */
    .toast {
      position: fixed;
      z-index: 10;
      /* O navegador centraliza popover por padrao; isto devolve o canto. */
      margin: 0;
      inset: auto 24px 24px auto;
      max-width: min(390px, calc(100% - 32px));
      padding: 14px 18px;
      border: 1px solid var(--line-strong);
      border-radius: 8px;
      background: var(--text);
      color: var(--bg);
      font-size: 14px;
      font-weight: 650;
      transform: translateY(20px);
      opacity: 0;
      pointer-events: none;
      transition: opacity 160ms ease, transform 160ms ease;
    }

    .toast.show { transform: translateY(0); opacity: 1; pointer-events: auto; }
    .toast button { margin-left: 12px; padding: 5px 9px; border: 1px solid currentColor; border-radius: 5px; background: transparent; color: inherit; font-weight: 800; cursor: pointer; }

    @media (max-width: 1050px) {
      :root { --page: min(100% - 36px, 920px); }
      .leader-grid { grid-template-columns: 1fr; }
      .banner-crop-grid { grid-template-columns: 1fr; }
      .leader { border-right: 0; border-bottom: 1px solid var(--line); }
      .leader:last-child { border-bottom: 0; }
      .ranking-head { display: none; }
      .game-list { margin-top: 22px; }
      .game-row {
        grid-template-columns: 44px minmax(280px, 1fr) 100px 105px 92px;
        gap: 14px;
      }
      .game-row .category, .game-row > .status { display: none; }
      .sponsored { padding-left: 78px; }
    }

    @media (max-width: 640px) {
      :root { --page: 100%; }
      .site-header { height: 68px; }
      .header-inner { width: calc(100% - 32px); gap: 14px; }
      .brand { font-size: 22px; }
      .nav-link { display: none; }
      .mobile-section-switch {
        width: calc(100% - 24px);
        margin: 12px auto 0;
        padding: 4px;
        display: flex;
        gap: 4px;
        border: 1px solid var(--line);
        border-radius: 8px;
        background: #0d1113;
      }
      .mobile-section-switch a { flex: 1 1 0; min-height: 36px; display: grid; place-items: center; border-radius: 5px; color: var(--muted); font-size: 12px; font-weight: 700; text-decoration: none; }
      .mobile-section-switch a[aria-current="page"] { background: var(--surface-strong); color: var(--orange); }
      .mobile-register-cta {
        display: block;
        width: calc(100% - 24px);
        margin: 6px auto 0;
        min-height: 40px;
        border: 1px solid var(--orange);
        border-radius: 8px;
        background: rgba(255,135,46,.08);
        color: var(--orange);
        font-size: 13px;
        font-weight: 800;
        cursor: pointer;
      }
      .header-inner #open-register { display: none; }
      .header-inner .button { min-height: 40px; padding: 0 14px; font-size: 14px; }
      .hero { padding: 38px 22px 30px; }
      h1, .page-heading { font-size: 43px; letter-spacing: -2.5px; }
      .hero p { margin-top: 15px; font-size: 17px; }
      .search { height: 55px; }
      .leaders { padding: 0 16px 28px; }
      .leaders-heading { padding: 0 6px; }
      .leaders-heading span { display: none; }
      .leader-grid {
        grid-template-columns: none;
        grid-auto-columns: calc(100vw - 48px);
        grid-auto-flow: column;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scrollbar-width: none;
      }
      .leader-grid::-webkit-scrollbar { display: none; }
      .leader { border-right: 1px solid var(--line); border-bottom: 0; scroll-snap-align: start; }
      .leader:last-child { border-right: 0; }
      .filters { padding: 0 16px; gap: 25px; }
      .filter { padding-bottom: 15px; font-size: 15px; }
      .game-list { margin-top: 0; }
      .game-row {
        min-height: 122px;
        padding: 16px 16px;
        grid-template-columns: 30px 76px minmax(100px, 1fr) auto;
        grid-template-areas: "rank cover title like" "rank cover title action";
        gap: 5px 12px;
      }
      .rank { grid-area: rank; align-self: center; font-size: 28px; }
      .game-title { display: contents; }
      .game-title .game-cover { grid-area: cover; align-self: center; }
      .game-title > div { grid-area: title; align-self: center; min-width: 0; }
      .game-name { font-size: 17px; }
      .like { grid-area: like; justify-self: end; align-self: end; gap: 6px; font-size: 15px; }
      .like svg { width: 23px; height: 23px; }
      .monthly-count { display: none; }
      .game-row .monthly-vote { grid-area: action; min-height: 34px; align-self: start; justify-self: end; padding: 0 13px; font-size: 12px; }
      .game-cover { width: 76px; height: 64px; flex-basis: 76px; }
      .game-cover img { padding: 9px 15px; }
      .game-cover.wide img { padding: 0; }
      .mobile-meta { display: block !important; max-width: 100%; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
      .mobile-meta .status { display: inline; margin-left: 4px; font-size: inherit; }
      .sponsored { min-height: 92px; padding: 14px 16px; grid-template-columns: 1fr auto; }
      .sponsor-copy { gap: 12px; }
      .sponsor-copy span { display: block; max-width: 170px; }
      /* O max-width padrão do navegador para janela modal (100% - 38px), com a
         margem lateral 0, deixava 34 das 38 janelas encostadas na esquerda, com
         uma faixa vazia de 38px à direita (medido em 29/09). Sem o teto, a janela
         ocupa a largura toda; a que tem largura própria menor fica centralizada. */
      dialog {
        width: 100%;
        max-width: none;
        max-height: 92dvh;
        margin: auto auto 0;
        border-radius: 28px 28px 0 0;
        overflow-y: auto;
      }
      #pro-info-dialog { width: 100%; max-width: none; }
      /* A janela da parceria foi a primeira em que o defeito acima apareceu (29/09). */
      #parceria-dialog { width: 100%; max-width: none; }
      .parceria-acoes .button { flex: 1 1 100%; justify-content: center; }
      .dialog-body { padding: 22px 22px 20px; }
      .dialog-cover { width: calc(100% + 44px); height: 118px; margin: -22px -22px 20px; border-radius: 27px 27px 0 0; }
      .dialog-title { font-size: 24px; }
      .dialog-description { margin: 18px 0; font-size: 15px; }
      .dialog-stats { align-items: flex-start; margin-bottom: 19px; flex-direction: column; gap: 9px; }
      .dialog-actions, .form-row { grid-template-columns: 1fr; }
      .editor-access-add { grid-template-columns: 1fr; }
      .dialog-links { margin-top: 17px; margin-bottom: 4px; }
      .toast { inset: auto 16px 16px auto; }
    }

    /* Identity refresh: editorial ranking, banners and explicit actions. */
    body { background: radial-gradient(circle at 82% 0%, rgba(255,135,46,.055), transparent 34%), var(--bg); }
    .site-header { height: 82px; background: rgba(16,20,22,.94); backdrop-filter: blur(14px); }
    .header-inner { width: min(100% - 64px, 1440px); }
    .brand { width: 216px; height: 54px; overflow: hidden; display: block; color: transparent; }
    .brand img { width: 216px; height: auto; max-width: none; transform: translateY(-28px); }
    .nav-link { font-size: 14px; }
    .header-inner .button { border-color: var(--orange); }
    main { width: min(100% - 64px, 1440px); }

    .hero { padding: 22px 10px 14px; }
    .hero p { margin-top: 10px; }

    /* Barra de filtros fina — fica logo antes da lista. */
    .ranking-toolbar {
      margin: 40px 6px 0;
      padding-bottom: 16px;
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: 8px;
      border-bottom: 1px solid var(--line);
    }
    /* Top Votos e Fidelidade são os rankings; o resto da barra filtra por
       categoria. Por isso os dois têm ícone, ficam antes de uma divisória e
       cada um acende na sua cor: dourado, e o laranja do selo da lista. */
    .tb-mode {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      padding: 8px 13px;
      border: 1px solid var(--line);
      border-radius: 9px;
      color: var(--muted);
      text-decoration: none;
    }
    .tb-mode:hover { border-color: var(--line-strong); color: var(--text); }
    .tb-mode svg { width: 17px; height: 17px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
    .tb-mode strong { font-size: 13px; font-weight: 800; }
    .tb-mode[aria-current="page"] { border-color: var(--gold); background: rgba(217,170,66,.10); color: var(--text); }
    .tb-mode[aria-current="page"] svg { color: var(--gold); }
    .tb-mode-fidelidade[aria-current="page"] { border-color: rgba(255,135,46,.6); background: rgba(255,135,46,.08); }
    .tb-mode-fidelidade[aria-current="page"] svg { color: var(--fidelidade); }
    .tb-divisoria { width: 1px; height: 30px; margin: 0 4px; background: var(--line); }
    .fidelidade-intro { padding: 26px 24px 20px; border-bottom: 1px solid var(--line); }
    .fidelidade-intro h2 { margin: 0; color: var(--text); font-size: clamp(22px, 3vw, 30px); line-height: 1.2; text-wrap: balance; }
    .fidelidade-intro small { display: block; margin-top: 8px; color: #7d8688; font-size: 12px; line-height: 1.5; }
    .fidelidade-olho { display: block; margin-bottom: 7px; color: var(--fidelidade); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
    /* Lista, sem pódio: os cinco já são o destaque. A capa cresceu (25/09). */
    .fidelidade-row { width: 100%; min-height: 128px; padding: 12px 24px; display: grid; grid-template-columns: 56px minmax(220px, 320px) minmax(0, 1fr) minmax(180px, 240px) auto; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); cursor: pointer; transition: background 160ms ease; }
    .fidelidade-row:hover, .fidelidade-row:focus-visible { background: var(--surface); outline: 0; }
    .fidelidade-row .rank-number { color: #c0c2c3; font-size: 32px; font-weight: 700; letter-spacing: -2px; }
    /* ouro, prata e bronze só no número da posição */
    .fidelidade-row.is-ouro .rank-number { color: #e8b84f; }
    .fidelidade-row.is-prata .rank-number { color: #c9d2d7; }
    .fidelidade-row.is-bronze .rank-number { color: #cd8a58; }
    .fidelidade-ver { padding: 8px 13px; border: 1px solid var(--line-strong); border-radius: 8px; color: var(--text); font-size: 12px; font-weight: 750; text-decoration: none; white-space: nowrap; }
    .fidelidade-ver:hover { border-color: var(--orange); color: var(--orange); }
    .fidelidade-row .game-banner-frame { width: 100%; height: 104px; min-height: 104px; border: 0; border-radius: 8px; }
    .fidelidade-row .game-banner { height: 100%; min-height: 0; }
    .fidelidade-nome { min-width: 0; }
    .fidelidade-nome a { display: block; overflow: hidden; color: var(--text); font-size: 15px; font-weight: 750; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
    .fidelidade-nome small { display: block; margin-top: 4px; color: var(--muted); font-size: 12px; }
    .fidelidade-metrica { display: grid; grid-template-columns: auto 1fr; align-items: baseline; column-gap: 8px; }
    .fidelidade-metrica strong { font-size: 26px; font-weight: 800; font-variant-numeric: tabular-nums; }
    .fidelidade-metrica > span { color: var(--muted); font-size: 12px; }
    .fidelidade-barra { grid-column: 1 / -1; height: 5px; margin-top: 7px; overflow: hidden; border-radius: 999px; background: #252c2e; }
    .fidelidade-barra i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff7a1a, #ffb45f); }
    .fidelidade-metrica em { grid-column: 1 / -1; margin-top: 5px; color: #7d8688; font-size: 11px; font-style: normal; }
    .fidelidade-dicas { padding: 24px 24px 6px; }
    .fidelidade-dicas h3 { margin: 0 0 12px; color: var(--text); font-size: 17px; }
    .fidelidade-dicas-grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .fidelidade-dica .fidelidade-ver { justify-self: start; margin-top: 2px; }
    .owner-daily-idledeck { display: block; margin-top: 6px; }
    .owner-daily-idledeck-botao { padding: 0; border: 0; background: none; color: #9fe093; font: inherit; font-weight: 700; cursor: pointer; }
    .owner-daily-idledeck-botao:hover { text-decoration: underline; }
    .fidelidade-dica { padding: 14px 15px; display: grid; align-content: start; gap: 6px; border: 1px solid rgba(255,135,46,.3); border-radius: 10px; background: rgba(255,135,46,.05); }
    .fidelidade-dica svg { width: 20px; height: 20px; fill: none; stroke: var(--fidelidade); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .fidelidade-dica strong { color: var(--text); font-size: 14px; }
    .fidelidade-dica span { color: var(--muted); font-size: 13px; line-height: 1.5; }
    .fidelidade-dono { margin: 16px 24px 4px; padding: 12px 14px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border: 1px dashed var(--line-strong); border-radius: 10px; color: var(--muted); font-size: 13px; line-height: 1.5; }
    .fidelidade-dono .fidelidade-ver { background: transparent; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
    /* 820 px, a mesma largura em que a lista de votos passa a pôr toda capa na
       área "banner": abaixo disso a linha de fidelidade precisa declarar a área,
       senão a regra geral desmonta a grade dela (entre 721 e 820 px desmontava). */
    @media (max-width: 820px) {
      .fidelidade-intro { padding: 14px 16px; }
      .fidelidade-dicas { padding: 18px 16px 4px; }
      .fidelidade-dicas-grade { grid-template-columns: 1fr; }
      .fidelidade-dono { margin: 12px 16px 4px; }
      .fidelidade-row { padding: 12px 16px; grid-template-columns: 26px minmax(0, 1fr); grid-template-areas: "pos banner" "pos nome" "pos metrica" "pos ver"; column-gap: 12px; row-gap: 9px; }
      .fidelidade-row .fidelidade-ver { grid-area: ver; justify-self: start; }
      .fidelidade-row .rank-number { grid-area: pos; align-self: start; font-size: 22px; letter-spacing: -1px; }
      .fidelidade-row .game-banner-frame { grid-area: banner; width: 100%; height: 118px; min-height: 118px; }
      .fidelidade-row .fidelidade-nome { grid-area: nome; }
      .fidelidade-row .fidelidade-metrica { grid-area: metrica; }
      .fidelidade-nome a { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    }
    .tb-cats { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
    .tb-cat {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 13px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: var(--surface);
      color: var(--muted);
      font-size: 13px;
      text-decoration: none;
    }
    .tb-cat:hover { color: var(--text); border-color: var(--line-strong); }
    .tb-cat b { color: var(--faint); font-weight: 600; font-size: 11px; font-variant-numeric: tabular-nums; }
    .tb-cat[aria-current="page"] { border-color: var(--gold); color: var(--text); background: rgba(217,170,66,.10); }
    .tb-cat[aria-current="page"] b { color: var(--gold); }
    /* Ferramentas não é jogo: cor e ícone próprios para não se confundir com as categorias. */
    .tb-cat-ferramentas { border-color: rgba(88,196,220,.42); color: #8fd8ea; background: rgba(88,196,220,.06); }
    .tb-cat-ferramentas:hover { border-color: rgba(88,196,220,.7); color: #c4ecf5; }
    .tb-cat-ferramentas svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linejoin: round; }
    .tb-cat-ferramentas[aria-current="page"] { border-color: #58c4dc; color: #e6f7fb; background: rgba(88,196,220,.14); }
    .tb-cat-ferramentas[aria-current="page"] b { color: #8fd8ea; }
    .ferramentas-convite { margin: 12px 24px 4px; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; border: 1px dashed rgba(88,196,220,.45); border-radius: 10px; background: rgba(88,196,220,.05); color: var(--muted); font-size: 13px; line-height: 1.5; }
    .ferramentas-convite strong { display: block; color: var(--text); font-size: 14px; }
    .ferramentas-convite button { padding: 8px 13px; border: 1px solid rgba(88,196,220,.6); border-radius: 8px; background: transparent; color: #c4ecf5; font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; white-space: nowrap; }
    @media (max-width: 820px) { .ferramentas-convite { margin: 12px 16px 4px; } }
    .tb-explore { position: relative; }
    .tb-explore summary {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      padding: 8px 13px;
      border: 1px dashed var(--line-strong);
      border-radius: 8px;
      color: var(--faint);
      font-size: 13px;
      list-style: none;
      cursor: pointer;
    }
    .tb-explore summary::-webkit-details-marker { display: none; }
    .tb-explore summary::after { content: "▾"; font-size: 10px; }
    .tb-explore summary:hover, .tb-explore[open] summary { color: var(--text); border-color: #727778; }
    .tb-explore-menu {
      position: absolute;
      z-index: 6;
      top: calc(100% + 8px);
      left: 0;
      min-width: 200px;
      padding: 7px;
      display: grid;
      gap: 2px;
      border: 1px solid var(--line-strong);
      border-radius: 9px;
      background: #171c1f;
      box-shadow: 0 20px 55px rgba(0,0,0,.42);
    }
    .tb-explore-link {
      padding: 9px 11px;
      border-radius: 6px;
      color: var(--muted);
      font-size: 13px;
      text-decoration: none;
    }
    .tb-explore-link:hover { background: var(--surface-strong); color: var(--text); }
    .tb-explore-link[aria-current="page"] { background: rgba(217,170,66,.10); color: var(--gold); }

    .featured { padding: 0 6px 22px; }
    .featured-heading {
      margin-bottom: 12px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
    }
    .featured-title {
      display: flex;
      align-items: center;
      gap: 10px;
      font-size: 20px;
      letter-spacing: -.4px;
    }
    .featured-title svg { width: 23px; color: var(--orange); }
    .featured-context { color: var(--muted); font-size: 13px; }
    .featured-card {
      position: relative;
      min-height: 188px;
      display: grid;
      grid-template-columns: minmax(420px, 1.35fr) minmax(360px, 1fr) 280px 42px;
      align-items: stretch;
      overflow: hidden;
      border: 1px solid var(--line-strong);
      border-radius: 10px;
      background: var(--surface);
      cursor: pointer;
    }
    .featured-card:hover { border-color: #70482c; background: #15110e; }
    .featured-banner { width: 100%; height: 100%; min-height: 188px; object-fit: cover; }
    .featured-copy { align-self: center; min-width: 0; padding: 24px 28px; }
    .featured-copy h3 { margin: 0; font-size: 28px; letter-spacing: -.7px; }
    .featured-copy p { max-width: 480px; margin: 10px 0 16px; color: var(--muted); font-size: 14px; line-height: 1.55; }
    .game-tags { display: flex; flex-wrap: wrap; gap: 8px; }
    .game-tag {
      padding: 7px 11px;
      border: 1px solid var(--line-strong);
      border-radius: 6px;
      color: #c9c9c7;
      font-size: 12px;
    }
    .game-tag.status { color: var(--orange); }
    .featured-stats { display: grid; grid-template-columns: 1fr 1fr; align-self: center; }
    .featured-stat {
      min-height: 104px;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 5px;
      border-left: 1px solid var(--line);
      text-align: center;
    }
    .featured-stat svg { width: 34px; height: 34px; }
    .featured-stat.likes svg { color: var(--coral); }
    .featured-stat.votes svg { color: var(--orange); }
    .featured-stat strong { font-size: 24px; }
    .featured-stat small { color: var(--muted); font-size: 12px; }
    .featured-arrow { display: grid; place-items: center; color: var(--muted); font-size: 34px; }

    .filters { margin: 0 6px; align-items: center; }
    /* Números da comunidade — depois da descrição e do reset, dentro do herói. */
    .public-proof {
      margin-top: 16px;
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      border: 1px solid var(--line);
      border-radius: 9px;
      background: rgba(255,255,255,.012);
    }
    .public-proof > span { padding: 11px 16px; display: grid; align-content: center; border-left: 1px solid var(--line); }
    .public-proof > span:first-child { border-left: 0; }
    .public-proof strong { color: var(--text); font-size: 21px; line-height: 1; font-variant-numeric: tabular-nums; }
    .public-proof > span:first-child strong { color: var(--orange); }
    .public-proof small { margin-top: 5px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .3px; }
    .ranking-head { display: none; }
    .game-list { margin-top: 0; display: grid; gap: 11px; border-top: 0; }
    .game-row {
      min-height: 138px;
      padding: 0;
      display: grid;
      grid-template-columns: 74px minmax(300px, 430px) minmax(260px, 1fr) 330px;
      gap: 0;
      align-items: stretch;
      overflow: hidden;
      border: 1px solid var(--line);
      border-radius: 9px;
      background: var(--surface);
      transition: border-color 150ms ease, background 150ms ease;
    }
    .game-row:hover { border-color: var(--line-strong); background: var(--surface-strong); }
    .game-list.vote-ranking .game-row:first-child {
      border-color: var(--gold);
      background: linear-gradient(90deg, rgba(217,170,66,.07), var(--surface) 42%);
      box-shadow: inset 0 0 0 1px rgba(217,170,66,.08);
    }
    .rank {
      position: relative;
      display: grid;
      place-items: center;
      align-self: stretch;
      color: #bdbdbb;
      font-size: 34px;
    }
    .rank.is-first {
      color: #f0c85a;
      background: linear-gradient(135deg, rgba(182,128,28,.22), rgba(84,57,11,.06));
    }
    .rank.is-first::before { content: "♛"; position: absolute; top: 14px; font-size: 14px; }
    .rank-number { line-height: 1; }
    .rank-pro-label {
      position: absolute;
      top: 10px;
      min-width: 34px;
      padding: 4px 6px 3px;
      border: 1px solid rgba(255,143,45,.82);
      border-radius: 5px;
      background: linear-gradient(135deg, rgba(255,132,31,.38), rgba(138,62,8,.26));
      color: #ffc27a;
      box-shadow: 0 0 7px rgba(255,121,24,.5), 0 0 18px rgba(255,121,24,.24);
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .08em;
      line-height: 1;
    }
    .rank.is-first .rank-pro-label {
      border-color: rgba(240,200,90,.82);
      background: linear-gradient(135deg, rgba(217,170,66,.38), rgba(105,70,9,.25));
      color: #ffe08a;
      box-shadow: 0 0 7px rgba(240,200,90,.46), 0 0 18px rgba(217,170,66,.2);
    }
    .rank-plan-label {
      position: absolute;
      top: 9px;
      min-width: 42px;
      min-height: 20px;
      padding: 3px 5px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 3px;
      border: 1px solid;
      border-radius: 5px;
      font-size: 10px;
      font-weight: 900;
      letter-spacing: .06em;
      line-height: 1;
      cursor: help;
    }
    .rank-plan-label svg { width: 9px; height: 9px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
    .rank-plan-light { color: #d4dadd; border-color: rgba(190,201,206,.65); background: rgba(137,149,155,.14); box-shadow: 0 0 10px rgba(201,214,220,.1); }
    .rank-plan-pro { color: #ffc27a; border-color: rgba(255,143,45,.82); background: linear-gradient(135deg, rgba(255,132,31,.38), rgba(138,62,8,.26)); box-shadow: 0 0 7px rgba(255,121,24,.42), 0 0 16px rgba(255,121,24,.18); }
    .rank-plan-master { color: #d9dcff; border-color: rgba(160,183,255,.74); background: linear-gradient(135deg, rgba(101,155,204,.24), rgba(125,82,190,.22)); box-shadow: 0 0 8px rgba(117,180,239,.26), 0 0 17px rgba(151,91,217,.14); }
    .rank-plan-master::after { content: "✦"; position: absolute; top: -5px; right: 2px; color: #e8ecff; font-size: 6px; text-shadow: 0 0 6px rgba(154,184,255,.8); }
    .rank.is-first.has-pro-rank::before { top: 38px; }
    .rank.is-first.has-plan-rank::before { top: 38px; }
    .rank-momentum {
      position: absolute;
      bottom: 12px;
      min-height: 18px;
      padding: 3px 5px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 4px;
      border: 1px solid transparent;
      border-radius: 999px;
      color: #a9afb1;
      font-size: 11px;
      font-weight: 900;
      letter-spacing: .02em;
      line-height: 1;
      cursor: help;
    }
    .rank-momentum-up { color: #73df98; background: rgba(54,176,97,.09); border-color: rgba(78,205,122,.22); text-shadow: 0 0 10px rgba(62,208,111,.3); }
    .rank-momentum-up svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
    .rank-momentum-chasing { color: #8ce8ff; background: linear-gradient(135deg, rgba(51,183,230,.17), rgba(35,112,151,.07)); border-color: rgba(90,210,244,.36); box-shadow: 0 0 13px rgba(55,190,230,.16); }
    .rank-momentum-chasing svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .rank-momentum-hold { color: #e1c56f; background: rgba(212,183,101,.08); border-color: rgba(212,183,101,.2); }
    .rank-momentum-hold svg { width: 12px; height: 12px; fill: rgba(212,183,101,.16); stroke: currentColor; stroke-width: 1.8; }
    .rank-momentum-rocket { color: #83e8c4; background: linear-gradient(135deg, rgba(36,200,147,.18), rgba(28,118,104,.07)); border-color: rgba(75,222,174,.36); box-shadow: 0 0 13px rgba(41,207,151,.16); }
    .rank-momentum-breakout { color: #ffd26f; background: linear-gradient(135deg, rgba(255,153,45,.24), rgba(213,74,25,.12)); border-color: rgba(255,169,67,.54); box-shadow: 0 0 8px rgba(255,119,24,.3), 0 0 18px rgba(255,88,22,.15); }
    .rank-momentum-rocket, .rank-momentum-breakout { gap: 1px; }
    .rank-momentum-emoji { font-size: 14px; line-height: 1; filter: drop-shadow(0 0 4px rgba(255,142,39,.35)); }
    .rank-momentum-breakout { animation: rank-breakout-pulse 2.4s ease-in-out infinite; }
    @keyframes rank-breakout-pulse { 50% { box-shadow: 0 0 11px rgba(255,119,24,.48), 0 0 23px rgba(255,88,22,.23); transform: translateY(-1px); } }
    @media (prefers-reduced-motion: reduce) { .rank-momentum-breakout { animation: none; } }
    .game-banner-frame {
      min-width: 0;
      min-height: 138px;
      overflow: hidden;
      border-left: 1px solid var(--line);
      border-right: 1px solid var(--line);
      background: #0c0e0f;
    }
    .game-banner {
      display: block;
      width: 100%;
      height: 100%;
      min-height: 138px;
      object-fit: cover;
      object-position: var(--banner-rank-x, 50%) var(--banner-rank-y, 50%);
      transform: scale(var(--banner-rank-zoom, 1));
      transform-origin: var(--banner-rank-x, 50%) var(--banner-rank-y, 50%);
    }
    .game-banner.is-animated { object-fit: contain; background: #0c0e0f; }
    .game-banner.is-home-format, .game-banner.is-video { object-fit: cover; }
    video.game-banner, video.sponsored-banner { background: #0c0e0f; }
    .game-info {
      min-width: 0;
      padding: 20px 26px;
      display: grid;
      grid-template-columns: max-content minmax(0, 1fr) auto;
      grid-template-rows: auto minmax(0, 1fr) auto;
      align-content: center;
      column-gap: 12px;
    }
    .game-title-line { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; }
    .game-name { font-size: 20px; }
    .game-badges { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 5px; }
    .game-badge {
      min-height: 24px;
      padding: 3px 7px;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      border: 1px solid;
      border-radius: 6px;
      font: inherit;
      font-size: 10px;
      font-weight: 750;
      white-space: nowrap;
      cursor: help;
    }
    .game-badge svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .game-badge-verified { color: #83c5ff; border-color: rgba(79,160,231,.48); background: rgba(38,117,184,.12); }
    .game-badge-reward { color: #ffc266; border-color: rgba(255,153,52,.5); background: rgba(255,126,32,.12); }
    .game-badge-count { color: #fff1d5; font-size: 10px; font-weight: 900; }
    /* Coral vazado com brilho: o brilho e do selo, nao da linha — envolver o
       card inteiro pintava o jogo de problema, e o problema nao e dele. */
    .game-badge-ausente {
      color: var(--coral); border-color: var(--coral); background: transparent;
      box-shadow: 0 0 14px -4px rgba(255,96,84,.75);
      cursor: pointer;
    }
    .game-badge-ausente:hover { background: rgba(255,96,84,.1); }
    .game-badge-ausente:focus-visible { outline: 2px solid var(--coral); outline-offset: 2px; }
    /* Prata: nao e cor, e material. Dourado ficava da mesma familia do
       .game-badge-reward e dois avisos opostos pareciam a mesma coisa de
       relance; o prata e o unico com gradiente na fileira. */
    /* Rosa algodao, e nao prata: o prata caia em cima do selo de recompensa
       do plano Light, e dois avisos opostos na mesma cor nao sao aviso nenhum.
       330° e o unico territorio livre da paleta junto com o ciano, e o rosa
       diz "falta alguma coisa" sem parecer erro nem premio. */
    /* App ou ferramenta: só a nota de utilidade (29/09). */
    .details-rating-breakdown.is-app span:nth-child(n+2),
    #rating-dialog.is-app .rating-criterion:nth-child(n+2),
    #vote-rating-invite.is-app .vote-inline-row:nth-child(n+2) { display: none; }
    .game-badge-semrec {
      color: #ffa3d0; border-color: rgba(255,163,208,.62);
      background: linear-gradient(180deg, rgba(255,163,208,.1), rgba(255,163,208,.02));
      box-shadow: 0 0 14px -3px rgba(255,163,208,.45);
      cursor: pointer;
    }
    .game-badge-semrec:hover { background: linear-gradient(180deg, rgba(255,163,208,.18), rgba(255,163,208,.05)); }
    .game-badge-semrec:focus-visible { outline: 2px solid #ffa3d0; outline-offset: 2px; }
    /* A contagem divide o selo com o rotulo: mesma altura, peso proprio, e um
       traco de separacao que nao cresce o bloco. */
    .game-badge-pedidos {
      margin-left: 1px; padding-left: 6px; border-left: 1px solid currentColor;
      font-weight: 800; opacity: .85;
    }
    .game-row.is-pro {
      position: relative;
      background: var(--surface);
      border-color: rgba(255,135,46,.82);
      box-shadow: inset 0 0 0 1px rgba(255,135,46,.1);
    }
    .game-list.vote-ranking .game-row:first-child.is-pro {
      border-color: var(--gold);
      background: linear-gradient(90deg, rgba(217,170,66,.07), var(--surface) 42%);
      box-shadow: inset 0 0 0 1px rgba(217,170,66,.08);
    }
    .game-row.is-pro .vote-action {
      position: relative;
      isolation: isolate;
      overflow: hidden;
      background: linear-gradient(135deg, rgba(255,139,38,.13), rgba(255,139,38,.025));
    }
    .game-row.is-pro .vote-action::after {
      content: "";
      position: absolute;
      z-index: -1;
      width: 165%;
      height: 26px;
      top: -3px;
      left: -34%;
      transform: rotate(-17deg);
      background: linear-gradient(90deg, transparent, rgba(255,145,45,.07), rgba(255,181,87,.2), rgba(255,115,25,.06), transparent);
      filter: blur(3px);
      pointer-events: none;
    }
    .game-row.is-pro .vote-action > * { position: relative; z-index: 1; }
    .game-row.is-pro .vote-action::before {
      content: "⚡";
      position: absolute;
      top: 10px;
      right: 11px;
      color: #ffd173;
      font-size: 14px;
      filter: drop-shadow(0 0 3px rgba(255,153,50,.48));
      z-index: 2;
    }
    .game-row.is-pro .vote-action .action-label { padding: 5px 9px; border: 1px solid rgba(255,144,43,.38); border-radius: 999px; background: rgba(255,116,25,.07); }
    .game-row.is-pro .vote-action .action-label > span, .pro-vote-frequency { white-space: nowrap; }
    .owner-maintenance {
      margin-top: 10px; padding: 12px 14px; display: grid; gap: 6px; justify-items: start;
      border: 1px solid rgba(255,135,46,.45); border-radius: 10px; background: rgba(255,135,46,.07);
    }
    .owner-maintenance strong { color: var(--orange); font-size: 13px; }
    .owner-maintenance span { color: var(--muted); font-size: 12.5px; line-height: 1.5; }
    .owner-maintenance .button { margin-top: 4px; }
    .pro-vote-frequency { color: #ffd39a; font-size: 10px; letter-spacing: .04em; text-transform: uppercase; }
    .vote-weight-chip {
      margin-left: 1px; padding: 1px 6px; border-radius: 999px;
      background: #83b9ff; color: #0b1224;
      font-size: 10.5px; font-weight: 850; line-height: 1.35; letter-spacing: 0;
    }
    .ranking-action:disabled .vote-weight-chip { opacity: .85; }
    .game-row.is-pro > * { position: relative; z-index: 1; }
    .game-row.is-pro .game-banner { border-radius: 0; }
    .game-row.plan-tier-light {
      border-color: rgba(184,195,200,.58);
      box-shadow: inset 0 0 0 1px rgba(205,216,220,.055), 0 0 12px rgba(169,187,195,.07);
    }
    .game-row.plan-tier-light .vote-action {
      color: #d0d7da;
      background: linear-gradient(135deg, rgba(184,197,203,.075), rgba(153,171,180,.018));
    }
    .game-row.plan-tier-light .vote-action .action-label {
      padding: 5px 9px;
      border: 1px solid rgba(184,197,203,.4);
      border-radius: 999px;
      background: rgba(153,171,180,.065);
    }
    .game-row.plan-tier-light .vote-action .action-label,
    .game-row.plan-tier-pro .vote-action .action-label,
    .game-row.plan-tier-master .vote-action .action-label {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      white-space: nowrap;
    }
    .game-row.plan-tier-light .like-action,
    .game-row.plan-tier-light .rank-number { color: #d0d7da; }
    .game-row.plan-tier-light .rank-number { text-shadow: 0 0 12px rgba(205,218,224,.16); }
    .game-row.plan-tier-light .action-recent,
    .game-row.plan-tier-light .pro-vote-frequency { color: #aebbc1; }
    .game-row.plan-tier-light .game-badge-reward {
      color: #d8dde0;
      border-color: rgba(185,197,203,.46);
      background: rgba(139,153,160,.1);
    }
    .game-row.is-top-gold:not(.plan-tier-master) {
      border: 2px solid transparent;
      background:
        linear-gradient(90deg, rgba(211,157,40,.11), var(--surface) 42%) padding-box,
        linear-gradient(115deg, #8d5c13 0%, #f1bd3f 28%, #fff0a0 50%, #d99a20 72%, #8d5c13 100%) border-box;
      background-size: 100% 100%, 220% 220%;
      animation: first-place-border-flow 6.2s linear infinite, first-place-glow 3.4s ease-in-out infinite;
    }
    @keyframes first-place-border-flow {
      0% { background-position: 0 0, 0% 50%; }
      100% { background-position: 0 0, 220% 50%; }
    }
    @keyframes first-place-glow {
      0%, 100% { box-shadow: 0 0 0 1px rgba(229,182,65,.12), 0 0 14px rgba(217,158,35,.16); }
      50% { box-shadow: 0 0 0 1px rgba(255,225,133,.23), 0 0 23px rgba(235,177,49,.3), 0 0 34px rgba(184,116,18,.13); }
    }
    .game-row.plan-tier-pro .like-action,
    .game-row.plan-tier-pro .rank-number { color: #ff963e; }
    .game-row.plan-tier-pro .pro-vote-frequency { color: inherit; }
    .game-row.plan-tier-pro .rank-number { text-shadow: 0 0 12px rgba(255,121,24,.22); }
    .game-row.plan-tier-master {
      border: 2px solid transparent;
      background:
        linear-gradient(var(--surface), var(--surface)) padding-box,
        linear-gradient(115deg, #d7efff 0%, #83b9ff 31%, #bc8cff 65%, #eef5ff 100%) border-box;
      background-size: 100% 100%, 220% 220%;
      box-shadow: 0 0 0 1px rgba(169,199,255,.16), 0 0 20px rgba(105,159,232,.28), 0 0 34px rgba(155,98,222,.16);
      animation: master-border-flow 5.5s linear infinite, master-card-breathe 3.2s ease-in-out infinite;
    }
    .game-list.vote-ranking .game-row:first-child.plan-tier-master {
      border: 2px solid transparent;
      background:
        linear-gradient(90deg, rgba(103,151,217,.12), var(--surface) 42%) padding-box,
        linear-gradient(115deg, #e5f6ff 0%, #72b8ff 28%, #c07fff 62%, #f5f8ff 100%) border-box;
      box-shadow: 0 0 0 1px rgba(189,216,255,.18), 0 0 22px rgba(95,160,241,.3), 0 0 38px rgba(170,91,231,.17);
    }
    .game-row.plan-tier-master .vote-action { color: #d2d9ff; background: linear-gradient(135deg, rgba(112,159,220,.095), rgba(124,78,183,.045)); }
    .game-row.plan-tier-master .vote-action::after { background: linear-gradient(90deg, transparent, rgba(119,191,240,.06), rgba(172,145,255,.16), rgba(104,150,221,.05), transparent); }
    .game-row.plan-tier-master .vote-action::before {
      content: "";
      width: 12px;
      height: 20px;
      top: 9px;
      right: 13px;
      background: linear-gradient(180deg, #fff 0%, #8fe4ff 40%, #b584ff 100%);
      clip-path: polygon(48% 0, 100% 0, 68% 38%, 94% 38%, 24% 100%, 42% 55%, 14% 55%);
      filter: drop-shadow(0 0 4px rgba(151,224,255,.9)) drop-shadow(0 0 9px rgba(164,112,255,.72));
      animation: master-bolt-pulse 1.7s ease-in-out infinite;
    }
    .game-row.plan-tier-master .vote-action .action-label { border-color: rgba(160,183,255,.34); background: rgba(107,113,198,.07); }
    .game-row.plan-tier-master .like-action,
    .game-row.plan-tier-master .rank-number,
    .game-row.plan-tier-master .rank.is-first::before { color: #dce4ff; }
    .game-row.plan-tier-master .rank-number,
    .game-row.plan-tier-master .rank.is-first::before { text-shadow: 0 0 14px rgba(144,158,255,.48); }
    .game-row.plan-tier-master .rank.is-first .rank-number,
    .game-row.plan-tier-master .rank.is-first::before {
      color: #f2f3ff;
      -webkit-text-stroke: .8px rgba(43,27,72,.9);
      paint-order: stroke fill;
      text-shadow: 0 2px 2px rgba(18,9,35,.88), 0 0 8px rgba(69,42,111,.72), 0 0 18px rgba(180,158,255,.58);
    }
    .game-row.plan-tier-master .action-recent,
    .game-row.plan-tier-master .pro-vote-frequency { color: #cfd4ff; }
    .game-row.plan-tier-master .game-badge-reward {
      color: #d9d8ff;
      border-color: rgba(170,164,255,.5);
      background: rgba(112,91,190,.13);
    }
    @keyframes master-border-flow {
      0% { background-position: 0 0, 0% 50%; }
      100% { background-position: 0 0, 220% 50%; }
    }
    @keyframes master-card-breathe {
      0%, 100% { box-shadow: 0 0 0 1px rgba(169,199,255,.14), 0 0 17px rgba(105,159,232,.22), 0 0 28px rgba(155,98,222,.12); }
      50% { box-shadow: 0 0 0 1px rgba(199,218,255,.23), 0 0 25px rgba(105,159,232,.34), 0 0 42px rgba(155,98,222,.22); }
    }
    @keyframes master-bolt-pulse {
      0%, 100% { transform: scale(.92); opacity: .82; }
      50% { transform: scale(1.12); opacity: 1; }
    }
    .game-list.vote-ranking .game-row:first-child {
      border: 2px solid transparent;
      background:
        linear-gradient(90deg, rgba(211,157,40,.11), var(--surface) 42%) padding-box,
        linear-gradient(115deg, #8d5c13 0%, #f1bd3f 28%, #fff0a0 50%, #d99a20 72%, #8d5c13 100%) border-box;
      background-size: 100% 100%, 220% 220%;
      animation: first-place-border-flow 6.2s linear infinite, first-place-glow 3.4s ease-in-out infinite;
    }
    .game-row.is-top-gold:not(.plan-tier-master) .rank-number,
    .game-row.is-top-gold:not(.plan-tier-master) .like-action,
    .game-row.is-top-gold:not(.plan-tier-master) .vote-action,
    .game-row.is-top-gold:not(.plan-tier-master) .action-recent,
    .game-row.is-top-gold:not(.plan-tier-master) .pro-vote-frequency { color: #f2c65a; }
    .game-row.is-top-gold:not(.plan-tier-master) .rank.is-first .rank-number {
      color: #fff5cf;
      -webkit-text-stroke: 1px rgba(82,48,4,.92);
      paint-order: stroke fill;
      text-shadow: 0 2px 2px rgba(54,30,2,.85), 0 0 10px rgba(255,225,126,.82), 0 0 22px rgba(238,174,41,.62);
    }
    .game-row.is-top-gold:not(.plan-tier-master) .vote-action {
      background: linear-gradient(135deg, rgba(225,170,45,.12), rgba(182,116,19,.025));
    }
    .game-row.is-top-gold:not(.plan-tier-master) .vote-action .action-metric strong { color: #ffe07a; text-shadow: 0 0 12px rgba(241,187,56,.34); }
    .game-row.is-top-gold:not(.plan-tier-master) .vote-action .action-metric small { color: #cdb66f; }
    .game-row.is-top-gold:not(.plan-tier-master) .vote-action .action-label {
      padding: 0;
      border: 0;
      background: transparent;
    }
    .game-row.is-top-gold.plan-tier-light .vote-action .action-label,
    .game-row.is-top-gold.plan-tier-pro .vote-action .action-label {
      padding: 5px 9px;
      border: 1px solid rgba(246,204,92,.55);
      border-radius: 999px;
      background: rgba(202,139,25,.09);
    }
    .game-row.is-top-gold:not(.plan-tier-master) .vote-action .action-label svg {
      width: 28px;
      height: 28px;
      padding: 3px;
      border: 1.5px solid rgba(246,204,92,.55);
      border-radius: 50%;
      background: radial-gradient(circle, rgba(255,225,129,.2), rgba(151,91,10,.08));
      fill: rgba(246,194,62,.15);
      stroke: #ffd76c;
      stroke-width: 2.2;
      filter: drop-shadow(0 0 5px rgba(242,185,50,.4));
    }
    .game-row.is-top-gold:not(.plan-tier-master) .rank-plan-label {
      color: #ffe189;
      border-color: rgba(244,201,92,.78);
      background: linear-gradient(135deg, rgba(224,169,48,.35), rgba(114,72,10,.24));
      box-shadow: 0 0 8px rgba(240,188,62,.4), 0 0 17px rgba(217,158,35,.18);
    }
    .game-row.is-top-gold:not(.plan-tier-master) .game-badge-reward {
      color: #ffe29a;
      border-color: rgba(234,185,72,.52);
      background: rgba(202,139,25,.12);
    }
    .game-row.is-top-gold:not(.plan-tier-master) .rank.is-first::before {
      content: "";
      width: 22px;
      height: 15px;
      background: linear-gradient(180deg, #fff3ad 0%, #f5c445 52%, #b96f0c 100%);
      clip-path: polygon(0 18%, 24% 51%, 35% 0, 50% 46%, 65% 0, 76% 51%, 100% 18%, 87% 100%, 13% 100%);
      filter: drop-shadow(0 1px 1px rgba(69,38,2,.72)) drop-shadow(0 0 6px rgba(255,210,83,.65));
    }
    .game-row.is-top-gold.plan-tier-pro .vote-action::before {
      content: "";
      width: 13px;
      height: 21px;
      top: 9px;
      right: 13px;
      background: linear-gradient(180deg, #fff8cf 0%, #ffd557 45%, #d98912 100%);
      clip-path: polygon(48% 0, 100% 0, 68% 38%, 94% 38%, 24% 100%, 42% 55%, 14% 55%);
      filter: drop-shadow(0 0 4px rgba(255,232,146,.95)) drop-shadow(0 0 10px rgba(232,160,26,.78));
      animation: top-gold-bolt-pulse 1.65s ease-in-out infinite;
    }
    @keyframes top-gold-bolt-pulse {
      0%, 100% { transform: scale(.92); opacity: .84; }
      50% { transform: scale(1.14); opacity: 1; }
    }
    .game-list.vote-ranking .game-row.is-top-gold.plan-tier-master:first-child {
      border: 2px solid transparent;
      background:
        linear-gradient(90deg, #2d2514 0%, var(--surface) 25%, var(--surface) 72%, #1b1b25 100%) padding-box,
        linear-gradient(112deg, #8f5b10 0%, #f4bd39 19%, #fff0a2 34%, #8ed6ff 54%, #b98cff 72%, #f3bd3e 88%, #8f5b10 100%) border-box;
      background-size: 100% 100%, 240% 240%;
      animation: master-first-border-flow 5.2s linear infinite, master-first-card-breathe 3.1s ease-in-out infinite;
    }
    .game-row.is-top-gold.plan-tier-master .rank.is-first::before {
      content: "";
      width: 22px;
      height: 15px;
      background: linear-gradient(105deg, #f0a91f 0%, #fff2a8 38%, #a9dcff 57%, #c69aff 72%, #f4bc38 100%);
      clip-path: polygon(0 18%, 24% 51%, 35% 0, 50% 46%, 65% 0, 76% 51%, 100% 18%, 87% 100%, 13% 100%);
      filter: drop-shadow(0 1px 1px rgba(51,28,2,.78)) drop-shadow(0 0 6px rgba(255,210,83,.72)) drop-shadow(0 0 10px rgba(146,126,255,.45));
    }
    .game-row.is-top-gold.plan-tier-master .rank.is-first {
      background: linear-gradient(145deg, #4a3511 0%, #27262b 48%, #251d31 100%);
      box-shadow: inset -1px 0 rgba(255,220,115,.12), inset 0 0 18px rgba(140,111,224,.08);
    }
    .game-row.is-top-gold.plan-tier-master .rank.is-first .rank-number {
      color: #fff4c8;
      -webkit-text-stroke: 1px rgba(71,40,5,.94);
      paint-order: stroke fill;
      text-shadow: 0 2px 2px rgba(51,27,2,.88), 0 0 9px rgba(255,218,103,.85), 0 0 20px rgba(148,119,255,.54);
    }
    .game-row.is-top-gold.plan-tier-master .rank-plan-master {
      color: #fff0a1;
      border-color: rgba(243,197,82,.82);
      background: linear-gradient(135deg, rgba(219,159,37,.33), rgba(102,143,205,.24) 55%, rgba(125,82,190,.24));
      box-shadow: 0 0 8px rgba(241,187,55,.38), 0 0 17px rgba(137,111,236,.25);
    }
    .game-row.is-top-gold.plan-tier-master .rank-plan-master::after { color: #fff0a4; }
    .game-row.is-top-gold.plan-tier-master .vote-action {
      color: #f1cc6d;
      background: linear-gradient(135deg, rgba(225,170,45,.13), rgba(106,153,220,.055) 58%, rgba(151,91,217,.055));
    }
    .game-row.is-top-gold.plan-tier-master .vote-action::after {
      background: linear-gradient(90deg, transparent, rgba(247,197,69,.1), rgba(132,196,239,.11), rgba(178,135,255,.13), transparent);
    }
    .game-row.is-top-gold.plan-tier-master .vote-action::before {
      background: linear-gradient(180deg, #fff8ce 0%, #ffd04e 38%, #91ddff 67%, #ad7eff 100%);
      filter: drop-shadow(0 0 4px rgba(255,226,128,.95)) drop-shadow(0 0 10px rgba(147,124,255,.76));
    }
    .game-row.is-top-gold.plan-tier-master .vote-action .action-metric strong,
    .game-row.is-top-gold.plan-tier-master .like-action { color: #f4cd68; }
    .game-row.is-top-gold.plan-tier-master .vote-action .action-metric strong { text-shadow: 0 0 12px rgba(242,190,59,.4), 0 0 18px rgba(142,126,255,.2); }
    .game-row.is-top-gold.plan-tier-master .vote-action .action-metric small,
    .game-row.is-top-gold.plan-tier-master .action-recent,
    .game-row.is-top-gold.plan-tier-master .pro-vote-frequency { color: #d7c994; }
    .game-row.is-top-gold.plan-tier-master .vote-action .action-label {
      padding: 5px 9px;
      border: 1px solid rgba(163,183,255,.48);
      border-radius: 999px;
      background: linear-gradient(135deg, rgba(220,173,50,.09), rgba(104,131,211,.08) 58%, rgba(146,91,207,.08));
      box-shadow: none;
      color: #d9e3ff;
    }
    .game-row.is-top-gold.plan-tier-master .vote-action .action-label svg {
      width: 28px;
      height: 28px;
      padding: 3px;
      border: 1.5px solid rgba(169,196,255,.58);
      border-radius: 50%;
      background: radial-gradient(circle at 35% 30%, rgba(191,231,255,.2), rgba(126,111,212,.13) 58%, rgba(76,54,119,.05));
      fill: rgba(157,199,255,.12);
      stroke: #c9dcff;
      stroke-width: 2.2;
      filter: drop-shadow(0 0 5px rgba(145,213,255,.4)) drop-shadow(0 0 9px rgba(145,125,255,.42));
    }
    .game-row.is-top-gold.plan-tier-master .pro-vote-frequency,
    .game-row.is-top-gold.plan-tier-master .like-action {
      color: #d9e1ff;
      text-shadow: 0 0 10px rgba(133,164,255,.25), 0 0 16px rgba(164,112,255,.18);
    }
    .game-row.is-top-gold.plan-tier-master .game-badge-reward {
      color: #ffe39a;
      border-color: rgba(229,187,83,.58);
      background: linear-gradient(135deg, rgba(202,139,25,.13), rgba(112,91,190,.1));
    }
    @keyframes master-first-border-flow {
      0% { background-position: 0 0, 0% 50%; }
      100% { background-position: 0 0, 240% 50%; }
    }
    @keyframes master-first-card-breathe {
      0%, 100% { box-shadow: 0 0 0 1px rgba(235,185,68,.16), 0 0 18px rgba(220,158,36,.23), 0 0 28px rgba(139,113,243,.13); }
      50% { box-shadow: 0 0 0 1px rgba(255,225,133,.27), 0 0 28px rgba(235,177,49,.35), 0 0 42px rgba(124,163,244,.22), 0 0 52px rgba(165,103,225,.14); }
    }
    @media (prefers-reduced-motion: reduce) {
      .game-row.plan-tier-master,
      .game-row.plan-tier-master .vote-action::before,
      .game-row.is-top-gold,
      .game-row.is-top-gold.plan-tier-pro .vote-action::before { animation: none; }
    }
    .details-game-badges { margin-top: 8px; }
    .details-game-badges .game-badge { min-height: 27px; padding: 4px 9px; font-size: 12px; }
    .details-game-badges .game-badge svg { width: 15px; height: 15px; }
    .game-badge-tooltip {
      position: fixed;
      z-index: 10000;
      width: max-content;
      max-width: min(260px, calc(100vw - 24px));
      padding: 9px 11px;
      border: 1px solid var(--line-strong);
      border-radius: 7px;
      background: #252b2e;
      color: var(--text);
      box-shadow: 0 10px 32px rgba(0,0,0,.34);
      font-size: 12px;
      line-height: 1.42;
      pointer-events: none;
    }
    .game-description {
      grid-column: 1 / -1;
      max-width: 600px;
      margin: 7px 0 10px;
      overflow: hidden;
      color: var(--muted);
      font-size: 14px;
      line-height: 1.45;
      max-height: calc(1.45em * 2 + 2px);
    }
    /* O clamp fica no <span> interno: o <p> é item de grid e a "blockificação"
       transforma display:-webkit-box em flow-root, quebrando o -webkit-line-clamp. */
    .game-description span {
      display: -webkit-box;
      overflow: hidden;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
    }
    .game-row.has-reward-badge { min-height: 170px; }
    .game-row.has-reward-badge .game-info { padding-top: 13px; padding-bottom: 13px; }
    .game-row.has-reward-badge .game-description { margin: 5px 0 7px; max-height: calc(1.45em + 2px); }
    .game-row.has-reward-badge .game-description span { -webkit-line-clamp: 1; }
    .game-row.has-reward-badge .community-score { margin-top: 0; }
    .game-meta { grid-column: 1; grid-row: 3; display: flex; align-items: center; flex-wrap: wrap; gap: 7px; color: #858584; font-size: 11px; }
    .game-meta .status { font-weight: 700; letter-spacing: .01em; }
    .game-meta .status-beta { color: #c7a2ef; }
    .game-meta .status-development { color: #a8adaf; }
    .game-meta .status-launched { color: #d9b867; }
    .game-meta .release-date { color: #dd914f; font-weight: 650; }
    .game-meta .release-date::before { content: "·"; margin-right: 7px; color: #5f6465; }
    .community-score {
      grid-column: 2;
      grid-row: 3;
      align-self: center;
      width: fit-content;
      margin-top: 0;
      padding: 0;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      border: 0;
      background: transparent;
      color: var(--muted);
      font-size: 11px;
      cursor: pointer;
    }
    /* Alvo de toque maior sem mexer no layout do card: a área cresce, o texto não. */
    .community-score { position: relative; }
    .community-score::after { content: ""; position: absolute; inset: -9px -8px; }
    .community-score:hover { color: var(--text); }
    .community-score svg { width: 15px; height: 15px; color: var(--gold); fill: currentColor; }
    .card-support-button {
      grid-column: 3;
      grid-row: 3;
      align-self: center;
      justify-self: end;
      min-height: 30px;
      padding: 0 11px;
      border: 1px solid rgba(255,135,46,.36);
      border-radius: 999px;
      background: rgba(255,135,46,.055);
      color: #ffc590;
      font: inherit;
      font-size: 10px;
      font-weight: 800;
      cursor: pointer;
    }
    .card-support-button:hover { border-color: rgba(255,135,46,.72); background: rgba(255,135,46,.12); color: #ffe1c6; }
    /* Selo de fidelidade (24/09): os cinco jogos da página de fidelidade levam a
       posição de lá para a lista do Top Votos, no lugar do antigo "Apoiar", e
       com a cor dele (pedido do Lucas; a turquesa não agradou). */
    /* A linha de baixo quebra de baixo para cima (wrap-reverse): com espaço, o
       selo fica à direita, no lugar do Apoiar; sem espaço, ele sobe e fica
       acima do status, à esquerda (pedido do Lucas). Status e nota andam num
       bloco próprio, que quebra na ordem normal. Sem mola: com space-between,
       quem fica sozinho na linha começa pela esquerda. */
    .game-rodape { grid-column: 1 / -1; grid-row: 3; min-width: 0; display: flex; align-items: center; flex-wrap: wrap-reverse; justify-content: space-between; column-gap: 12px; row-gap: 10px; }
    .game-rodape-info { min-width: 0; display: flex; align-items: center; flex-wrap: wrap; column-gap: 12px; row-gap: 6px; }
    .game-fidelidade {
      min-height: 26px;
      padding: 3px 9px;
      display: inline-flex;
      align-items: center;
      gap: 5px;
      border: 1px solid rgba(255,135,46,.36);
      border-radius: 7px;
      background: rgba(255,135,46,.055);
      color: var(--fidelidade);
      font-size: 11px;
      font-weight: 750;
      white-space: nowrap;
      text-decoration: none;
    }
    .game-fidelidade:hover, .game-fidelidade:focus-visible { border-color: rgba(255,135,46,.72); background: rgba(255,135,46,.12); color: #ffe1c6; outline: 0; }
    .game-fidelidade svg { width: 13px; height: 13px; flex: 0 0 auto; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
    .card-support-count { min-width: 18px; height: 18px; padding: 0 5px; display: inline-grid; place-items: center; border-radius: 999px; background: rgba(255,135,46,.16); color: #ffc18a; font-size: 9px; font-weight: 900; }
    .community-medal {
      width: 28px;
      height: 28px;
      flex: 0 0 28px;
      display: inline-grid;
      place-items: center;
      position: relative;
      isolation: isolate;
      border: 1px solid;
      border-radius: 7px;
      font-size: 17px;
    }
    .community-medal::before { content: ""; position: absolute; z-index: -1; inset: -5px; border-radius: 10px; opacity: 0; }
    .community-medal svg { position: relative; z-index: 1; width: 17px; height: 17px; fill: currentColor; }
    .community-medal-bronze {
      color: #d28a55;
      border-color: #8d5737;
      background: linear-gradient(145deg, #422a1d, #211a17 70%);
      box-shadow: inset 0 1px rgba(255,197,146,.14), 0 1px 2px rgba(0,0,0,.35);
    }
    .community-medal-bronze svg { filter: drop-shadow(0 1px 1px rgba(0,0,0,.55)); }
    .community-medal-silver {
      color: #edf2f4;
      border-color: #929da3;
      background: linear-gradient(145deg, #50585d, #252a2d 68%);
      box-shadow: inset 0 1px rgba(255,255,255,.28), 0 0 5px rgba(205,221,229,.16);
    }
    .community-medal-silver::before { opacity: .7; background: radial-gradient(circle, rgba(211,229,237,.18), transparent 68%); }
    .community-medal-silver svg { filter: drop-shadow(0 0 3px rgba(255,255,255,.35)); }
    .community-medal-gold {
      color: #ffe06a;
      border-color: #d5a82c;
      background: linear-gradient(145deg, #6d5314, #30250e 68%);
      box-shadow: inset 0 1px rgba(255,244,174,.3), 0 0 8px rgba(238,184,42,.34);
    }
    .community-medal-gold::before { opacity: 1; background: radial-gradient(circle, rgba(255,198,48,.3), transparent 68%); filter: blur(2px); }
    .community-medal-gold svg { width: 18px; height: 18px; filter: drop-shadow(0 0 4px rgba(255,213,75,.56)); }
    .community-medal-diamond {
      color: #e8fcff;
      border-color: #75dfff;
      background: linear-gradient(135deg, #34708b 0 34%, #17394c 35% 62%, #245a72 63%);
      box-shadow: inset 0 1px rgba(240,253,255,.5), 0 0 10px rgba(79,215,255,.52);
    }
    .community-medal-diamond::before { opacity: 1; background: radial-gradient(circle, rgba(89,222,255,.44), transparent 68%); filter: blur(3px); }
    .community-medal-diamond::after { content: "✦"; position: absolute; z-index: 2; top: -7px; right: -5px; color: #fff; font-size: 9px; text-shadow: 0 0 5px #55dbff; }
    .community-medal-diamond svg { width: 19px; height: 19px; filter: drop-shadow(0 0 3px #58ddff) drop-shadow(0 0 6px rgba(79,217,255,.62)); }
    .community-rating-copy { display: inline-flex; align-items: center; gap: 5px; }
    .community-rating-copy.tier-bronze { color: #d59a70; text-shadow: 0 0 8px rgba(197,112,62,.14); }
    .community-rating-copy.tier-silver { color: #e1eaee; text-shadow: 0 0 8px rgba(213,232,240,.28); }
    .community-rating-copy.tier-gold { color: #ffe06a; text-shadow: 0 0 10px rgba(238,184,42,.42); }
    .community-rating-copy.tier-diamond { color: #e8fcff; text-shadow: 0 0 6px #58ddff, 0 0 14px rgba(79,217,255,.55); }

    /* ---------- Como rankear ---------- */
    .guia-main { width: var(--page); margin: 0 auto; padding: 26px 0 70px; }
    .porque-main { width: var(--page); margin: 0 auto; padding: 26px 0 70px; }
    .porque-head { max-width: 760px; }
    .porque-kicker { display: block; margin-bottom: 10px; color: var(--orange); font-size: 12px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
    .porque-head .page-heading { margin: 0 0 12px; font-size: clamp(30px, 4.2vw, 48px); line-height: 1.04; letter-spacing: -1.6px; text-wrap: balance; }
    .porque-head p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.55; }
    .porque-numeros { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 12px; }
    .porque-numero.is-destaque { border-color: var(--orange); }
    .porque-numero.is-destaque b { color: var(--orange); font-size: clamp(40px, 4.4vw, 56px); }
    .porque-numero.is-destaque > span { font-size: 15px; font-weight: 700; }
    .porque-numero { padding: 18px; display: grid; align-content: start; gap: 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    .porque-numero svg, .porque-fluxo svg { width: 26px; height: 26px; fill: none; stroke: var(--orange); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
    .porque-numero b { font-size: clamp(28px, 3vw, 38px); line-height: 1; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
    .porque-numero > span { color: var(--text); font-size: 13.5px; line-height: 1.4; }
    .porque-conferir { margin-top: 4px; padding-top: 9px; border-top: 1px dashed var(--line); color: var(--muted); font-size: 12px; line-height: 1.45; }
    .porque-conferir::before { content: "✓ Como conferir: "; color: #77db98; font-weight: 700; }
    .porque-bloco { margin-top: 44px; }
    .porque-head + .porque-bloco { margin-top: 30px; }
    .porque-bloco > h2 { margin: 0 0 16px; font-size: 22px; letter-spacing: -.3px; }
    .porque-fluxo { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; counter-reset: passo; }
    .porque-fluxo li { position: relative; padding: 18px 16px; display: grid; gap: 6px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); counter-increment: passo; }
    .porque-fluxo li::after { content: counter(passo); position: absolute; top: 14px; right: 14px; color: var(--line-strong); font-size: 22px; font-weight: 800; }
    .porque-fluxo strong { font-size: 15px; }
    .porque-fluxo span { color: var(--muted); font-size: 13px; }
    .porque-sub { margin: -8px 0 16px; color: var(--muted); font-size: 14.5px; }
    .porque-constancia { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin-bottom: 8px; }
    .porque-plano { padding: 16px 18px; display: grid; gap: 4px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    .porque-plano header { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
    .porque-plano header strong { font-size: 15px; }
    .porque-plano header span { color: var(--muted); font-size: 12.5px; font-variant-numeric: tabular-nums; }
    .porque-plano b { margin-top: 6px; color: var(--orange); font-size: 34px; line-height: 1; letter-spacing: -1px; font-variant-numeric: tabular-nums; }
    .porque-plano > span { font-size: 13px; }
    .porque-plano b small { color: var(--text); font-size: 15px; font-weight: 700; letter-spacing: 0; }
    .porque-plano > span strong { font-weight: 700; }
    .porque-plano.is-master { border-color: var(--orange); }
    .porque-recorde { justify-self: start; padding: 2px 8px; border: 1px solid var(--line-strong); border-radius: 999px; color: var(--muted); font-size: 11px; font-style: normal; font-weight: 700; }
    .porque-vezes { justify-self: start; margin-top: 8px; padding: 3px 9px; border-radius: 999px; background: rgba(255, 135, 46, .14); color: var(--orange); font-size: 12px; font-style: normal; font-weight: 800; }
    .porque-nota { margin: 0 0 18px; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
    .porque-vias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; align-items: start; }
    .porque-via { padding: 18px; display: grid; gap: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    .porque-via.is-topidle { border-color: var(--orange); box-shadow: 0 0 0 1px var(--orange) inset; }
    .porque-via header { display: grid; gap: 2px; }
    .porque-via header small { color: var(--muted); font-size: 11.5px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
    .porque-via.is-topidle header small { color: var(--orange); }
    .porque-via header strong { font-size: 18px; }
    .porque-via dl { margin: 0; display: grid; gap: 10px; }
    .porque-via dl div { display: grid; gap: 1px; }
    .porque-via dt { color: var(--muted); font-size: 11.5px; }
    .porque-via dd { margin: 0; font-size: 13.5px; line-height: 1.4; }
    .porque-via.is-topidle dd { font-weight: 650; }
    .porque-via .porque-via-valor { padding-bottom: 10px; border-bottom: 1px dashed var(--line); }
    .porque-via .porque-via-valor dd { font-size: 17px; font-weight: 800; }
    .porque-via.is-topidle .porque-via-valor dd { color: var(--orange); }
    .porque-via dd small { color: var(--muted); font-size: 12px; font-weight: 600; }
    .porque-vias + .porque-nota { margin-top: 10px; }
    .porque-jogos { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
    .porque-jogo { display: grid; gap: 6px; color: inherit; text-decoration: none; }
    .porque-jogo .porque-capa { aspect-ratio: 16 / 9; overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: #090c0d; }
    .porque-jogo .porque-capa img, .porque-jogo .porque-capa video { width: 100%; height: 100%; object-fit: cover; display: block; }
    .porque-jogo span { font-size: 12.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .porque-jogo small { color: var(--muted); font-size: 11.5px; }
    .porque-cta { margin-top: 40px; display: flex; flex-wrap: wrap; gap: 10px; }
    .porque-cta .button { min-height: 46px; padding: 0 20px; font-size: 15px; }
    @media (max-width: 900px) {
      .porque-numeros { grid-template-columns: 1fr 1fr; }
      .porque-numero.is-destaque { grid-column: 1 / -1; }
      .porque-fluxo { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .porque-vias { grid-template-columns: 1fr; }
      .porque-jogos { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    /* Abaixo de 640px o --page vira 100% e o texto encostava na borda. */
    @media (max-width: 640px) {
      .porque-main, .guia-main { width: calc(100% - 32px); }
    }
    @media (max-width: 520px) {
      .porque-numeros, .porque-fluxo { grid-template-columns: 1fr; }
      .porque-jogos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    .guia-head { max-width: 62ch; }
    .guia-head .page-heading { margin: 0 0 10px; font-size: clamp(28px, 4vw, 40px); line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
    .guia-head p { margin: 0; color: var(--muted); font-size: 15.5px; }
    .guia-prize {
      display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; padding: 8px 14px;
      border: 1px solid var(--gold); border-radius: 24px; background: var(--gold-soft); color: var(--gold);
      font-size: 13px; font-weight: 700;
    }
    .guia-steps { margin-top: 26px; display: grid; gap: 12px; }
    .guia-step {
      display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: 16px; align-items: start;
      padding: 18px 20px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface);
    }
    .guia-step[data-feito="1"] { border-color: rgba(119,219,152,.45); }
    .guia-num {
      width: 44px; height: 44px; display: grid; place-items: center; border-radius: 50%;
      border: 1px solid var(--line-strong); color: var(--muted); font-size: 16px; font-weight: 700;
    }
    .guia-step[data-feito="1"] .guia-num { border-color: #77db98; color: #77db98; }
    .guia-step h2 { margin: 0 0 5px; font-size: 17px; font-weight: 700; }
    .guia-step p { margin: 0; color: var(--muted); font-size: 14px; line-height: 1.55; }
    .guia-step p b { color: var(--text); font-weight: 600; }
    .guia-side { display: grid; gap: 8px; justify-items: end; align-content: start; }
    .guia-tag {
      white-space: nowrap; padding: 5px 12px; border-radius: 20px;
      border: 1px solid var(--gold); background: var(--gold-soft); color: var(--gold);
      font-size: 12px; font-weight: 700;
    }
    .guia-tag.livre { border-color: var(--line-strong); background: transparent; color: var(--muted); }
    .guia-tag.feito { border-color: #77db98; background: rgba(119,219,152,.12); color: #77db98; }
    .guia-step .button { white-space: nowrap; padding: 8px 15px; font-size: 13.5px; }
    .guia-numeros {
      margin-top: 26px; padding: 22px 24px; border: 1px solid var(--line);
      border-radius: 12px; background: var(--surface);
    }
    .guia-numeros h2 { margin: 0 0 16px; font-size: 18px; }
    .guia-numeros-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 18px; }
    .guia-numeros-grid div b { display: block; font-size: 27px; font-weight: 700; color: var(--orange); }
    .guia-numeros-grid div span { display: block; margin-top: 3px; color: var(--muted); font-size: 13px; line-height: 1.45; }
    .guia-final {
      margin-top: 22px; padding: 22px 24px; display: flex; flex-wrap: wrap; gap: 16px;
      align-items: center; justify-content: space-between;
      border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong);
    }
    .guia-final h2 { margin: 0 0 4px; font-size: 18px; }
    .guia-final p { margin: 0; color: var(--muted); font-size: 14px; }
    @media (max-width: 720px) {
      .guia-step { grid-template-columns: 38px minmax(0, 1fr); }
      .guia-num { width: 38px; height: 38px; font-size: 14px; }
      .guia-side { grid-column: 2; justify-items: start; }
    }

    .pro-main { width: min(100% - 64px, 1440px); margin: 0 auto; padding: 70px 0 88px; }
    .pro-sales-hero { min-height: 370px; display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); align-items: center; gap: 80px; border-bottom: 1px solid var(--line); }
    .pro-sales-hero h1 { max-width: 780px; margin: 0; font-size: clamp(48px,5vw,72px); line-height: .98; letter-spacing: -4px; }
    .pro-sales-hero p { max-width: 680px; margin: 22px 0 28px; color: var(--muted); font-size: 17px; line-height: 1.6; }
    .pro-price-box { padding: 30px; border: 1px solid rgba(255,135,46,.58); border-radius: 9px; background: radial-gradient(circle at 85% 10%, rgba(255,135,46,.12), transparent 45%), rgba(15,19,20,.86); }
    .pro-price-box strong { display: block; color: var(--orange); font-size: 48px; letter-spacing: -2px; }
    .pro-price-box strong small { font-size: 20px; letter-spacing: 0; }
    .pro-price-box > span { color: #f3a35e; font-weight: 750; }
    .pro-price-box ul { margin: 24px 0 0; padding: 21px 0 0; display: grid; gap: 12px; border-top: 1px solid var(--line-strong); list-style: none; }
    .pro-price-box li::before { content: "✓"; margin-right: 10px; color: var(--orange); font-weight: 900; }
    .plans-head { padding: 8px 0 30px; max-width: 68ch; }
    .plans-head .page-heading { margin: 0 0 12px; font-size: clamp(30px, 4.2vw, 46px); line-height: 1.06; letter-spacing: -1.6px; text-wrap: balance; }
    .plans-head p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.6; }

    .term-label { margin: 30px 0 9px; text-align: center; color: var(--text); font-size: 13px; font-weight: 700; }
    .term-switch { margin: 0 auto 8px; width: fit-content; display: flex; flex-wrap: wrap; gap: 6px; padding: 5px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    /* O selecionado era `--surface-strong` (#1c2225) sobre `--surface` (#161b1e):
       dois cinzas escuros quase iguais. A faixa parecia um rotulo, nao um
       controle — um dono achou que o Pro tinha passado de R$ 50 para R$ 500
       porque nao viu que havia 12 meses escolhido e que dava para trocar. */
    .term-switch button { border: 1px solid transparent; border-radius: 9px; cursor: pointer; background: transparent; color: var(--muted); font: 600 14px inherit; padding: 9px 18px; transition: background .16s ease, color .16s ease, border-color .16s ease; }
    .term-switch button:hover { color: var(--text); background: rgba(255,255,255,.05); border-color: var(--line-strong); }
    .term-switch button[aria-pressed="true"] {
      background: var(--orange); color: #17100a; border-color: var(--orange);
      box-shadow: 0 3px 14px -5px rgba(255,135,46,.9);
    }
    .term-switch button[aria-pressed="true"]:hover { background: var(--orange); }
    .term-switch em { display: block; margin-top: 2px; font-style: normal; font-size: 10.5px; font-weight: 700; color: #77db98; }
    .term-switch button[aria-pressed="true"] em { color: #2f1a06; }
    .term-note { margin: 0 0 24px; text-align: center; color: var(--muted); font-size: 13px; line-height: 1.55; }
    .term-note b { color: var(--text); }
    .term-note .term-troca { color: var(--orange); }

    .plan-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; align-items: stretch; }
    .plan-card { position: relative; display: flex; flex-direction: column; padding: 22px 20px 24px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    .plan-card.is-pro { border-color: var(--orange); background: linear-gradient(180deg, rgba(255,135,46,.07), var(--surface) 42%); }
    .plan-card.is-master { border-color: var(--master-line); background: linear-gradient(180deg, var(--master-tint), var(--surface) 42%); }
    .plan-card-tag { position: absolute; top: -9px; left: 20px; padding: 2px 10px; border-radius: 20px; background: var(--orange); color: #1a0d02; font-size: 10.5px; font-weight: 700; }
    .plan-card.is-master .plan-card-tag { background: var(--master-blue); color: #0b1224; }
    .plan-card h2 { margin: 0; font-size: 20px; font-weight: 700; }
    .plan-card.is-master h2 { color: var(--master-text); }
    .plan-card-price { margin-top: 12px; display: flex; align-items: baseline; gap: 5px; }
    .plan-card-price b { font-size: 31px; font-weight: 700; letter-spacing: -1px; }
    /* Plano pago visto por quem não tem jogo cadastrado: sem o valor (30/09). */
    .plan-card-price.is-fechado b { font-size: 16px; line-height: 1.3; letter-spacing: 0; }
    .plan-card-price small { color: var(--muted); font-size: 12.5px; }
    .plan-card-sub { margin: 6px 0 0; min-height: 36px; font-size: 12.5px; line-height: 1.5; color: var(--muted); }
    .plan-card-sub s { color: var(--line-strong); }
    .plan-card-save { color: #77db98; font-weight: 700; }
    .plan-card-credits { margin: 14px 0 0; padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-strong); }
    .plan-card-credits b { display: block; font-size: 21px; font-weight: 700; }
    .plan-card-credits span { display: block; margin-top: 1px; font-size: 11.5px; color: var(--muted); }
    .plan-card-credits.match { border-color: var(--gold); background: var(--gold-soft); }
    .plan-card-credits.match b { color: var(--gold); }
    .plan-card ul { margin: 15px 0 18px; padding: 0; list-style: none; display: grid; gap: 7px; font-size: 13px; color: var(--muted); }
    .plan-card li { display: grid; grid-template-columns: 13px minmax(0, 1fr); gap: 8px; }
    .plan-card li i { color: var(--orange); font-style: normal; }
    .plan-card.is-master li i { color: var(--master-blue); }
    .plan-card .button { margin-top: auto; width: 100%; }
    .plan-card-total { margin: 9px 0 0; font-size: 11.5px; color: var(--line-strong); text-align: center; }
    .plan-card-oferta {
      margin: 10px 0 0; width: 100%; padding: 9px 11px; display: block; cursor: pointer;
      border: 1px dashed rgba(119,219,152,.5); border-radius: 8px; background: rgba(119,219,152,.06);
      color: var(--muted); font: inherit; font-size: 11.5px; line-height: 1.45; text-align: center;
    }
    .plan-card-oferta:hover { background: rgba(119,219,152,.12); border-style: solid; }
    .plan-card-oferta b { color: var(--text); }
    .plan-card-oferta span { display: block; margin-top: 1px; color: #77db98; font-weight: 700; }

    .why { margin-top: 34px; padding: 26px 26px 8px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
    .why-head { margin: 0 0 4px; font-size: 23px; }
    .why-intro { margin: 0 0 6px; color: var(--muted); font-size: 14px; }
    .why-block { display: grid; grid-template-columns: minmax(0, 280px) minmax(0, 1fr); gap: 28px; align-items: center; padding: 24px 0; border-top: 1px solid var(--line); }
    .why-block h3 { margin: 0 0 7px; font-size: 18px; font-weight: 700; }
    .why-block p { margin: 0; font-size: 14px; line-height: 1.6; color: var(--muted); }
    .why-block p b { color: var(--text); font-weight: 600; }
    .why-figure { padding: 17px 19px; border: 1px solid var(--line); border-radius: 11px; background: var(--bg); }
    .bars { display: grid; gap: 9px; }
    .bar { display: grid; grid-template-columns: 52px minmax(0, 1fr) 40px; align-items: center; gap: 10px; font-size: 12px; }
    .bar > span:first-child { color: var(--muted); }
    .bar .track { height: 9px; border-radius: 5px; background: var(--surface-strong); overflow: hidden; }
    .bar .track i { display: block; height: 100%; border-radius: 5px; background: var(--line-strong); }
    .bar.is-light .track i { background: var(--gold); }
    .bar.is-pro .track i { background: var(--orange); }
    .bar.is-master .track i { background: linear-gradient(90deg, var(--master-blue), var(--master-purple)); }
    .bar b { text-align: right; font-size: 12.5px; }
    .why-big { text-align: center; }
    .why-big b { display: block; font-size: 42px; font-weight: 700; line-height: 1; color: var(--orange); }
    .why-big span { display: block; margin-top: 7px; font-size: 12px; line-height: 1.45; color: var(--muted); }
    .demo-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .demo-pair > div > small { display: block; margin-bottom: 8px; font-size: 10.5px; color: var(--line-strong); text-transform: uppercase; letter-spacing: .1em; }
    .page-demo { display: grid; gap: 7px; }
    .page-demo i { display: block; height: 9px; border-radius: 3px; background: var(--surface-strong); font-style: normal; }
    .page-demo i.wide { width: 78%; }
    .page-demo i.mid { width: 55%; }
    .page-demo .rival { height: auto; padding: 7px 8px; border: 1px dashed var(--coral); border-radius: 6px; background: rgba(255,96,84,.09); color: var(--coral); font-size: 10px; font-weight: 700; }
    .page-demo .clean { height: auto; padding: 7px 8px; border: 1px dashed var(--line-strong); border-radius: 6px; color: var(--muted); font-size: 10px; font-weight: 600; }
    @media (max-width: 1000px) { .plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    @media (max-width: 760px) { .plan-grid { grid-template-columns: 1fr; } .why-block { grid-template-columns: 1fr; gap: 16px; } .why { padding: 20px 18px 4px; } }

    .pro-records { margin: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 8px; background: rgba(10,14,16,.48); }
    .pro-records > span { min-height: 118px; padding: 24px 30px; display: grid; grid-template-columns: 58px 1fr; grid-template-rows: auto auto auto; align-content: center; column-gap: 20px; border-right: 1px solid var(--line); }
    .pro-records > span:last-child { border: 0; }
    .pro-records strong { grid-column: 2; font-size: 32px; line-height: 1; letter-spacing: -1px; }
    .pro-records small, .pro-records em { grid-column: 2; margin-top: 5px; color: var(--muted); font-size: 12px; font-style: normal; }
    .pro-record-icon { grid-column: 1; grid-row: 1 / span 3; width: 58px; height: 58px; display: grid; place-items: center; border: 1px solid var(--orange); border-radius: 50%; color: var(--orange); }
    .pro-record-icon svg { width: 24px; height: 24px; display: block; }
    .pro-benefits { padding: 48px 0; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--line); }
    .pro-benefit { min-height: 100px; padding: 8px 38px; border-right: 1px solid var(--line); }
    .pro-benefit:first-child { padding-left: 0; }
    .pro-benefit:last-child { border: 0; }
    .pro-benefit strong { display: block; margin-bottom: 8px; font-size: 18px; }
    .pro-benefit strong span { color: var(--orange); }
    .pro-benefit p { margin: 0; color: var(--muted); line-height: 1.55; }
    .pro-details { padding: 48px 0; display: grid; grid-template-columns: .8fr 1fr 1.05fr; gap: 42px; border-bottom: 1px solid var(--line); }
    .pro-details h2 { margin: 0 0 8px; font-size: 25px; }
    .pro-details > section > p { margin: 0 0 22px; color: var(--muted); line-height: 1.55; }
    .pro-placement-list { display: grid; gap: 12px; }
    .pro-placement-list span { padding: 12px 0; display: grid; grid-template-columns: 18px 1fr; gap: 10px; border-bottom: 1px solid var(--line); }
    .pro-placement-list span::before { content: "▰"; color: var(--orange); }
    .pro-placement-list small { color: var(--muted); }
    .pro-rating-demo { display: grid; gap: 9px; }
    .pro-rating-demo > span { min-height: 46px; padding: 8px 11px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 7px; }
    .pro-rating-demo .community-rating-copy { font-size: 12px; }
    .pro-credit-note { margin-top: 18px; padding: 14px; border: 1px solid rgba(255,135,46,.36); border-radius: 7px; color: #ffd1ae; }
    .pro-compare { width: 100%; border-collapse: collapse; }
    .pro-compare th, .pro-compare td { padding: 13px 11px; border: 1px solid var(--line); text-align: left; }
    .pro-compare th { color: var(--muted); font-size: 11px; }
    .pro-compare td:last-child, .pro-compare th:last-child { color: var(--orange); }
    .pro-final { padding: 58px 0 0; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
    .pro-final h2 { margin: 0 0 8px; font-size: 29px; }
    .pro-final p { margin: 0; color: var(--muted); }
    .plans-roadmap { min-width: 0; height: 520px; display: grid; grid-template-columns: .84fr .94fr 1.08fr 1.18fr; align-items: end; position: relative; overflow: hidden; }
    .plans-roadmap::after { content: ""; position: absolute; right: 2%; bottom: 54px; left: 2%; height: 1px; background: linear-gradient(90deg,rgba(150,154,155,.3),rgba(255,135,46,.75) 70%,rgba(228,171,60,.75)); }
    .plans-trial-callout { margin: 0 0 30px; padding: 18px 20px; display: flex; justify-content: space-between; align-items: center; gap: 24px; border: 1px solid rgba(114,180,218,.38); border-radius: 9px; background: linear-gradient(100deg, rgba(114,180,218,.12), rgba(255,135,46,.06)); }
    .plans-trial-callout strong, .plans-trial-callout span { display: block; }
    .plans-trial-callout strong { color: #b9e4ff; font-size: 16px; }
    .plans-trial-callout span { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .plans-trial-callout .button { flex: 0 0 auto; }
    .plans-campaign-note { margin: 32px 0 0; padding: 20px 22px; display: grid; grid-template-columns: auto 1fr; gap: 15px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.018); }
    .plans-campaign-note b { color: var(--orange); font-size: 22px; }
    .plans-campaign-note strong { display: block; margin-bottom: 4px; }
    .plans-campaign-note span { color: var(--muted); font-size: 13px; line-height: 1.55; }
    .plans-compare-section { padding: 48px 0; border-bottom: 1px solid var(--line); }
    .plans-compare-section h2 { margin: 0 0 8px; font-size: 28px; }
    .plans-compare-section > p { margin: 0 0 22px; color: var(--muted); }
    .plans-compare { width: 100%; border-collapse: collapse; }
    .plans-compare th,.plans-compare td { padding: 13px 12px; border: 1px solid var(--line); text-align: center; font-size: 12px; }
    .plans-compare th:first-child,.plans-compare td:first-child { text-align: left; }
    .plans-compare-nota { display: block; margin-top: 4px; max-width: 34ch; color: var(--muted); font-size: 11px; font-weight: 400; line-height: 1.4; }
    .plans-compare th { color: var(--muted); }
    .plans-compare th:nth-child(3) { color: #b7dcf3; }
    .plans-compare th:nth-child(4) { color: #ff963e; }
    .plans-compare th:nth-child(5) { color: #d8dcff; }
    .plans-compare .plan-highlight { font-weight: 850; }
    .plans-compare .plan-highlight-light { color: #c6e9fb; background: radial-gradient(circle at 50% 50%,rgba(134,199,235,.14),transparent 70%); box-shadow: inset 0 0 20px rgba(134,199,235,.035); text-shadow: 0 0 10px rgba(183,220,243,.34); }
    .plans-compare .plan-highlight-pro { color: #ff9b4d; background: radial-gradient(circle at 50% 50%,rgba(255,135,46,.15),transparent 70%); box-shadow: inset 0 0 20px rgba(255,135,46,.045); text-shadow: 0 0 11px rgba(255,135,46,.42); }
    .plans-compare .plan-highlight-master { color: #eef0ff; background: radial-gradient(circle at 50% 50%,rgba(176,154,255,.17),transparent 70%); box-shadow: inset 0 0 20px rgba(176,154,255,.045); text-shadow: 0 0 7px rgba(208,197,255,.62),0 0 14px rgba(140,111,255,.28); }
    @media (max-width: 1120px) {
      .plans-roadmap { height: 465px; }
    }
    @media (max-width: 620px) {
      .plans-subscriber-link { align-self: center; }
      .plans-roadmap { height: auto; margin-top: 8px; grid-template-columns: 1fr 1fr; gap: 10px; overflow: visible; }
      .plans-roadmap::after { display: none; }
      #pro-page .pro-records { grid-template-columns: 1fr; }
      #pro-page .pro-records > span { min-height: 92px; grid-template-columns: 46px 1fr; padding: 17px 18px; column-gap: 15px; border-right: 0; border-bottom: 1px solid var(--line); }
      #pro-page .pro-records > span:last-child { border-bottom: 0; }
      #pro-page .pro-record-icon { width: 46px; height: 46px; }#pro-page .pro-record-icon svg { width: 20px; height: 20px; }
      #pro-page .pro-records strong { font-size: 26px; }
      .plans-trial-callout { align-items: stretch; flex-direction: column; gap: 14px; }
      .plans-compare-section { overflow-x: auto; }
      .plans-compare { min-width: 720px; }
    }
    .game-actions {
      display: grid;
      grid-template-columns: 1fr;
      grid-template-rows: minmax(0, 1fr) 48px;
      align-items: stretch;
      border-left: 1px solid var(--line);
    }
    .ranking-action {
      min-width: 0;
      padding: 14px 10px;
      display: grid;
      place-items: center;
      align-content: center;
      gap: 8px;
      border: 0;
      background: transparent;
      font: inherit;
      text-align: center;
      cursor: pointer;
    }
    .ranking-action + .ranking-action { border-left: 0; }
    .ranking-action svg { width: 18px; height: 18px; fill: transparent; stroke: currentColor; }
    .ranking-action.like-action { color: var(--coral); }
    .ranking-action.vote-action { color: var(--orange); }
    .ranking-action:hover { background: rgba(255,255,255,.025); }
    .ranking-action[aria-pressed="true"] svg { fill: currentColor; }
    .ranking-action:disabled { opacity: .72; cursor: default; }
    /* O botão de votar guarda o número de votos do mês dentro dele. Apagar o
       botão inteiro depois do voto apagava também esse número, que é informação
       do jogo e não parte da ação — o dono viu o Master "meio apagado" e era só
       ele já ter votado ali (23/09). Opacidade no pai não pode ser desfeita no
       filho, então o botão volta a 100% e quem desbota é só o rótulo da vez. */
    .vote-action:disabled { opacity: 1; }
    .vote-action:disabled .action-label { opacity: .62; }
    .action-metric { display: grid; place-items: center; gap: 4px; line-height: 1; }
    .action-metric strong { display: block; color: var(--text); font-size: 34px; font-weight: 850; letter-spacing: -1.3px; }
    .action-metric small { display: block; color: var(--muted); font-size: 10px; }
    .action-recent { display: block; margin-top: 2px; color: #efad72; font-size: 11px; font-style: normal; font-weight: 750; white-space: nowrap; }
    .action-label { display: inline-flex; align-items: center; gap: 6px; color: currentColor; font-size: 11px; font-weight: 750; }
    .vote-action { order: 1; }
    .like-action {
      order: 2;
      min-height: 48px;
      padding: 0 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border-top: 1px solid var(--line);
    }
    .like-action .action-label { order: 1; }
    .like-action .action-metric { order: 2; display: inline-flex; align-items: center; gap: 0; }
    .like-action .action-metric strong { color: currentColor; font-size: 15px; letter-spacing: 0; }
    .like-action .action-metric small { display: none; }

    /* O plano Free usa uma hierarquia neutra; status e avaliacao preservam suas cores. */
    .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .vote-action,
    .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .rank-number {
      color: #f2f4f4;
    }
    .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .action-recent {
      color: #e2e6e7;
    }
    .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .like-action {
      color: #9da5a8;
    }
    .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .game-badge-reward {
      color: #c3c8ca;
      border-color: rgba(174,181,184,.34);
      background: rgba(174,181,184,.07);
    }

    /* A lista desktop usa uma altura fixa: a proporcao da capa nunca aumenta o card. */
    @media (min-width: 821px) {
      .game-row,
      .game-row.has-reward-badge {
        height: 170px;
        min-height: 170px;
      }
      .game-banner-frame,
      .game-banner {
        height: 100%;
        min-height: 0;
      }
      .game-info,
      .game-row.has-reward-badge .game-info {
        padding-top: 12px;
        padding-bottom: 12px;
      }
      .game-description,
      .game-row.has-reward-badge .game-description {
        margin: 4px 0 6px;
        max-height: calc(1.45em + 2px);
      }
      .game-description span,
      .game-row.has-reward-badge .game-description span {
        -webkit-line-clamp: 1;
      }
      .ranking-action { padding: 8px; gap: 5px; }
      .action-metric { gap: 2px; }
    }

    /* Preview: nova hierarquia da lista. Mantido isolado ate a aprovacao visual. */
    .preview-ranking-v2 .game-row {
      min-height: 198px;
      grid-template-columns: 76px minmax(360px, 420px) minmax(340px, 1fr) 238px;
    }
    .preview-ranking-v2 .game-row.has-reward-badge { min-height: 198px; }
    .preview-ranking-v2 .game-banner { min-height: 198px; }
    .preview-ranking-v2 .game-info,
    .preview-ranking-v2 .game-row.has-reward-badge .game-info {
      padding: 24px 28px 22px;
      justify-content: flex-start;
    }
    .preview-ranking-v2 .game-title-line { gap: 9px; }
    .preview-ranking-v2 .game-name { font-size: 21px; line-height: 1.15; }
    .preview-ranking-v2 .game-description,
    .preview-ranking-v2 .game-row.has-reward-badge .game-description {
      max-width: 680px;
      margin: 13px 0 auto;
      font-size: 14px;
      line-height: 1.55;
      -webkit-line-clamp: 2;
    }
    .preview-ranking-v2 .game-meta { margin-top: 16px; }
    .preview-ranking-v2 .community-score,
    .preview-ranking-v2 .game-row.has-reward-badge .community-score { margin-top: 10px; }
    .preview-ranking-v2 .game-actions {
      grid-template-columns: 1fr;
      grid-template-rows: minmax(0, 1fr) 48px;
    }
    .preview-ranking-v2 .ranking-action + .ranking-action { border-left: 0; }
    .preview-ranking-v2 .vote-action {
      order: 1;
      padding: 19px 14px 14px;
      gap: 10px;
    }
    .preview-ranking-v2 .vote-action .action-metric strong { font-size: 43px; }
    .preview-ranking-v2 .like-action {
      order: 2;
      min-height: 48px;
      padding: 0 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 12px;
      border-top: 1px solid var(--line);
    }
    .preview-ranking-v2 .like-action .action-label { order: 1; }
    .preview-ranking-v2 .like-action .action-metric {
      order: 2;
      display: inline-flex;
      align-items: center;
      gap: 0;
    }
    .preview-ranking-v2 .like-action .action-metric strong {
      color: currentColor;
      font-size: 15px;
      letter-spacing: 0;
    }
    .preview-ranking-v2 .like-action .action-metric small { display: none; }
    .preview-card-free .game-list { max-width: none; }
    .preview-card-free .game-row,
    .preview-card-free .game-row.has-reward-badge {
      min-height: 190px;
      grid-template-columns: 74px minmax(350px, 390px) minmax(440px, 1fr) 238px;
    }
    .preview-card-free:not(.preview-card-first) .game-list.vote-ranking .game-row:first-child {
      border-color: var(--line);
      background: var(--surface);
      box-shadow: none;
      animation: none;
    }
    .preview-card-free .game-banner { min-height: 190px; }
    .preview-card-free .game-info,
    .preview-card-free .game-row.has-reward-badge .game-info {
      padding: 23px 20px 21px;
      display: grid;
      grid-template-columns: auto minmax(0, 1fr);
      grid-template-rows: auto minmax(0, 1fr) auto;
      align-content: stretch;
      column-gap: 18px;
    }
    .preview-card-free .game-title-line { grid-column: 1 / -1; gap: 8px; }
    .preview-card-free .game-name { font-size: 21px; line-height: 1.15; }
    .preview-card-free .game-description,
    .preview-card-free .game-row.has-reward-badge .game-description {
      grid-column: 1 / -1;
      max-width: 670px;
      margin: 12px 0 15px;
      line-height: 1.55;
      -webkit-line-clamp: 2;
    }
    .preview-card-free .game-meta { grid-column: 1; grid-row: 3; margin: 0; }
    .preview-card-free .community-score,
    .preview-card-free .game-row.has-reward-badge .community-score {
      grid-column: 2;
      grid-row: 3;
      align-self: center;
      margin: 0;
    }
    .preview-card-free .rank-momentum { min-height: 20px; padding: 4px 6px; font-size: 12px; }
    .preview-card-free .rank-momentum-up svg { width: 14px; height: 14px; }
    .preview-card-free .game-actions {
      grid-template-columns: 1fr;
      grid-template-rows: minmax(0, 1fr) 48px;
    }
    .preview-card-free .ranking-action + .ranking-action { border-left: 0; }
    .preview-card-free .vote-action { order: 1; padding: 18px 14px 13px; gap: 9px; }
    .preview-card-free .vote-action .action-metric strong { font-size: 41px; }
    .preview-card-free .vote-action .action-label { flex-wrap: nowrap; justify-content: center; }
    .preview-card-free .like-action {
      order: 2;
      min-height: 48px;
      padding: 0 16px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      border-top: 1px solid var(--line);
    }
    .preview-card-free .like-action .action-label { order: 1; }
    .preview-card-free .like-action .action-metric {
      order: 2;
      display: inline-flex;
      align-items: center;
      gap: 0;
    }
    .preview-card-free .like-action .action-metric strong {
      color: currentColor;
      font-size: 15px;
      letter-spacing: 0;
    }
    .preview-card-free .like-action .action-metric small { display: none; }
    .preview-card-free .pro-vote-frequency {
      color: #9da2a3;
      font-size: 10px;
      letter-spacing: .05em;
    }
    .preview-card-free .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .vote-action {
      color: #f2f4f4;
    }
    .preview-card-free .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .action-recent {
      color: #e2e6e7;
    }
    .preview-card-free .game-row:not(.is-top-gold):not(.is-pro):not(.plan-tier-light):not(.plan-tier-pro):not(.plan-tier-master) .game-badge-reward {
      color: #c3c8ca;
      border-color: rgba(174,181,184,.34);
      background: rgba(174,181,184,.07);
    }
    @media (max-width: 820px) {
      .preview-card-free .game-row,
      .preview-card-free .game-row.has-reward-badge {
        min-height: 0;
        grid-template-columns: 52px minmax(0, 1fr);
        grid-template-areas: "rank banner" "rank info" "actions actions";
      }
      .preview-card-free .game-banner-frame { grid-area: banner; height: 150px; min-height: 150px; border-right: 0; }
      .preview-card-free .game-banner { height: 100%; min-height: 0; }
      .preview-card-free .game-info,
      .preview-card-free .game-row.has-reward-badge .game-info {
        grid-area: info;
        padding: 18px;
        display: flex;
        flex-direction: column;
      }
      .preview-card-free .game-description,
      .preview-card-free .game-row.has-reward-badge .game-description { margin: 10px 0 0; }
      .preview-card-free .game-meta { margin-top: 12px; }
      .preview-card-free .community-score,
      .preview-card-free .game-row.has-reward-badge .community-score { margin-top: 9px; }
      .preview-card-free .game-actions {
        grid-area: actions;
        min-height: 132px;
        grid-template-columns: 1fr;
        grid-template-rows: 86px 46px;
        border-top: 1px solid var(--line);
        border-left: 0;
      }
      .preview-card-free .vote-action { padding: 10px 14px 8px; gap: 6px; }
      .preview-card-free .vote-action .action-metric strong { font-size: 34px; }
      .preview-card-free .like-action { min-height: 46px; }
    }
    @media (max-width: 520px) {
      .preview-card-free .game-row,
      .preview-card-free .game-row.has-reward-badge { grid-template-columns: 42px minmax(0, 1fr); }
      .preview-card-free .game-banner-frame { height: 132px; min-height: 132px; }
      .preview-card-free .game-info,
      .preview-card-free .game-row.has-reward-badge .game-info { padding: 15px 14px 17px; }
      .preview-card-free .game-name { font-size: 18px; }
    }
    @media (max-width: 820px) {
      .preview-ranking-v2 .game-row,
      .preview-ranking-v2 .game-row.has-reward-badge {
        min-height: 0;
        grid-template-columns: 52px minmax(0, 1fr);
        grid-template-areas: "rank banner" "rank info" "actions actions";
      }
      .preview-ranking-v2 .game-banner-frame { grid-area: banner; height: 150px; min-height: 150px; border-right: 0; }
      .preview-ranking-v2 .game-banner { height: 100%; min-height: 0; }
      .preview-ranking-v2 .game-info,
      .preview-ranking-v2 .game-row.has-reward-badge .game-info { grid-area: info; padding: 18px 18px 19px; }
      .preview-ranking-v2 .game-description,
      .preview-ranking-v2 .game-row.has-reward-badge .game-description { margin: 8px 0 0; }
      .preview-ranking-v2 .game-meta { margin-top: 12px; }
      .preview-ranking-v2 .game-actions {
        grid-area: actions;
        min-height: 132px;
        grid-template-rows: 86px 46px;
        border-top: 1px solid var(--line);
        border-left: 0;
      }
      .preview-ranking-v2 .vote-action { padding: 10px 14px 8px; gap: 6px; }
      .preview-ranking-v2 .vote-action .action-metric strong { font-size: 34px; }
      .preview-ranking-v2 .like-action { min-height: 46px; }
    }
    @media (max-width: 520px) {
      .preview-ranking-v2 .game-row,
      .preview-ranking-v2 .game-row.has-reward-badge { grid-template-columns: 42px minmax(0, 1fr); }
      .preview-ranking-v2 .game-banner-frame { height: 132px; min-height: 132px; }
      .preview-ranking-v2 .game-info,
      .preview-ranking-v2 .game-row.has-reward-badge .game-info { padding: 15px 14px 17px; }
      .preview-ranking-v2 .game-name { font-size: 18px; }
    }

    .sponsored { min-height: 88px; margin: 0; padding: 15px 24px 15px 78px; border-bottom: 1px solid var(--line); border-radius: 0; }
    .search-result { grid-template-columns: 116px 1fr; min-height: 70px; }
    .search-banner { width: 116px; height: 58px; border-radius: 5px; object-fit: cover; }

    .dialog-cover { height: 210px; }
    .dialog-cover :is(img, video) { width: 100%; height: 100%; padding: 0; object-fit: cover; object-position: var(--banner-detail-x, 50%) var(--banner-detail-y, 50%); transform: scale(var(--banner-detail-zoom, 1)); transform-origin: var(--banner-detail-x, 50%) var(--banner-detail-y, 50%); }
    .dialog-cover video { display: block; }
    .dialog-stats { gap: 18px; }
    .dialog-like { color: var(--coral); }
    .dialog-actions .button-primary { background: var(--orange); color: #160b03; }

    .details-rating {
      width: 100%;
      margin: 0 0 24px;
      padding: 14px 16px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 18px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: rgba(255,255,255,.018);
      color: var(--text);
      text-align: left;
      cursor: pointer;
    }
    .details-rating:hover { border-color: var(--gold); background: var(--gold-soft); }
    .details-rating strong, .details-rating small { display: block; }
    .details-rating strong { display: flex; align-items: center; gap: 7px; font-size: 15px; }
    .details-rating strong svg { width: 18px; color: var(--gold); fill: currentColor; }
    .details-rating small { margin-top: 4px; color: var(--muted); font-size: 12px; }
    .details-rating > span:first-child { min-width: 0; flex: 1; }
    .details-rating-action { flex: 0 0 auto; color: var(--orange); font-size: 13px; font-weight: 700; }
    .details-rating-breakdown { margin-top: 12px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
    .details-rating-breakdown span { padding: 8px; border: 1px solid var(--line); border-radius: 6px; text-align: center; }
    .details-rating-breakdown b, .details-rating-breakdown em { display: block; }
    .details-rating-breakdown b { color: var(--gold); font-size: 14px; }
    .details-rating-breakdown em { margin-top: 3px; color: var(--muted); font-size: 9px; font-style: normal; }

    #details-dialog.owner-view { width: min(940px, calc(100% - 32px)); }
    #details-dialog.owner-view .dialog-body { padding-top: 54px; }
    #details-dialog.owner-view .dialog-cover,
    #details-dialog.owner-view .details-summary,
    #details-dialog.owner-view .details-community-row,
    #details-dialog.owner-view .details-vote-panel,
    #details-dialog.owner-view .details-outbound-actions,
    #details-dialog.owner-view .details-sponsored,
    #details-dialog.owner-view .details-about,
    #details-dialog.owner-view .details-footer-links,
    #details-dialog.owner-view .dialog-top { display: none !important; }
    #details-dialog.owner-view .owner-metrics { margin-top: 0; }
    .owner-topo-linha { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-top: 5px; }
    .owner-topo-linha strong { margin-top: 0; }
    .owner-topo-plano { padding: 3px 9px; border-radius: 999px; background: rgba(255,135,46,.14); color: #ffa95f; font-size: 11px; font-weight: 800; }
    .owner-metrics {
      margin: 20px 0 0;
      display: grid;
      gap: 14px;
    }
    .owner-topo { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
    .owner-topo > span:first-child { min-width: 0; }
    .owner-topo small { display: block; color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
    .owner-topo strong { display: block; margin-top: 5px; font-size: 22px; }
    .owner-topo-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
    .owner-public-link, .owner-public-back { min-height: 34px; padding: 0 12px; border: 1px solid rgba(255,135,46,.38); border-radius: 6px; background: rgba(255,135,46,.07); color: var(--orange); font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
    .owner-edit-link { min-height: 34px; padding: 0 12px; border: 1px solid var(--line-strong); border-radius: 6px; background: transparent; color: var(--text); font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
    .owner-edit-link:hover { border-color: #7d8a8d; }
    .owner-public-back { margin: 18px 0 0; }
    .owner-public-link:hover, .owner-public-back:hover { border-color: var(--orange); background: rgba(255,135,46,.12); }
    .owner-sandbox-note { margin: 0; padding: 10px 12px; border: 1px solid rgba(255,135,46,.35); border-radius: 7px; background: rgba(255,135,46,.07); color: var(--muted); font-size: 12px; line-height: 1.45; }
    .owner-sandbox-note strong { color: var(--orange); }
    .owner-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 10px; }
    .owner-metric { padding: 13px 14px; border-radius: 9px; background: #161b1e; }
    .owner-metric strong, .owner-metric small { display: block; }
    .owner-metric small { color: var(--muted); font-size: 11px; }
    .owner-metric strong { margin-top: 4px; color: var(--text); font-size: 25px; line-height: 1.1; font-variant-numeric: tabular-nums; }
    .owner-metric:first-child strong { color: var(--orange); }
    .owner-metric em { display: block; margin-top: 4px; color: var(--muted); font-size: 11px; font-style: normal; line-height: 1.4; }
    .owner-metric-extra { margin: 8px 0 0; color: var(--muted); font-size: 11.5px; }

    .owner-secao { margin: 4px 0 0; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
    .owner-divulgacao { display: grid; gap: 10px; }
    .owner-saldo { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; padding: 11px 14px; border: 1px solid var(--line); border-radius: 9px; }
    .owner-saldo p { margin: 0; color: var(--muted); font-size: 12.5px; }
    .owner-saldo b { color: var(--text); font-size: 18px; vertical-align: -1px; }
    .owner-saldo span { color: var(--text); }
    .owner-botao { padding: 7px 13px; border: 1px solid var(--line-strong); border-radius: 7px; background: transparent; color: var(--text); font: inherit; font-size: 12px; cursor: pointer; }
    .owner-botao:hover { border-color: #7d8a8d; }

    .owner-aba { border: 1px solid var(--line); border-radius: 11px; background: var(--surface); }
    .owner-aba.aberta { border-color: rgba(255,135,46,.45); }
    .owner-aba-topo { width: 100%; padding: 14px 15px; display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; background: none; border: 0; color: inherit; font: inherit; text-align: left; cursor: pointer; }
    .owner-aba-nome { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; font-size: 15px; }
    .owner-pastilha { padding: 2px 9px; border-radius: 999px; font-size: 11px; font-weight: 800; background: rgba(255,255,255,.08); color: var(--muted); }
    .owner-pastilha.no-ar { background: rgba(101,216,120,.16); color: #65d878; }
    .owner-pastilha.parada { background: rgba(255,96,84,.15); color: var(--coral); }
    .owner-aba-acao { flex: 0 0 auto; padding: 5px 11px; border: 1px solid var(--line-strong); border-radius: 7px; color: var(--muted); font-size: 12px; }
    .owner-aba-corpo { padding: 0 15px 15px; }
    .owner-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(126px, 1fr)); gap: 1px; border-radius: 8px; overflow: hidden; background: var(--line); }
    .owner-kpis:empty { display: none; }
    .owner-kpi { padding: 13px 14px; background: var(--surface); }
    .owner-kpi b, .owner-kpi small { display: block; }
    .owner-kpi b { color: var(--orange); font-size: 23px; line-height: 1.1; font-variant-numeric: tabular-nums; }
    .owner-kpi small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .owner-aba-linha { margin: 9px 0 0; color: var(--muted); font-size: 11.5px; line-height: 1.5; }
    .owner-aba-linha:empty { display: none; }
    .owner-aba-editor { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--line); }
    .owner-aba-botao { margin-top: 12px; }
    #aviso-reforma-dialog { width: min(620px, calc(100% - 32px)); }
    .aviso-reforma-selo { margin: 0 0 6px; color: var(--orange); font-size: 11px; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }
    .aviso-reforma-exemplo { margin: 16px 0 18px; padding: 12px; display: grid; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); pointer-events: none; }
    .aviso-reforma-exemplo .owner-kpis { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .aviso-reforma-exemplo .owner-kpi { padding: 10px 11px; }
    .aviso-reforma-exemplo .owner-kpi b { font-size: 19px; }
    @media (max-width: 520px) { .aviso-reforma-exemplo .owner-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
    .aviso-reforma-ritmos { display: flex; gap: 6px; margin-top: 10px; }
    .aviso-reforma-ritmos span { flex: 1; padding: 7px 8px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: 11.5px; text-align: center; }
    .aviso-reforma-ritmos .marcado { border: 2px solid var(--orange); color: var(--text); }
    .aviso-reforma-botao { width: 100%; }
    .aviso-reforma-acoes { display: grid; gap: 9px; margin-top: 18px; }
    #aviso-reforma-passo-2 { text-align: center; }
    .owner-sub { margin: 10px 0 0; color: #dfe3e4; font-size: 13px; font-weight: 700; }
    .owner-lista { display: grid; gap: 10px; }
    .owner-aba.parada { opacity: .82; }
    .owner-aba-topo.is-estatico { cursor: default; }
    .owner-pastilha.melhor { background: rgba(224,179,86,.16); color: var(--gold); }
    .owner-vazio { margin: 0; padding: 13px 14px; border: 1px dashed var(--line-strong); border-radius: 9px; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
    .owner-criar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
    .owner-criar button { padding: 8px 14px; border: 1px dashed var(--line-strong); border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 13px; cursor: pointer; }
    .owner-criar button:hover:not(:disabled) { border-color: var(--orange); color: var(--orange); }
    .owner-criar button:disabled { color: #6d7b7e; border-color: #3a4245; cursor: not-allowed; }
    .owner-criar small { color: #7d8a8d; font-size: 11px; }
    .owner-arte { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 10px; border: 1px solid var(--line); border-radius: 9px; background: var(--bg); }
    .owner-arte > small { flex: 1 1 160px; color: var(--muted); font-size: 11px; }
    .owner-arte-capa { flex: 0 0 auto; width: 120px; height: 48px; overflow: hidden; border-radius: 5px; background: #243033; display: grid; place-items: center; }
    .owner-arte-capa :is(img, video) { width: 100%; height: 100%; object-fit: cover; display: block; }
    .owner-arte-arquivo { padding: 0 6px; color: var(--muted); font-size: 10px; text-align: center; overflow-wrap: anywhere; }
    .owner-arte-texto { flex: 1 1 180px; min-width: 0; }
    .owner-arte-texto strong { display: block; font-size: 13px; }
    .owner-arte-texto small { display: block; margin-top: 3px; color: var(--muted); font-size: 11px; overflow-wrap: anywhere; }
    .owner-trocar { display: flex; align-items: flex-end; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
    .owner-trocar .owner-campo { flex: 1 1 240px; margin-top: 0; }
    .owner-campo { display: grid; gap: 5px; margin-top: 12px; color: var(--muted); font-size: 11px; }
    .owner-campo :is(input, textarea) { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--bg); color: var(--text); font: inherit; font-size: 13px; resize: vertical; }
    .owner-campo :is(input, textarea):focus { outline: 2px solid rgba(255,135,46,.5); outline-offset: 1px; }
    .owner-anuncio-no-ar { padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--bg); }
    .owner-anuncio-no-ar small { display: block; color: var(--muted); font-size: 11px; }
    .owner-anuncio-no-ar strong { display: block; margin-top: 3px; font-size: 14px; }
    .owner-anuncio-no-ar span { display: block; margin-top: 3px; color: #dfe3e4; font-size: 12.5px; line-height: 1.5; }
    .owner-editor-rotulo { margin: 16px 0 8px; font-size: 13px; }
    .owner-editor-vazio { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
    .owner-criativos { display: grid; gap: 8px; }
    .owner-criativo { margin-top: 0; }
    .owner-escolhas { display: grid; gap: 8px; }
    .owner-escolha { display: flex; align-items: center; gap: 12px; width: 100%; padding: 11px 13px; border: 1px solid var(--line); border-radius: 9px; background: var(--bg); color: inherit; font: inherit; text-align: left; cursor: pointer; }
    .owner-escolha:hover { border-color: var(--line-strong); }
    .owner-escolha[aria-checked="true"] { border: 2px solid var(--orange); padding: 10px 12px; }
    .owner-bolinha { flex: 0 0 auto; width: 16px; height: 16px; border: 2px solid var(--line-strong); border-radius: 50%; }
    .owner-escolha[aria-checked="true"] .owner-bolinha { border-color: var(--orange); background: radial-gradient(circle, var(--orange) 0 44%, transparent 45%); }
    .owner-escolha-texto { flex: 1 1 auto; min-width: 0; }
    .owner-escolha-texto strong { display: block; font-size: 13px; }
    .owner-escolha-texto small { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }
    .owner-escolha-conta { flex: 0 0 auto; text-align: right; color: var(--muted); font-size: 11px; }
    .owner-escolha-conta b { display: block; color: var(--text); font-size: 12px; }
    .owner-editor-acoes { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); display: flex; gap: 10px; flex-wrap: wrap; }

    .owner-ferramentas { display: flex; gap: 9px; flex-wrap: wrap; padding-top: 4px; }
    .owner-ferramenta { padding: 9px 14px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: #dfe3e4; font: inherit; font-size: 13px; cursor: pointer; }
    .owner-ferramenta:hover { border-color: var(--line-strong); }
    .owner-editor-back { margin: -6px 0 18px; padding: 0; border: 0; background: transparent; color: var(--orange); font: inherit; font-size: 12px; font-weight: 750; cursor: pointer; }
    .owner-daily { margin: 16px 0 4px; padding: 14px 15px 8px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.015); }
    .owner-daily-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 6px; }
    .owner-daily-head strong { display: block; font-size: 14px; }
    .owner-daily-head small { display: block; margin-top: 2px; color: var(--muted); font-size: 12px; }
    .owner-daily-volta { text-align: right; font-size: 12.5px; color: var(--muted); max-width: 300px; }
    .owner-daily-volta b { display: block; color: var(--text); font-size: 20px; line-height: 1.2; }
    .owner-daily-volta.e-normal b { color: var(--gold); }
    .owner-daily-volta.e-otima b { color: #65d878; }
    .owner-daily-tela { position: relative; }
    .owner-daily-dica { position: absolute; z-index: 3; padding: 6px 9px; border: 1px solid var(--line-strong); border-radius: 6px; background: var(--surface-strong); font-size: 12px; white-space: nowrap; pointer-events: none; opacity: 0; transform: translate(-50%, -118%); transition: opacity .12s ease; }
    .owner-daily-dica.aparece { opacity: 1; }
    .owner-daily-dica em { display: block; color: var(--muted); font-size: 11px; font-style: normal; }
    .owner-daily-rodape { margin-top: 11px; padding-top: 11px; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; border-top: 1px solid var(--line); }
    .owner-daily-pe { flex: 1 1 320px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
    .owner-fidelidade-link { flex: 0 0 auto; color: var(--orange); font-size: 12px; font-weight: 750; text-decoration: none; }
    .owner-fidelidade-link:hover { text-decoration: underline; }
    .owner-achievements { padding: 16px; border: 1px solid rgba(255,135,46,.32); border-radius: 8px; background: linear-gradient(135deg, rgba(255,135,46,.08), transparent 44%), #111617; }
    .owner-achievements-head { display: flex; justify-content: space-between; align-items: end; gap: 18px; }
    .owner-achievements-head span:first-child { min-width: 0; }
    .owner-achievements-head strong, .owner-achievements-head small { display: block; }
    .owner-achievements-head strong { font-size: 16px; }
    .owner-achievements-head small { margin-top: 4px; color: var(--muted); font-size: 11px; line-height: 1.4; }
    .owner-achievements-count { flex: 0 0 auto; color: var(--orange); font-size: 12px; font-weight: 850; }
    .owner-achievements-progress { height: 4px; margin-top: 12px; overflow: hidden; border-radius: 999px; background: #252c2e; }
    .owner-achievements-progress span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff7a1a, #ffb45f); transition: width .25s ease; }
    .owner-achievement-list { margin-top: 12px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
    .owner-achievement { min-height: 114px; padding: 12px; display: grid; grid-template-columns: auto 1fr; align-content: start; gap: 8px 10px; border: 1px solid var(--line); border-radius: 7px; background: rgba(8,12,13,.7); }
    .owner-achievement.is-complete { border-color: rgba(90,194,127,.34); background: rgba(33,102,58,.08); }
    .owner-achievement-icon { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid #4a5254; border-radius: 50%; color: var(--muted); font-size: 12px; font-weight: 900; }
    .owner-achievement.is-complete .owner-achievement-icon { border-color: #58ad76; background: rgba(63,158,96,.16); color: #77d597; }
    .owner-achievement-copy strong, .owner-achievement-copy small { display: block; }
    .owner-achievement-copy strong { font-size: 12px; }
    .owner-achievement-copy small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
    .owner-achievement-footer { grid-column: 1 / -1; align-self: end; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
    .owner-achievement-reward { color: var(--orange); font-size: 10px; font-weight: 850; }
    .owner-achievement.is-complete .owner-achievement-reward { color: #77d597; }
    .owner-achievement-state { color: var(--muted); font-size: 9px; }
    #partnership-dialog { width: min(980px, calc(100% - 32px)); }
    .partnership-shell { display: grid; gap: 18px; }
    .partnership-head { padding: 4px 44px 0 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 28px; }
    .partnership-head h2 { margin: 0; font-size: 32px; line-height: 1.06; }
    .partnership-head p { max-width: 610px; margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
    .partnership-game { flex: 0 0 auto; padding: 10px 12px; display: block; border: 1px solid var(--line); border-radius: 7px; background: #111617; text-align: right; }
    .partnership-game small, .partnership-game strong { display: block; }
    .partnership-game small { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .08em; }
    .partnership-game strong { margin-top: 4px; font-size: 13px; }
    .partnership-journey { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); overflow: hidden; border: 1px solid var(--line-strong); border-radius: 8px; background: #111617; }
    .partnership-step { min-height: 78px; padding: 14px 16px; display: grid; grid-template-columns: 30px 1fr; align-items: center; gap: 11px; border-left: 1px solid var(--line); }
    .partnership-step:first-child { border-left: 0; }
    .partnership-step b { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid #4a5254; border-radius: 50%; color: var(--muted); font-size: 10px; }
    .partnership-step strong, .partnership-step small { display: block; }
    .partnership-step strong { font-size: 12px; }
    .partnership-step small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; }
    .partnership-step.is-active { background: linear-gradient(120deg, rgba(255,135,46,.13), transparent 68%); }
    .partnership-step.is-active b { border-color: var(--orange); background: rgba(255,135,46,.12); color: var(--orange); }
    .partnership-layout { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(250px,.75fr); gap: 12px; }
    .partnership-readiness, .partnership-channel-card, .partnership-apply, .partnership-form-panel { border: 1px solid var(--line-strong); border-radius: 8px; background: #111617; }
    .partnership-readiness { padding: 18px; }
    .partnership-section-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 18px; }
    .partnership-section-head strong, .partnership-section-head small { display: block; }
    .partnership-section-head strong { font-size: 17px; }
    .partnership-section-head small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.4; }
    .partnership-score { flex: 0 0 auto; color: var(--orange); font-size: 12px; font-weight: 850; }
    .partnership-progress { height: 5px; margin: 13px 0 8px; overflow: hidden; border-radius: 999px; background: #252c2e; }
    .partnership-progress span { display: block; width: 78%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #ff7819, #ffb15b); }
    .partnership-checklist { margin-top: 14px; display: grid; gap: 7px; }
    .partnership-check { min-height: 49px; padding: 9px 11px; display: grid; grid-template-columns: 25px minmax(0,1fr) auto; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 7px; background: rgba(7,11,12,.55); }
    .partnership-check-mark { width: 25px; height: 25px; display: grid; place-items: center; border: 1px solid #4a5254; border-radius: 50%; color: var(--muted); font-size: 11px; font-weight: 900; }
    .partnership-check.is-complete .partnership-check-mark { border-color: #58ad76; background: rgba(63,158,96,.16); color: #77d597; }
    .partnership-check-copy strong, .partnership-check-copy small { display: block; }
    .partnership-check-copy strong { font-size: 11px; }
    .partnership-check-copy small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.35; }
    .partnership-check-state { color: #77d597; font-size: 9px; font-weight: 800; }
    .partnership-check:not(.is-complete) .partnership-check-state { color: var(--orange); }
    .partnership-channel-card { padding: 20px; display: grid; align-content: space-between; gap: 24px; border-color: rgba(255,135,46,.43); background: radial-gradient(circle at 88% 4%, rgba(255,135,46,.2), transparent 38%), #111617; }
    .partnership-channel-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid var(--orange); border-radius: 50%; color: var(--orange); }
    .partnership-channel-icon svg { width: 19px; height: 19px; fill: currentColor; }
    .partnership-channel-card h3 { margin: 16px 0 7px; font-size: 21px; }
    .partnership-channel-card p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
    .partnership-channel-card .button { width: 100%; }
    .partnership-apply { padding: 18px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
    .partnership-apply strong, .partnership-apply small { display: block; }
    .partnership-apply strong { font-size: 16px; }
    .partnership-apply small { max-width: 610px; margin-top: 5px; color: var(--muted); font-size: 10px; line-height: 1.45; }
    .partnership-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 9px; }
    .partnership-form-panel { padding: 20px; }
    .partnership-form-intro { margin-bottom: 18px; padding-bottom: 15px; border-bottom: 1px solid var(--line); }
    .partnership-form-intro strong, .partnership-form-intro small { display: block; }
    .partnership-form-intro strong { font-size: 18px; }
    .partnership-form-intro small { margin-top: 5px; color: var(--muted); font-size: 11px; line-height: 1.45; }
    .partnership-form-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
    .partnership-form-grid .field-full { grid-column: 1 / -1; }
    .partnership-form-grid textarea { min-height: 105px; }
    .input-suffix { position: relative; }
    .input-suffix input { width: 100%; padding-right: 42px; }
    .input-suffix span { position: absolute; top: 50%; right: 14px; color: var(--muted); font-size: 12px; transform: translateY(-50%); pointer-events: none; }
    .partnership-context-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
    .partnership-context-grid textarea { min-height: 92px; }
    .partnership-disclaimer { margin: 16px 0 0; padding: 12px 14px; border-left: 2px solid var(--orange); background: rgba(255,135,46,.06); color: var(--muted); font-size: 10px; line-height: 1.5; }
    .partnership-status { margin-bottom: 16px; padding: 12px 14px; border: 1px solid rgba(255,135,46,.36); border-radius: 7px; background: rgba(255,135,46,.07); color: #e8ecec; font-size: 11px; line-height: 1.5; }
    .partnership-status strong { color: var(--orange); }
    .partnership-contact { color: var(--muted); font-size: 10px; line-height: 1.45; }
    .partnership-contact a { color: var(--orange); }
    .partnership-form-actions { margin-top: 17px; display: flex; justify-content: space-between; gap: 10px; }
    #monetization-dialog { width: min(960px, calc(100% - 32px)); }
    .monetization-plan, .monetization-card, .monetization-activity {
      border: 1px solid var(--line-strong);
      border-radius: 8px;
      background: #111618;
    }
    .monetization-grid { margin-top: 14px; display: grid; grid-template-columns: 1.35fr .65fr; gap: 14px; }
    .monetization-card { min-height: 0; padding: 20px; }
    .monetization-card h3 { margin: 0 0 5px; font-size: 19px; }
    .monetization-card-intro { margin: 0 0 17px; color: var(--muted); font-size: 12px; }
    .monetization-campaign-focus { border-color: rgba(255,135,46,.42); }
    .promo-options { margin-top: 14px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .promo-option { display: grid; align-content: start; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 10px; }
    .promo-option.is-active { border-color: var(--orange); box-shadow: inset 0 0 0 1px rgba(255,135,46,.25); }
    .promo-option header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
    .promo-active { color: var(--orange); font-size: 11.5px; font-weight: 700; }
    .promo-option dl { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
    .promo-option dt { color: var(--muted); font-size: 11px; }
    .promo-option dd { margin: 2px 0 0; font-size: 18px; font-weight: 800; font-variant-numeric: tabular-nums; }
    .promo-option small { display: block; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .promo-option .button { justify-self: start; }
    .promo-note { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
    @media (max-width: 640px) { .promo-options { grid-template-columns: 1fr; } }
    .campaign-kpis { margin-top: 18px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 7px; }
    .campaign-kpis span { padding: 14px 16px; border-right: 1px solid var(--line); }
    .campaign-kpis span:last-child { border-right: 0; }
    .campaign-kpis strong, .campaign-kpis small { display: block; }
    .campaign-kpis strong { color: var(--orange); font-size: 25px; }
    .campaign-kpis small { margin-top: 3px; color: var(--muted); font-size: 11px; }
    .campaign-priority { margin-left: auto; color: var(--muted); font-size: 10px; text-align: right; }
    .campaign-priority strong { display: block; color: var(--orange); font-size: 18px; }
    .campaign-delivery-controls { margin-top: 14px; display: flex; flex-wrap: wrap; align-items: end; gap: 10px; }
    .campaign-delivery-controls label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; flex: 1 1 140px; }
    .campaign-delivery-controls input, .campaign-delivery-controls select { min-height: 40px; }
    .campaign-delivery-controls button { flex: 0 0 auto; }
    .campaign-delivery-hint { display: block; margin-top: 7px; color: var(--orange); font-size: 11px; font-weight: 700; }
    .campaign-creative-test, .campaign-placement-results { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--line); }
    .campaign-creative-test > div:first-child strong, .campaign-creative-test > div:first-child small { display: block; }
    .campaign-creative-test > div:first-child small { margin-top: 4px; color: var(--muted); font-size: 10px; }
    .campaign-creative { margin-top: 10px; padding: 9px; display: grid; grid-template-columns: 100px minmax(0,1fr) auto; align-items: center; gap: 11px; border: 1px solid var(--line); border-radius: 8px; background: #111617; }
    .campaign-creative-thumb { width: 100px; height: 42px; display: block; overflow: hidden; border-radius: 5px; background: #090c0d; }
    .campaign-creative-thumb :is(img, video) { width: 100%; height: 100%; display: block; object-fit: cover; object-position: var(--campaign-x, 50%) var(--campaign-y, 50%); transform: scale(var(--campaign-zoom, 1)); transform-origin: var(--campaign-x, 50%) var(--campaign-y, 50%); filter: none; }
    .campaign-creative-actions { display: grid; gap: 6px; }
    .campaign-focus-editor { grid-column: 1 / -1; margin-top: 2px; }
    .campaign-focus-save { grid-column: 1 / -1; justify-self: start; }
    .campaign-creative span strong, .campaign-creative span small { display: block; }
    .campaign-creative span small { margin-top: 4px; color: var(--muted); font-size: 10px; }
    .campaign-creative.is-empty img { opacity: .35; filter: grayscale(1); }
    .campaign-creative-destination { grid-column: 1 / -1; display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 750; }
    .campaign-creative-destination input { min-height: 38px; }
    .campaign-destination-save { margin-top: 10px; }
    .campaign-placement-results > strong { display: block; margin-bottom: 9px; }
    .campaign-auto-delivery-note { display: block; margin: -4px 0 10px; color: var(--orange); font-size: 11px; line-height: 1.45; }
    .monetization-credits-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
    .credit-balance { min-height: 0; display: flex; align-items: center; gap: 10px; }
    .credit-coin { width: 34px; height: 34px; flex: 0 0 34px; display: grid; place-items: center; border: 1px solid #ffb265; border-radius: 50%; background: rgba(255,135,46,.14); color: var(--orange); font-size: 15px; font-weight: 900; }
    .credit-value strong, .credit-value span { display: block; }
    .credit-value strong { color: var(--orange); font-size: 25px; line-height: 1; }
    .credit-value span { margin-top: 4px; color: var(--muted); font-size: 10px; }
    .monetization-actions { margin-top: 18px; display: grid; gap: 9px; }
    .monetization-actions .button { width: 100%; }
    .monetization-benefits { margin-top: 14px; padding: 0; border: 1px solid var(--line-strong); border-radius: 8px; background: #111618; }
    .monetization-benefits h3 { margin: 0; padding: 15px 18px 0; color: var(--muted); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
    .monetization-benefit-grid { margin-top: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); }
    .monetization-benefit { min-height: 0; padding: 0 18px 17px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: none; }
    .monetization-benefit:last-child { border-right: 0; }
    .monetization-benefit strong, .monetization-benefit span { display: block; }
    .monetization-benefit strong { margin-bottom: 4px; color: var(--text); font-size: 12px; }
    .monetization-benefit span { color: var(--muted); font-size: 10px; line-height: 1.4; }
    .monetization-benefit-main { border-color: var(--line); box-shadow: none; }
    .monetization-plan { margin-top: 14px; padding: 15px 18px; display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 24px; }
    .monetization-brand { display: flex; align-items: center; gap: 15px; }
    .monetization-crown { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid rgba(255,135,46,.6); border-radius: 50%; color: var(--orange); }
    .monetization-crown svg { width: 19px; }
    .monetization-brand strong, .monetization-brand b, .monetization-renewal strong, .monetization-renewal span { display: block; }
    .monetization-brand strong { margin-bottom: 3px; font-size: 14px; }
    .monetization-brand b { color: var(--muted); font-size: 12px; font-weight: 600; }
    .monetization-brand b small { font-size: inherit; font-weight: inherit; }
    .monetization-plan-choice { min-width: 190px; display: grid; gap: 5px; color: var(--muted); font-size: 10px; }
    .monetization-plan-choice select { min-height: 40px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 7px; background: #101415; color: var(--text); font: inherit; font-size: 12px; }
    .monetization-future-price { display: none; }
    .monetization-renewal { padding-left: 20px; border-left: 1px solid var(--line-strong); }
    .monetization-renewal strong { margin-bottom: 3px; color: #65d878; font-size: 12px; }
    .monetization-renewal span { margin-top: 2px; color: var(--muted); font-size: 10px; }
    #monetization-subscription-action.is-secondary-danger { padding: 0; border: 0; background: none; color: #8f9698; box-shadow: none; font-size: 10px; text-decoration: underline; text-underline-offset: 3px; }
    #monetization-subscription-action.is-secondary-danger:hover { color: #d5d8d9; background: none; }
    .supporter-badge { width: max-content; margin-bottom: 9px; padding: 4px 8px; display: inline-flex; align-items: center; gap: 5px; border: 1px solid rgba(255,135,46,.55); border-radius: 5px; color: #ffb269; background: rgba(255,135,46,.1); font-size: 11px; font-weight: 800; }
    .campaign-head { display: grid; grid-template-columns: 150px minmax(0,1fr); align-items: center; gap: 14px; }
    .campaign-head :is(img, video) { width: 150px; height: 72px; border: 1px solid var(--line-strong); border-radius: 6px; background: #090c0d; object-fit: contain; }
    .campaign-copy strong, .campaign-copy span { display: block; }
    .campaign-copy strong { font-size: 16px; }
    .campaign-copy span { margin-top: 6px; color: #65d878; font-size: 13px; }
    .campaign-progress { height: 9px; overflow: hidden; border-radius: 9px; background: #303638; }
    .campaign-progress span { width: 57%; height: 100%; display: block; border-radius: inherit; background: var(--orange); }
    .campaign-meta { margin-top: 9px; display: flex; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 12px; }
    .campaign-targeting { flex-wrap: wrap; }
    .campaign-debut-badge { color: var(--orange); font-weight: 700; }
    .campaign-change-banner { margin-top: 14px; }
    .campaign-link { margin-top: 20px; padding: 0; border: 0; background: none; color: var(--orange); font-weight: 700; cursor: pointer; }
    .monetization-pix-action { width: 100%; margin-top: 8px; }
    .monetization-activity { margin-top: 14px; padding: 0; }
    .monetization-activity summary { padding: 15px 18px; color: var(--muted); font-size: 12px; font-weight: 700; cursor: pointer; }
    .monetization-activity[open] summary { border-bottom: 1px solid var(--line); color: var(--text); }
    .monetization-activity-table { padding: 5px 18px 12px; overflow-x: auto; }
    .activity-table { width: 100%; border-collapse: collapse; font-size: 13px; }
    .activity-table th, .activity-table td { padding: 11px 12px; border-bottom: 1px solid var(--line); text-align: left; }
    .activity-table th { color: var(--muted); font-weight: 500; }
    .activity-table tr:last-child td { border-bottom: 0; }
    .activity-status { color: #65d878; }
    .activity-status.running, .activity-cost { color: var(--orange); }
    .monetization-note { margin: 17px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
    #credit-purchase-dialog { width: min(560px, calc(100% - 24px)); }
    .credit-purchase-summary { margin: 18px 0; padding: 14px 16px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border: 1px solid rgba(255,135,46,.38); border-radius: 8px; background: rgba(255,135,46,.045); }
    .credit-purchase-summary span, .credit-purchase-summary strong { display: block; }
    .credit-purchase-summary span { color: var(--muted); font-size: 12px; }
    .credit-purchase-summary strong { margin-top: 3px; color: var(--orange); font-size: 21px; }
    .credit-purchase-bonus { margin-top: 4px; color: #ffd1ae !important; font-size: 11px !important; font-weight: 700; }
    .credit-purchase-volume-hint { margin-top: 4px; color: var(--orange) !important; font-size: 11px !important; font-weight: 700; }
    .credit-promo { margin: 12px 0 0; padding: 11px 13px; border: 1px solid rgba(255,135,46,.48); border-radius: 8px; background: linear-gradient(110deg, rgba(255,135,46,.16), rgba(255,135,46,.04)); color: #ffd1ae; font-size: 12px; line-height: 1.45; }
    .credit-promo strong { color: #fff; }
    .credit-recurring-toggle { margin-top: 16px; display: flex; gap: 10px; align-items: flex-start; padding: 12px 13px; border: 1px solid var(--line); border-radius: 8px; cursor: pointer; }
    .credit-recurring-toggle input { margin-top: 2px; flex: none; }
    .credit-recurring-toggle span { display: grid; gap: 3px; }
    .credit-recurring-toggle strong { font-size: 13px; }
    .credit-recurring-toggle small { color: var(--muted); font-size: 11px; line-height: 1.45; }
    .credit-plan-active { margin-top: 12px; padding: 12px 13px; border: 1px solid rgba(101,216,120,.4); border-radius: 8px; background: rgba(101,216,120,.06); font-size: 12px; line-height: 1.5; }
    .credit-plan-active strong { color: #65d878; }
    .credit-plan-active button { margin-top: 8px; padding: 0; border: 0; background: none; color: #8f9698; font-size: 10px; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
    .credit-payment-actions { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    .credit-payment-security { margin: 14px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
    .checkout-terms { margin: 10px 0 0; color: var(--muted); font-size: 11px; line-height: 1.5; }
    .checkout-terms a { color: var(--muted); text-decoration: underline; text-underline-offset: 2px; }
    .checkout-terms a:hover { color: var(--text); }
    .credit-pix-result { text-align: center; }
    /* 280px é o tamanho testado no celular: a 210px cada módulo ficava com 3,96px, abaixo dos
       4px que a câmera precisa, e a leitura demorava. Maior que isso atrapalha o enquadramento. */
    .credit-pix-result img { width: min(280px, 74vw); height: auto; aspect-ratio: 1; margin: 18px auto 12px; padding: 10px; display: block; border-radius: 9px; background: #fff; }
    #campaign-dialog { width: min(760px, calc(100% - 32px)); }
    .campaign-editor-preview { margin-top: 18px; padding: 12px; border: 1px solid rgba(255,137,44,.28); border-radius: 12px; background: rgba(255,137,44,.04); }
    .campaign-editor-preview .sponsored-discovery { display: grid; min-height: 0; margin: 0; grid-template-columns: 44px minmax(220px, 42%) minmax(180px, 1fr) 140px; }
    .campaign-editor-preview .sponsored-rank-marker small { font-size: 6px; }
    .campaign-editor-preview .sponsored-discovery-copy { padding: 14px 16px; }
    .campaign-editor-preview .sponsored-discovery strong { font-size: 15px; }
    .campaign-editor-preview .sponsored-discovery p { font-size: 11px; }
    .campaign-editor-preview .sponsored-discovery .button { min-width: 0; margin: auto 12px; padding: 0 10px; font-size: 11px; }
    .campaign-editor-note { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .campaign-estimate { margin-top: 12px; padding: 14px; display: grid; grid-template-columns: auto repeat(3,minmax(0,1fr)); align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 9px; background: #111617; }
    .campaign-estimate > strong { color: var(--orange); font-size: 12px; }
    .campaign-estimate span { min-width: 0; padding-left: 12px; border-left: 1px solid var(--line); }
    .campaign-estimate b, .campaign-estimate small { display: block; }
    .campaign-estimate b { font-size: 17px; }
    .campaign-estimate small { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.3; }
    .campaign-estimate-debut { grid-column: 1 / -1; margin: 4px 0 0; padding-top: 10px; border-top: 1px solid var(--line); color: #ffd1ae; font-size: 11px; line-height: 1.45; }
    .admin-campaign-preview { width: 150px; aspect-ratio: 1260/400; object-fit: cover; border-radius: 8px; }
    .pix-payer { margin: 4px 0 0; padding: 10px 12px; border: 1px solid rgba(255,190,90,.34); border-radius: 8px;
      background: rgba(255,190,90,.08); color: #ffd7a1; font-size: 12.5px; line-height: 1.5; text-align: left; }
    .pix-payer.hidden { display: none; }
    .pix-payer strong { color: #fff; }
    .pix-payer button { padding: 0; border: 0; background: none; color: var(--orange); font: inherit; text-decoration: underline; cursor: pointer; }
    .pix-cpf-fix { margin: 10px 0 0; padding: 12px; display: grid; gap: 8px; border: 1px solid var(--line); border-radius: 9px; text-align: left; }
    .pix-cpf-fix.hidden { display: none; }
    .pix-cpf-fix label { color: var(--muted); font-size: 12px; }
    .pix-cpf-fix input { padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: rgba(0,0,0,.2); color: var(--text); font: inherit; }
    .pix-cpf-fix .button { font-size: 13px; }
    .pix-fallback { margin: 14px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .pix-fallback a, .pix-fallback button { padding: 0; border: 0; background: none; color: var(--orange);
      font: inherit; text-decoration: underline; text-underline-offset: 2px; cursor: pointer; }
    .pix-fallback.hidden { display: none; }
    .credit-pix-result .field { text-align: left; }
    .credit-pix-result textarea { min-height: 76px; font-size: 11px; overflow-wrap: anywhere; }
    .credit-pix-status { margin: 13px 0 0; color: #ffbc7d; font-size: 13px; font-weight: 700; }
    .credit-plan-use { margin-top: 14px; padding: 13px 14px; display: flex; align-items: flex-start; flex-direction: column; gap: 11px; border: 1px solid rgba(255,135,46,.28); border-radius: 8px; background: rgba(255,135,46,.045); }
    .credit-plan-use strong, .credit-plan-use span { display: block; }
    .credit-plan-use span { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.45; }
    .credit-plan-use .button { width: 100%; flex: 0 0 auto; }
    /* Apoiar o jogo saiu de vista em 24/09: jogador entendia que ali comprava
       diamante ou cash DENTRO do jogo, e o apoio é para o jogo no TopIdle. O
       fluxo continua inteiro — o dono paga plano por Pix por ele, pelo painel
       de monetização. Para trazer de volta, basta apagar estas duas linhas; mas
       o lugar dele no card agora é do selo de fidelidade (.game-fidelidade). */
    #details-support, .card-support-button { display: none !important; }
    .details-support-button { border-color: rgba(255,135,46,.55); color: #ffd4b4; background: linear-gradient(135deg, rgba(255,135,46,.12), rgba(255,135,46,.035)); }
    .details-support-button:hover { border-color: var(--orange); background: rgba(255,135,46,.16); }
    .support-dialog-body { max-width: 720px; }
    .support-intro { margin: 0 0 18px; color: var(--muted); line-height: 1.65; }
    .support-kind-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
    .support-kind-card { min-height: 112px; padding: 16px; border: 1px solid var(--line); border-radius: 10px; background: #111719; color: var(--text); text-align: left; cursor: pointer; transition: border-color .18s, background .18s, transform .18s; }
    .support-kind-card:hover { transform: translateY(-1px); border-color: rgba(255,135,46,.55); }
    .support-kind-card[aria-pressed="true"] { border-color: var(--orange); background: linear-gradient(135deg, rgba(255,135,46,.14), rgba(255,135,46,.025)); box-shadow: 0 0 24px rgba(255,135,46,.08); }
    .support-kind-card strong, .support-kind-card span { display: block; }
    .support-kind-card strong { margin-bottom: 7px; font-size: 16px; }
    .support-kind-card span { color: var(--muted); font-size: 12px; line-height: 1.55; }
    .support-options { margin-top: 18px; }
    .support-options h3 { margin: 0 0 5px; font-size: 15px; }
    .support-options > p { margin: 0 0 13px; color: var(--muted); font-size: 12px; }
    .support-preset-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 9px; }
    .support-preset, .support-plan { padding: 12px 10px; border: 1px solid var(--line); border-radius: 8px; background: #0e1416; color: var(--text); cursor: pointer; }
    .support-preset[aria-pressed="true"], .support-plan[aria-pressed="true"] { border-color: var(--orange); color: var(--orange); background: rgba(255,135,46,.08); }
    .support-term-grid { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 8px; }
    .support-term-grid button {
      padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface);
      color: var(--muted); font: inherit; font-size: 13px; cursor: pointer;
    }
    .support-term-grid button[aria-pressed="true"] { border-color: var(--orange); background: rgba(255,135,46,.12); color: var(--text); font-weight: 700; }
    .support-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 9px; }
    .support-plan strong, .support-plan small { display: block; }
    .support-plan small { margin-top: 4px; color: var(--muted); }
    .support-custom { margin-top: 10px; }
    .support-summary { margin: 18px 0 0; padding: 13px 15px; display: flex; justify-content: space-between; gap: 16px; align-items: center; border: 1px solid rgba(255,135,46,.3); border-radius: 9px; background: rgba(255,135,46,.045); }
    .support-summary span, .support-summary strong { display: block; }
    .support-summary span { color: var(--muted); font-size: 11px; }
    .support-summary strong { margin-top: 3px; color: var(--orange); font-size: 19px; }
    .support-transparency { margin: 14px 0 0; padding-left: 13px; border-left: 2px solid rgba(255,135,46,.5); color: var(--muted); font-size: 11px; line-height: 1.55; }
    .support-visibility { margin-top: 14px; padding: 12px 13px; display: flex; align-items: flex-start; gap: 10px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.02); cursor: pointer; }
    .support-visibility input { margin-top: 2px; accent-color: var(--orange); }
    .support-visibility strong, .support-visibility small { display: block; }
    .support-visibility strong { font-size: 12px; }
    .support-visibility small { margin-top: 3px; color: var(--muted); font-size: 10px; line-height: 1.45; }
    .support-plan-unavailable { margin-top: 12px; padding: 12px; border-radius: 8px; background: rgba(255,193,76,.07); color: #efc98d; font-size: 12px; line-height: 1.5; }
    .owner-news-button { justify-content: space-between; gap: 14px; }
    .owner-news-count { min-width: 22px; height: 22px; padding: 0 6px; display: inline-grid; place-items: center; border-radius: 999px; background: var(--orange); color: #111; font-size: 10px; font-weight: 900; }
    .news-dialog-body { max-width: 760px; }
    .news-list { margin-top: 22px; display: grid; gap: 10px; }
    .news-item { padding: 17px 18px; display: grid; grid-template-columns: 82px minmax(0,1fr); gap: 16px; border: 1px solid var(--line); border-radius: 9px; background: #111719; }
    .news-item time { color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
    .news-item strong { display: block; font-size: 15px; }
    .news-item p { margin: 6px 0 0; color: var(--muted); font-size: 12px; line-height: 1.55; }
    #admin-payments-dialog { width: min(1500px, calc(100% - 24px)); max-height: calc(100dvh - 24px); }
    #admin-payments-dialog::backdrop { background: rgba(3,5,6,.82); backdrop-filter: blur(4px); }
    .admin-dashboard-body { min-height: calc(100dvh - 26px); padding: 25px; }
    .admin-dashboard-header { padding: 0 58px 18px 0; display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; border-bottom: 1px solid var(--line); }
    .admin-dashboard-header h2 { margin: 0; }
    .admin-dashboard-header p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
    .admin-period-control { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
    .admin-period-control select { min-width: 170px; height: 40px; padding: 0 34px 0 11px; border: 1px solid var(--line-strong); border-radius: 6px; background: #111617; color: var(--text); font: inherit; text-transform: none; letter-spacing: 0; }
    .admin-dashboard-loading { padding: 80px 20px; color: var(--muted); text-align: center; }
    .admin-dashboard-content { padding-top: 16px; display: grid; gap: 14px; }
    .admin-money-summary small { color: var(--muted); font-size: 11px; }
    .admin-fixed-head { display: grid; gap: 14px; }
    .admin-tabs { margin-top: 4px; display: flex; gap: 2px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: thin; }
    .admin-tab { appearance: none; background: none; border: 0; border-bottom: 2px solid transparent; color: var(--muted);
      font: inherit; font-size: 14px; padding: 11px 15px; cursor: pointer; white-space: nowrap; border-radius: 6px 6px 0 0; }
    .admin-tab:hover { color: var(--text); }
    .admin-tab[aria-selected="true"] { color: var(--text); font-weight: 600; border-bottom-color: var(--orange); }
    .admin-tab-count { margin-left: 6px; font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
    .admin-tab-panel { display: grid; gap: 14px; }
    .admin-tab-panel[hidden] { display: none; }
    .admin-panel { min-width: 0; padding: 18px 20px; border: 1px solid var(--line); border-radius: 8px; background: #111617; }
    .admin-panel-head { margin-bottom: 14px; display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
    .admin-panel-head h3 { margin: 0; font-size: 17px; }
    .admin-panel-head p { margin: 4px 0 0; color: var(--muted); font-size: 11px; }
    .admin-game-manager { display: grid; grid-template-columns: minmax(220px,1fr) minmax(170px,220px) auto; align-items: end; gap: 10px; }
    .admin-categorias { margin-bottom: 14px; display: grid; gap: 8px; }
    .admin-categorias > strong { color: var(--orange); font-size: 13px; }
    .admin-categoria-acoes { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
    .admin-categoria-acoes select { height: 38px; padding: 0 10px; border: 1px solid var(--line-strong); border-radius: 8px; background: #0d1213; color: var(--text); font: inherit; font-size: 13px; }
    .admin-categoria-item { padding: 10px 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); }
    .admin-categoria-item span { display: grid; gap: 3px; font-size: 13px; }
    .admin-categoria-item small { color: var(--muted); font-size: 12px; }
    .tema-exemplos { margin-top: 7px; display: flex; flex-wrap: wrap; gap: 6px; }
    .tema-exemplos button { padding: 4px 9px; border: 1px solid var(--line-strong); border-radius: 999px; background: transparent; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; }
    .tema-exemplos button:hover { border-color: var(--orange); color: var(--text); }
    .admin-game-manager label { display: grid; gap: 6px; color: var(--muted); font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .5px; }
    .admin-game-manager select { width: 100%; height: 42px; padding: 0 36px 0 12px; border: 1px solid var(--line-strong); border-radius: 6px; background: #0d1213; color: var(--text); font: inherit; text-transform: none; letter-spacing: 0; }
    .admin-campaign-tabs { display: flex; gap: 7px; }
    .admin-campaign-tab { min-height: 34px; padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; background: #0d1213; color: var(--muted); font: inherit; font-size: 11px; font-weight: 750; cursor: pointer; }
    .admin-campaign-tab strong { margin-left: 5px; color: inherit; }
    .admin-campaign-tab[aria-selected="true"] { border-color: rgba(255,135,46,.55); background: rgba(255,135,46,.1); color: var(--orange); }
    .admin-growth-metrics { margin-bottom: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
    .admin-growth-metrics span { text-align: center; }
    .admin-growth-metrics strong, .admin-growth-metrics small { display: block; }
    .admin-growth-metrics strong { color: var(--text); font-size: 22px; }
    .admin-growth-metrics span:first-child strong { color: var(--orange); }
    .admin-growth-metrics small { margin-top: 3px; color: var(--muted); font-size: 10px; }
    .admin-chart { min-height: 225px; overflow: hidden; }
    .admin-chart svg { width: 100%; height: 225px; display: block; overflow: visible; }
    .admin-chart-grid { stroke: #293033; stroke-width: 1; stroke-dasharray: 3 4; }
    .admin-chart-bar { fill: #74797b; opacity: .38; }
    .admin-chart-line { fill: none; stroke: var(--orange); stroke-width: 3; stroke-linecap: round; stroke-linejoin: round; }
    .admin-chart-dot { fill: var(--orange); }
    .admin-chart-label { fill: #858b8e; font-size: 10px; }
    .admin-chart-value { fill: #d8dcdd; font-size: 9px; font-weight: 700; }
    .admin-attention-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(215px, 1fr)); }
    .admin-attention-item { min-height: 52px; padding: 8px 14px 8px 0; display: grid; grid-template-columns: 28px minmax(0,1fr); align-items: center; gap: 10px; color: var(--text); }
    .admin-attention-item + .admin-attention-item { border-left: 1px solid var(--line); padding-left: 14px; }
    .admin-attention-item b { width: 26px; height: 26px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.08); color: var(--muted); font-size: 12px; }
    .admin-attention-item.warning { color: var(--orange); }
    .admin-attention-item.warning b { background: rgba(255,135,46,.12); color: var(--orange); }
    .admin-attention-item.success b { background: rgba(101,216,120,.12); color: #65d878; }
    .admin-attention-item span { font-size: 12px; line-height: 1.35; }
    .admin-data-table { overflow-x: auto; }
    .admin-table-row { min-width: 760px; display: grid; align-items: center; gap: 12px; border-top: 1px solid var(--line); }
    .admin-table-row:first-child { border-top: 0; }
    .admin-table-row.header { min-height: 34px; color: var(--muted); font-size: 10px; }
    .admin-table-row:not(.header) { min-height: 54px; font-size: 12px; }
    .admin-campaign-table .admin-table-row { grid-template-columns: minmax(180px,1.4fr) 80px 90px 75px 65px minmax(120px,.8fr); }
    .admin-partnership-list { display: grid; gap: 9px; }
    .admin-partnership-card { padding: 13px; display: grid; grid-template-columns: minmax(180px,1fr) minmax(170px,.65fr) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 7px; background: #0d1213; }
    .admin-partnership-card strong, .admin-partnership-card small { display: block; }
    .admin-partnership-card small { margin-top: 4px; color: var(--muted); font-size: 10px; }
    .admin-partnership-card select { min-height: 36px; }
    @media (max-width: 720px) { .admin-partnership-card { grid-template-columns: 1fr; } }
    .admin-impact-table .admin-table-row { min-width: 560px; grid-template-columns: minmax(170px,1.4fr) 80px 110px 100px; }
    .admin-status-active { color: #65d878; }
    .admin-credit-copy { display: grid; gap: 5px; }
    .admin-credit-bar { height: 5px; overflow: hidden; border-radius: 5px; background: #303638; }
    .admin-credit-bar i { height: 100%; display: block; background: var(--orange); }
    .admin-money-summary { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-bottom: 1px solid var(--line); }
    .admin-money-summary span { padding: 6px 12px 15px; border-left: 1px solid var(--line); }
    .admin-money-summary span:first-child { padding-left: 0; border-left: 0; }
    .admin-money-summary strong { margin-top: 6px; display: block; color: var(--orange); font-size: 21px; }
    .admin-payout { margin-top: 12px; padding: 12px 14px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: end; gap: 12px; border: 1px solid rgba(255,135,46,.34); border-radius: 8px; background: rgba(255,135,46,.05); }
    .admin-payout-head { grid-column: 1 / -1; }
    .admin-payout-head strong { display: block; font-size: 13px; }
    .admin-payout-head small { display: block; margin-top: 2px; color: var(--muted); font-size: 11px; }
    .admin-payout label { display: grid; gap: 4px; color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .06em; }
    .admin-payout input { height: 38px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 6px; background: #0d1213; color: var(--text); font: inherit; font-variant-numeric: tabular-nums; }
    .admin-payout button { height: 38px; }
    .admin-payout-status { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 12px; min-height: 16px; }
    .admin-finance-note { margin: 10px 0 0; padding: 9px 12px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.015); color: var(--muted); font-size: 12px; }
    .admin-finance-note b { color: var(--text); }
    .admin-finance-wide { margin-top: 14px; }
    .admin-finance-wide h4 { margin: 0 0 7px; font-size: 12px; }
    .admin-finance-rail { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border: 1px solid var(--line); border-radius: 8px; background: #111617; }
    .admin-finance-rail > span { padding: 14px 16px; display: grid; gap: 3px; border-left: 1px solid var(--line); }
    .admin-finance-rail > span:first-child { border-left: 0; }
    .admin-finance-rail small { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
    .admin-finance-rail strong { font-size: 20px; }
    .admin-finance-rail em { color: var(--muted); font-size: 11px; font-style: normal; line-height: 1.4; }
    .admin-finance-rail [data-tom="ok"] strong { color: #70d892; }
    .admin-finance-rail [data-tom="alerta"] strong { color: #ff8f6b; }
    .admin-finance-grid { margin-top: 14px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
    /* Aba Dinheiro (18/09): uma coluna, na ordem em que o dinheiro anda. */
    .admin-finance-flow { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
    .admin-finance-stage { position: relative; padding: 14px 16px; display: grid; align-content: start; gap: 4px; border: 1px solid var(--line); border-radius: 8px; background: #111617; }
    .admin-finance-stage + .admin-finance-stage::before { content: "→"; position: absolute; left: -17px; top: 50%; transform: translateY(-50%); color: var(--line-strong); font-size: 15px; }
    .admin-finance-stage small { color: var(--muted); font-size: 10px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
    .admin-finance-stage strong { font-size: 24px; font-variant-numeric: tabular-nums; }
    .admin-finance-stage[data-tom="ok"] strong { color: #70d892; }
    .admin-finance-stage[data-tom="caindo"] strong { color: var(--text); }
    .admin-finance-stage[data-tom="futuro"] strong { color: var(--muted); }
    .admin-finance-stage > em { color: var(--muted); font-size: 11px; font-style: normal; line-height: 1.4; }
    .admin-finance-stage ul { margin: 8px 0 0; padding: 8px 0 0; list-style: none; display: grid; gap: 4px; border-top: 1px dashed var(--line); font-size: 11.5px; font-variant-numeric: tabular-nums; }
    .admin-finance-stage li { display: grid; grid-template-columns: 42px 64px minmax(0, 1fr); gap: 6px; color: var(--muted); }
    .admin-finance-stage li b { color: var(--text); font-weight: 600; }
    .admin-finance-stage li span:last-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .admin-finance-stage .admin-finance-saldo { margin-top: 6px; color: var(--text); font-size: 12px; }
    .admin-finance-stage .admin-payout { margin-top: 10px; padding: 10px 0 0; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; border: 0; border-top: 1px dashed var(--line); border-radius: 0; background: none; }
    .admin-finance-section { margin-top: 18px; }
    .admin-finance-section > h4, .admin-finance-grid h4 { margin: 0 0 7px; font-size: 12px; }
    .admin-finance-section > h4 span { color: var(--muted); font-weight: 500; }
    .admin-finance-table .admin-finance-plano { display: inline-block; padding: 1px 7px; border-radius: 999px; background: rgba(255,255,255,.06); color: var(--text); font-size: 10px; font-weight: 700; letter-spacing: .4px; }
    .admin-finance-table .admin-finance-plano[data-plano="master"] { background: rgba(255,135,46,.16); color: var(--orange); }
    .admin-finance-miudo { margin-top: 18px; color: var(--muted); font-size: 11.5px; }
    .admin-finance-miudo summary { cursor: pointer; }
    .admin-finance-miudo table { margin-top: 6px; }
    .admin-finance-grid h4 { margin: 0 0 7px; font-size: 12px; }
    .admin-finance-table { width: 100%; border-collapse: collapse; font-size: 12px; }
    .admin-finance-table th { padding: 5px 8px 5px 0; color: var(--muted); font-size: 10px; text-align: left; text-transform: uppercase; letter-spacing: .4px; }
    .admin-finance-table td { padding: 6px 8px 6px 0; border-top: 1px solid var(--line); color: var(--muted); }
    .admin-finance-table td:nth-child(2) { color: var(--text); white-space: nowrap; }
    .admin-funnel { margin-top: 16px; display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
    .admin-funnel span { padding: 10px; border: 1px solid var(--line); border-radius: 6px; text-align: center; }
    .admin-funnel small, .admin-funnel strong { display: block; }
    .admin-funnel small { color: var(--muted); font-size: 9px; text-transform: uppercase; }
    .admin-funnel strong { margin-top: 5px; font-size: 18px; }
    .admin-tracking-note { margin: 13px 0 0; color: var(--muted); font-size: 10px; line-height: 1.45; }
    .admin-news-source-form { display: grid; grid-template-columns: minmax(160px,.8fr) minmax(210px,1fr) minmax(180px,.8fr) auto; gap: 9px; }
    .admin-news-source-form input, .admin-news-source-form select { min-width: 0; height: 42px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 6px; background: #0d1213; color: var(--text); font: inherit; }
    .admin-news-status { margin: 10px 0 0; color: var(--muted); font-size: 11px; }
    .admin-news-list { margin-top: 16px; display: grid; gap: 9px; }
    .admin-news-draft { padding: 13px; display: grid; grid-template-columns: 90px minmax(0,1fr) auto; gap: 13px; align-items: center; border: 1px solid var(--line); border-radius: 7px; background: #0d1213; }
    .admin-news-draft.is-ignored { opacity: .55; }
    .admin-news-draft img, .admin-news-placeholder { width: 90px; height: 64px; object-fit: cover; border-radius: 5px; }
    .admin-news-placeholder { display: grid; place-items: center; background: #202729; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
    .admin-news-draft-copy { min-width: 0; }
    .admin-news-draft-copy small, .admin-news-draft-copy strong, .admin-news-draft-copy p { display: block; }
    .admin-news-draft-copy small { color: var(--orange); font-size: 10px; }
    .admin-news-draft-copy strong { margin-top: 4px; }
    .admin-news-draft-copy p { margin: 5px 0 0; overflow: hidden; color: var(--muted); font-size: 11px; white-space: nowrap; text-overflow: ellipsis; }
    .admin-news-actions { display: flex; gap: 7px; }
    .admin-payment-history { padding: 16px 18px; border: 1px solid var(--line); border-radius: 8px; background: #111617; }
    .admin-payment-history > summary { color: var(--text); font-size: 14px; font-weight: 750; cursor: pointer; }
    .admin-payment-toolbar { margin: 18px 0 12px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
    .admin-payment-toolbar span { color: var(--muted); font-size: 13px; }
    .admin-payment-list { display: grid; gap: 10px; }
    .admin-payment-card { padding: 16px; border: 1px solid var(--line-strong); border-radius: 8px; background: #111618; }
    .admin-payment-card.pending { border-color: rgba(255,135,46,.55); box-shadow: inset 3px 0 var(--orange); }
    .admin-payment-card.paid { border-color: rgba(101,216,120,.5); box-shadow: inset 3px 0 #65d878; }
    .admin-payment-card.failed { border-color: rgba(255,85,85,.55); box-shadow: inset 3px 0 #ff5555; }
    .admin-payment-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
    .admin-payment-head strong, .admin-payment-head span { display: block; }
    .admin-payment-head strong { font-size: 17px; }
    .admin-payment-head span { margin-top: 4px; color: var(--muted); font-size: 12px; }
    .admin-payment-status { padding: 5px 8px; border-radius: 5px; color: #ffb269; background: rgba(255,135,46,.1); font-size: 11px; font-weight: 800; text-transform: uppercase; }
    .admin-payment-card.paid .admin-payment-status { color: #8ce59a; background: rgba(101,216,120,.1); }
    .admin-payment-card.failed .admin-payment-status { color: #ff9191; background: rgba(255,85,85,.1); }
    .admin-payment-section-title { margin: 20px 0 10px; font-size: 15px; }
    .admin-payment-environment { color: var(--orange); font-weight: 800; text-transform: uppercase; }
    .admin-payment-data { margin: 14px 0; display: grid; grid-template-columns: 1fr 1fr; gap: 7px 14px; color: var(--muted); font-size: 13px; }
    .admin-payment-data b { color: var(--text); font-weight: 600; }
    .admin-payment-actions { display: flex; flex-wrap: wrap; gap: 8px; }
    .admin-tv-colunas { margin-top: 14px; display: grid; grid-template-columns: minmax(0,1.25fr) minmax(0,1fr); gap: 14px; align-items: start; }
    .admin-tv-dias { padding: 12px 14px; border: 1px solid var(--line); border-radius: 8px; background: #0d1213; }
    .admin-tv-dia { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 10px; font-size: 12px; margin-top: 6px; }
    .admin-tv-dia:first-of-type { margin-top: 4px; }
    .admin-tv-dia b { color: var(--muted); font-weight: 500; font-variant-numeric: tabular-nums; }
    .admin-tv-dia .admin-tv-trilho span { background: linear-gradient(90deg, var(--orange), #ffb45f); }
    .admin-tv-lista { display: grid; gap: 8px; }
    .admin-tv-pessoa { padding: 11px 13px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 7px; background: #0d1213; }
    .admin-tv-pessoa strong { display: block; font-size: 13.5px; }
    .admin-tv-pessoa small { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; }
    .admin-tv-pessoa .tag-dono { padding: 2px 8px; border: 1px solid var(--orange); border-radius: 20px; color: var(--orange); font-size: 10.5px; white-space: nowrap; }
    @media (max-width: 900px) { .admin-tv-colunas { grid-template-columns: 1fr; } }
    .admin-tv-mapa { margin: 0 0 16px; padding: 12px 14px; display: grid; gap: 7px; border: 1px solid var(--line); border-radius: 8px; background: #0d1213; }
    .admin-tv-mapa-titulo { margin: 0 0 3px; font-size: 12px; font-weight: 600; }
    .admin-tv-mapa-vazio { margin: 0; color: var(--muted); font-size: 12.5px; }
    .admin-tv-barra { display: grid; grid-template-columns: 96px minmax(0,1fr) auto; align-items: center; gap: 11px; font-size: 12px; }
    .admin-tv-trilho { height: 6px; border-radius: 999px; background: #252c2e; overflow: hidden; }
    .admin-tv-trilho span { display: block; height: 100%; border-radius: inherit; background: var(--orange); }
    .admin-tv-num { color: var(--text); font-variant-numeric: tabular-nums; white-space: nowrap; }
    .admin-tv-num small { color: var(--muted); font-size: 10.5px; }
    .admin-claim-list { display: grid; gap: 10px; }
    .admin-claim { padding: 13px 15px; display: grid; grid-template-columns: minmax(0,1fr) auto auto; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 7px; background: #0d1213; }
    .admin-claim-main { min-width: 0; overflow-wrap: anywhere; }
    .admin-claim-main strong { display: block; font-size: 14px; }
    .admin-claim-who { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; }
    .admin-claim-hints { display: block; margin-top: 5px; color: var(--muted); font-size: 11px; }
    .admin-claim-hints .forte { color: var(--orange); }
    .admin-claim-check { display: grid; gap: 3px; font-size: 11.5px; white-space: nowrap; }
    .admin-claim-check a { color: var(--orange); }
    .admin-claim-actions { display: flex; gap: 7px; }
    .admin-claim-actions .button { min-height: 34px; padding: 0 12px; font-size: 12px; }
    .admin-payment-empty { padding: 28px 18px; border: 1px dashed var(--line-strong); border-radius: 8px; color: var(--muted); text-align: center; }
    .owner-pro-pitch {
      padding: 18px;
      display: grid;
      gap: 15px;
      border: 1px solid rgba(255,135,46,.38);
      border-radius: 9px;
      background: radial-gradient(circle at 100% 0, rgba(255,135,46,.13), transparent 43%), #111617;
    }
    .owner-pro-pitch header span { color: var(--orange); font-size: 9px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
    .owner-pro-pitch header strong { margin-top: 5px; display: block; font-size: 18px; }
    .owner-pro-pitch header p, .owner-pro-pitch > small { margin: 5px 0 0; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .owner-pro-potential { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
    .owner-pro-potential span { min-height: 75px; padding: 12px; border: 1px solid var(--line); border-radius: 7px; background: rgba(8,12,13,.64); }
    .owner-pro-potential strong, .owner-pro-potential small { display: block; }
    .owner-pro-potential strong { color: #fff; font-size: 21px; }
    .owner-pro-potential small { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.35; }
    .owner-pro-potential strong em { color: var(--orange); font-size: 12px; font-style: normal; }
    .owner-business-button { width: 100%; border-color: #70482c; color: var(--orange); }
    .share-box { margin-top: 23px; padding-top: 18px; border-top: 1px solid var(--line); }
    .share-box > span { display: block; margin-bottom: 9px; color: var(--muted); font-size: 12px; }
    .share-actions { display: flex; flex-wrap: wrap; gap: 8px; }
    .share-actions .button { min-height: 38px; padding: 0 13px; font-size: 12px; }

    /* Detalhes do jogo: voto primeiro, ações claras e conteúdo editorial depois. */
    .details-status-line { margin-top: 9px; color: var(--orange); font-size: 14px; font-weight: 650; }
    .details-summary { margin: 19px 0 16px; color: #d8dcdd; font-size: 16px; line-height: 1.55; white-space: pre-line; }
    .details-community-row { margin-bottom: 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
    .details-community-row .details-rating { width: min(100%, 540px); min-width: 0; margin: 0; padding: 8px 10px 8px 8px; display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: center; gap: 9px 14px; border-color: transparent; background: transparent; }
    .details-community-row .details-rating:hover { border-color: var(--line); background: #202627; }
    .details-rating-summary { display: inline-flex; align-items: center; gap: 9px; min-width: 0; }
    .details-rating-summary > svg { width: 20px; height: 20px; flex: 0 0 20px; color: var(--gold); fill: currentColor; }
    .details-community-row .details-rating-action { padding-left: 14px; border-left: 1px solid var(--line); white-space: nowrap; }
    .details-community-row .details-rating-breakdown { grid-column: 1 / -1; width: 100%; margin-top: 2px; }
    .details-community-row .dialog-like { flex: 0 0 auto; min-height: 42px; padding: 0 8px; gap: 7px; font-size: 14px; }
    .details-community-row .dialog-like svg { width: 21px; height: 21px; }
    /* Era um quadro de 290px: número gigante, rótulo, votos do período, botão,
       ajuda e lembrete, cada um na sua linha. Agora os números ocupam uma linha
       só e o botão fica inteiro, laranja, na largura do quadro (23/09). */
    .details-vote-panel { margin: 14px 0 12px; padding: 16px 16px 14px; border: 1px solid rgba(255,135,46,.55); border-radius: 9px; background: linear-gradient(110deg, rgba(255,135,46,.06), rgba(16,20,21,.98) 50%); text-align: left; }
    .details-vote-numbers { display: flex; align-items: baseline; flex-wrap: wrap; gap: 6px 14px; margin-bottom: 16px; }
    .details-vote-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 14px; }
    .details-vote-recent::before, .details-vote-rank::before { content: "·"; margin-right: 7px; color: #3a4043; }
    .details-vote-recent[hidden], .details-vote-rank[hidden] { display: none; }
    .details-vote-rank { color: var(--muted); font-size: 12.5px; }
    /* No celular a linha quebra, e o ponto separador ficava sozinho no começo
       da segunda linha. Sem os pontos, quem separa é o espaço. */
    @media (max-width: 520px) {
      .details-vote-numbers { gap: 4px 11px; }
      .details-vote-recent::before, .details-vote-rank::before { content: none; }
    }
    .details-vote-count { color: var(--orange); font-size: 27px; line-height: 1; letter-spacing: -1px; }
    .details-vote-label { color: #c6c9ca; font-size: 12.5px; }
    .details-vote-recent { color: #f2b078; font-size: 12.5px; font-weight: 750; }
    .details-vote-panel .button { width: 100%; min-height: 48px; font-size: 16px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; }
    /* A seta lê "votar" antes do texto. Some no intervalo, porque ali o botão
       não convida a nada — só conta quanto falta. */
    .vote-arrow { width: 19px; height: 19px; flex: none; }
    #details-monthly-vote:disabled .vote-arrow { display: none; }
    .details-vote-help { color: var(--muted); font-size: 12px; }
    .details-vote-panel .reminder-choice { margin: 11px -4px 0; padding-top: 11px; border-top: 1px solid var(--line); }
    .details-vote-foot .text-action { color: var(--orange); font-weight: 700; font-size: 12.5px; white-space: nowrap; }
    .details-outbound-actions { margin-bottom: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px,1fr)); gap: 10px; }
    .details-outbound-actions .button { width: 100%; min-height: 45px; }
    .details-site-button { border-color: var(--orange); color: #ffd2b2; }
    .details-site-button:hover { background: rgba(255,135,46,.1); }
    .details-share-button { gap: 7px; }
    .details-share-button svg { width: 17px; height: 17px; flex: 0 0 auto; }
    .details-sponsored { margin: 20px 0 0; border-color: rgba(255,135,46,.28); background: linear-gradient(105deg, rgba(255,135,46,.05), #111617 45%); }
    .details-about { margin-top: 27px; padding-top: 23px; border-top: 1px solid var(--line); }
    .details-about h3 { margin: 0 0 12px; font-size: 19px; }
    .details-about-copy { margin: 0; color: #c6c9ca; font-size: 15px; line-height: 1.62; white-space: pre-line; }
    .details-about .details-media { margin-top: 20px; }
    .details-footer-links { justify-content: flex-end; gap: 24px; padding-top: 17px; border-top: 1px solid var(--line); }

    #go-gate-dialog { width: min(420px, calc(100% - 28px)); }
    #foto-dialog { width: min(1100px, calc(100% - 28px)); padding: 0; border: 1px solid var(--line); border-radius: 12px; background: #0d1213; }
    .foto-shell { position: relative; padding: 14px; }
    .foto-shell img { display: block; width: 100%; max-height: 78dvh; object-fit: contain; border-radius: 7px; background: #05090a; }
    .foto-nav { margin-top: 11px; display: flex; align-items: center; justify-content: center; gap: 13px; color: var(--muted); font-size: 12px; }
    .foto-nav .button { min-height: 34px; padding: 0 14px; }
    @media (max-width: 640px) { .foto-shell { padding: 11px; } .foto-shell img { max-height: 66dvh; } }
    /* Puxador de tamanho. Fica no canto de cima e da esquerda porque a TV mora
       no canto de baixo e da direita: e o unico canto que cresce para dentro da
       tela. Some quando recolhida, onde nao ha o que redimensionar. */
    .tv-resize {
      position: absolute; top: 0; left: 0; z-index: 2;
      width: 22px; height: 22px; display: grid; place-items: center;
      border: 0; padding: 0; background: transparent; color: var(--line-strong);
      cursor: nwse-resize; touch-action: none;
    }
    .tv-resize svg { width: 13px; height: 13px; display: block; }
    .tv-resize:hover { color: var(--text); }
    .topidle-tv.is-collapsed .tv-resize { display: none; }
    /* Enquanto arrasta, o iframe do YouTube engoliria o ponteiro. */
    .topidle-tv.is-resizing .tv-media { pointer-events: none; }
    .topidle-tv.is-resizing { user-select: none; }

    .topidle-tv { position: fixed; right: 16px; bottom: 16px; z-index: 60; width: var(--tv-largura, 300px); overflow: hidden;
      border: 1px solid var(--line-strong); border-radius: 10px; background: #0d1213;
      box-shadow: 0 14px 40px rgba(0,0,0,.5); }
    .topidle-tv.hidden { display: none; }
    .tv-bar { padding: 5px 6px 5px 10px; display: flex; align-items: center; gap: 6px; border-bottom: 1px solid var(--line); }
    /* Vermelho lia como problema, não como "no ar". */
    .tv-dot { width: 6px; height: 6px; flex: none; border-radius: 50%; background: var(--orange); box-shadow: 0 0 8px rgba(255,135,46,.7); }
    .tv-channel { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
      color: var(--muted); font-size: 10.5px; text-transform: uppercase; letter-spacing: .07em; }
    .tv-icon { width: 22px; height: 22px; flex: none; display: grid; place-items: center; border: 0; border-radius: 5px;
      background: transparent; color: var(--muted); font-size: 15px; line-height: 1; cursor: pointer; }
    .tv-icon:hover { background: rgba(255,255,255,.08); color: var(--text); }
    .tv-screen { display: block; }
    .tv-empty { padding: 13px 12px; display: grid; gap: 4px; text-align: center; }
    .tv-empty strong { font-size: 12.5px; }
    .tv-empty span { color: var(--muted); font-size: 11px; line-height: 1.4; }
    .tv-empty a { margin-top: 6px; color: var(--orange); font-size: 11px; font-weight: 750; text-decoration: none; }
    .tv-media { position: relative; display: block; aspect-ratio: 16 / 9; background: #05090a; }
    .tv-media img, .tv-media video, .tv-media iframe { display: block; width: 100%; height: 100%; border: 0; object-fit: cover; }
    .tv-media iframe { pointer-events: none; }
    .mon-tv-atual { padding: 12px 13px; display: grid; gap: 9px; border: 1px solid rgba(255,135,46,.3); border-radius: 8px; background: rgba(255,135,46,.05); }
    .mon-tv-atual .mon-tv-capa { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; background: #05090a; }
    .mon-tv-numeros { display: flex; flex-wrap: wrap; gap: 14px; color: var(--muted); font-size: 12px; }
    .mon-tv-numeros b { color: var(--text); }
    .mon-tv-form { display: grid; gap: 9px; margin-top: 12px; }
    .mon-tv-form input { height: 40px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 6px; background: #0d1213; color: var(--text); font: inherit; }
    .mon-tv-nota { margin: 10px 0 0; padding: 9px 11px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .mon-tv-nota b { color: var(--text); }
    .mon-tv-status { margin: 2px 0 0; font-size: 12.5px; color: var(--muted); }
    #tv-porta-dialog { width: min(520px, calc(100% - 28px)); }
    /* Painel do criador: azul do Master para separar do laranja do dono. */
    .admin-tv-apagar { color: #ffd1ad; border-color: #78451f; }
    .conferencia-acoes { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
    /* Mesma paleta do .notice, que e como o site ja fala de erro. */
    .conferencia-erro { margin: 10px 0 0; color: #ffd1ad; font-size: 13px; }
    .tv-caminho.is-criador { border-color: var(--master-line); background: linear-gradient(180deg, var(--master-tint), transparent 60%); }
    .tv-caminho.is-criador > strong { color: var(--master-text); }
    .criador-form { display: grid; gap: 8px; margin-top: 12px; }
    .criador-form input, .criador-form select {
      width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px;
      background: var(--bg); color: var(--text); font: inherit; font-size: 13.5px;
    }
    .criador-afiliado {
      display: flex; gap: 9px; align-items: flex-start; padding: 11px 12px;
      border: 1px solid var(--gold); border-radius: 8px; background: var(--gold-soft); cursor: pointer;
    }
    .criador-afiliado input { width: 15px; height: 15px; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--gold); }
    .criador-afiliado span { font-size: 12.5px; line-height: 1.5; color: var(--gold); }
    .criador-afiliado span b { display: block; margin-bottom: 2px; color: var(--text); font-size: 13px; }
    .criador-saldo { margin-top: 12px; }
    .criador-saldo > span { display: flex; align-items: baseline; gap: 8px; }
    .criador-saldo > span b { font-size: 26px; font-weight: 700; color: var(--master-text); }
    .criador-saldo > span small { color: var(--muted); font-size: 12.5px; }
    .criador-saldo > p { margin: 8px 0 12px; color: var(--muted); font-size: 12.5px; line-height: 1.55; }
    .criador-compra { display: grid; grid-template-columns: 96px auto; gap: 8px; align-items: center; }
    .criador-compra input {
      padding: 10px 12px; border: 1px solid var(--line); border-radius: 8px;
      background: var(--bg); color: var(--text); font: inherit; font-size: 13.5px;
    }
    .criador-compra small { grid-column: 1 / -1; color: var(--muted); font-size: 11.5px; }
    .criador-aviso { color: var(--gold); font-size: 11.5px; }
    .criador-acoes { display: flex; gap: 10px; }
    .criador-link { border: 0; background: none; color: var(--master-blue); font: inherit; font-size: 11.5px; cursor: pointer; padding: 0; }
    .criador-pix { margin-top: 12px; padding: 14px; border: 1px solid var(--gold); border-radius: 9px; background: var(--gold-soft); text-align: center; }
    .criador-pix img { width: 168px; height: 168px; image-rendering: pixelated; border-radius: 6px; background: #fff; }
    .criador-pix code { display: block; margin: 10px 0 8px; padding: 8px; border-radius: 6px; background: var(--bg); color: var(--muted); font-size: 10.5px; word-break: break-all; }

    .criador-lista { display: grid; gap: 8px; margin-top: 14px; }
    .criador-video {
      display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: 12px; align-items: center;
      padding: 10px 12px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface);
    }
    .criador-video img { width: 64px; height: 36px; object-fit: cover; border-radius: 5px; background: #0c0e0f; }
    .criador-video b { display: block; font-size: 13.5px; }
    .criador-video small { display: block; margin-top: 2px; color: var(--muted); font-size: 11.5px; }
    .criador-cota { display: grid; gap: 4px; justify-items: end; }
    .criador-barra { width: 76px; height: 6px; border-radius: 4px; background: var(--surface-strong); overflow: hidden; }
    .criador-barra i { display: block; height: 100%; background: var(--master-blue); }
    .criador-cota small { color: var(--muted); font-size: 11px; font-variant-numeric: tabular-nums; }
    .criador-tirar { border: 0; background: none; color: var(--coral); font: inherit; font-size: 11.5px; cursor: pointer; padding: 0; }
    .criador-vazio { padding: 14px; border: 1px dashed var(--line); border-radius: 9px; color: var(--muted); font-size: 13px; text-align: center; }

    .tv-caminho { margin-top: 14px; padding: 15px 16px; border: 1px solid var(--line); border-radius: 8px; background: #0d1213; }
    .tv-caminho + .tv-caminho { margin-top: 10px; }
    .tv-caminho strong { display: block; font-size: 14px; }
    .tv-caminho p { margin: 4px 0 11px; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
    .tv-caminho .button { min-height: 36px; }
    .tv-envio { display: grid; gap: 9px; }
    .tv-envio input, .tv-envio select { height: 40px; padding: 0 11px; border: 1px solid var(--line-strong); border-radius: 6px;
      background: #0d1213; color: var(--text); font: inherit; }
    .tv-envio-status { margin: 4px 0 0; font-size: 12.5px; color: var(--muted); }
    .tv-som-caixa { display: inline-flex; align-items: center; gap: 6px; }
    .tv-volume { width: 62px; height: 3px; margin: 0; padding: 0; appearance: none; border-radius: 999px;
      background: var(--line-strong); cursor: pointer; accent-color: var(--orange); }
    .tv-volume[hidden] { display: none; }
    .tv-volume::-webkit-slider-thumb { appearance: none; width: 11px; height: 11px; border-radius: 50%; background: var(--orange); cursor: pointer; }
    .tv-volume::-moz-range-thumb { width: 11px; height: 11px; border: 0; border-radius: 50%; background: var(--orange); cursor: pointer; }
    /* Nome e ações sobre o vídeo: sem faixa embaixo, o cartão fica com a cara
       do 16:9 do YouTube em vez de virar um quadrado. */
    .tv-overlay { position: absolute; right: 0; bottom: 0; left: 0; padding: 20px 8px 7px; display: flex; pointer-events: none;
      align-items: flex-end; justify-content: space-between; gap: 8px;
      background: linear-gradient(180deg, transparent, rgba(5,9,10,.9) 58%); }
    .tv-porta { pointer-events: auto; min-width: 0; padding: 0; border: 0; background: none; color: rgba(255,255,255,.72);
      font: inherit; font-size: 10.5px; font-weight: 700; cursor: pointer; white-space: nowrap; }
    .tv-porta:hover { color: var(--orange); }
    .tv-actions { flex: 0 0 auto; display: flex; gap: 5px; margin-left: auto; }
    .tv-action { pointer-events: auto; min-height: 24px; padding: 0 9px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.22);
      border-radius: 5px; background: rgba(5,9,10,.6); color: var(--text); font-size: 10.5px; font-weight: 750;
      text-decoration: none; backdrop-filter: blur(3px); }
    .tv-action:hover { border-color: var(--text); }
    .tv-action.is-primary { border-color: var(--orange); background: var(--orange); color: #16100b; }
    .tv-caption span { color: var(--orange); font-size: 11px; font-weight: 750; }
    .topidle-tv.is-collapsed .tv-screen { display: none; }
    .topidle-tv.is-collapsed { width: 200px; }
    .topidle-tv.is-collapsed .tv-bar { border-bottom: 0; }
    /* Janela aberta fica na camada de cima do navegador; nada vence ela por CSS. */
    .topidle-tv.is-behind { opacity: 0; pointer-events: none; }
    @media (max-width: 720px) {
      .topidle-tv { right: 10px; bottom: 10px; width: var(--tv-largura, 178px); }
      .topidle-tv.is-collapsed { width: 158px; }
      .tv-caption strong { font-size: 11.5px; }
    }
    .go-gate-body { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 13px; padding: 26px 24px 20px; }
    .go-gate-status { margin: 0; font-size: 14px; color: var(--muted); }
    .go-gate-status strong { color: var(--text); }
    .go-gate-timer { position: relative; width: 72px; height: 72px; flex: none; }
    .go-gate-timer svg { width: 100%; height: 100%; transform: rotate(-90deg); }
    .go-gate-timer circle { fill: none; stroke-width: 4; }
    .go-gate-timer-track { stroke: var(--line); }
    .go-gate-timer-run { stroke: var(--orange); stroke-linecap: round; stroke-dasharray: 119.38; stroke-dashoffset: 0; }
    .go-gate-timer-run.is-running { animation: go-gate-ring-deplete var(--go-gate-dur, 5s) linear forwards; }
    @keyframes go-gate-ring-deplete { from { stroke-dashoffset: 0; } to { stroke-dashoffset: 119.38; } }
    .go-gate-timer.is-done .go-gate-timer-run { stroke: #4caf7d; }
    .go-gate-timer span { position: absolute; inset: 0; display: grid; place-items: center; font-size: 21px; font-weight: 800; color: var(--text); }
    .go-gate-ad { display: block; width: 100%; margin: 0; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; }
    .go-gate-ad[hidden] { display: none; }
    .go-gate-ad-link { display: block; color: inherit; text-decoration: none; }
    .go-gate-ad-link:hover .go-gate-ad-cue { text-decoration: underline; }
    .go-gate-ad .sponsored-banner-frame { display: block; width: 100%; height: auto; }
    .go-gate-ad .sponsored-banner { width: 100%; height: auto; aspect-ratio: 1260 / 420; object-fit: cover; display: block; }
    .go-gate-ad .sponsored-discovery-copy { display: block; padding: 11px 14px 13px; text-align: left; }
    .go-gate-ad .sponsored-label { display: block; margin-bottom: 4px; color: var(--orange); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
    .go-gate-ad strong { display: block; font-size: 14px; }
    .go-gate-ad p { margin: 4px 0 0; color: var(--muted); font-size: 12px; line-height: 1.4; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
    .go-gate-ad-cue { display: inline-block; margin-top: 8px; color: var(--orange); font-size: 12px; font-weight: 700; }
    .go-gate-access { width: 100%; white-space: normal; overflow-wrap: anywhere; line-height: 1.3; }
    .go-gate-access:disabled { opacity: .45; cursor: default; }
    .go-gate-leave { margin: 0; font-size: 11px; color: #7c8082; line-height: 1.5; }

    #rating-dialog { width: min(760px, calc(100% - 32px)); }
    .rating-head {
      margin-bottom: 24px;
      padding-right: 36px;
      display: grid;
      grid-template-columns: 200px minmax(0,1fr);
      gap: 22px;
      align-items: center;
    }
    .rating-banner { width: 200px; height: 112px; border: 1px solid var(--line); border-radius: 7px; object-fit: cover; }
    .rating-game h2 { margin: 0 0 5px; font-size: 26px; }
    .rating-game-meta { color: var(--muted); font-size: 14px; }
    .rating-community {
      margin-top: 13px;
      padding: 11px 13px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      border: 1px solid var(--line);
      border-radius: 7px;
      color: var(--muted);
      font-size: 12px;
    }
    .rating-community strong { display: inline-flex; align-items: center; gap: 7px; color: var(--text); font-size: 14px; }
    .rating-community svg { width: 17px; color: var(--gold); fill: currentColor; }
    .rating-levels { margin-top: 8px; display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 6px; }
    .rating-level { padding: 7px 6px; border: 1px solid var(--line); border-radius: 6px; color: var(--muted); font-size: 9px; text-align: center; }
    .rating-level strong, .rating-level small { display: block; }
    .rating-level strong { margin-bottom: 3px; color: var(--text); font-size: 10px; }
    .rating-level small { font-size: 9px; }
    .rating-level-star { margin-right: 3px; }
    .rating-level-bronze .rating-level-star { color: #c77a49; }
    .rating-level-silver .rating-level-star { color: #e1e7ea; text-shadow: 0 0 5px rgba(255,255,255,.35); }
    .rating-level-gold .rating-level-star { color: #ffd54b; text-shadow: 0 0 6px rgba(255,213,75,.4); }
    .rating-level-diamond .rating-level-star { color: #bdeeff; text-shadow: 0 0 7px #74dfff; }
    .rating-title { margin: 0 0 5px; font-size: 27px; letter-spacing: -.7px; }
    .rating-copy { margin: 0 0 20px; color: var(--muted); }
    .rating-criteria { display: grid; gap: 10px; }
    .rating-criterion {
      min-height: 78px;
      padding: 13px 18px;
      display: grid;
      grid-template-columns: minmax(0,1fr) auto;
      align-items: center;
      gap: 20px;
      border: 1px solid var(--line);
      border-radius: 8px;
      background: rgba(255,255,255,.014);
    }
    .rating-criterion strong, .rating-criterion small { display: block; }
    .rating-criterion strong { font-size: 15px; }
    .rating-criterion small { margin-top: 5px; color: var(--muted); font-size: 11px; }
    .star-picker { display: flex; align-items: center; gap: 8px; }
    .rating-star {
      width: 36px;
      height: 36px;
      padding: 4px;
      display: grid;
      place-items: center;
      border: 0;
      background: transparent;
      color: #62696c;
      cursor: pointer;
    }
    .rating-star svg { width: 29px; height: 29px; fill: transparent; stroke: currentColor; stroke-width: 1.4; }
    .rating-star[aria-checked="true"] { color: var(--gold); }
    .rating-star[aria-checked="true"] svg { fill: currentColor; }
    .rating-star:hover, .rating-star:focus-visible { color: #f0bc43; outline: 0; transform: scale(1.08); }
    .rating-note { margin: 17px 0 0; color: var(--muted); font-size: 12px; }
    .rating-note::before { content: "ⓘ"; margin-right: 7px; }
    .rating-actions { margin-top: 20px; display: flex; justify-content: flex-end; gap: 12px; }
    .rating-actions .button { min-width: 150px; }

    .rmt-main { padding-top: 42px; }
    .rmt-hero {
      margin: 0 6px 28px;
      padding-bottom: 28px;
      display: flex;
      align-items: end;
      justify-content: space-between;
      gap: 32px;
      border-bottom: 1px solid var(--line);
    }
    .rmt-hero .page-heading { font-size: clamp(40px, 4vw, 62px); }
    .rmt-hero p { max-width: 720px; margin: 13px 0 0; color: var(--muted); font-size: 17px; line-height: 1.5; }
    .rmt-hero-actions { display: flex; flex: 0 0 auto; gap: 10px; }
    .rmt-safety {
      margin: 0 6px 22px;
      padding: 13px 15px;
      display: flex;
      align-items: center;
      gap: 10px;
      border: 1px solid #70482c;
      border-radius: 8px;
      background: rgba(255,135,46,.05);
      color: #d8b79e;
      font-size: 12px;
      line-height: 1.45;
    }
    .rmt-safety svg { width: 19px; height: 19px; flex: 0 0 auto; color: var(--orange); }
    .rmt-safety-mobile { display: none; }
    .rmt-toolbar {
      margin: 0 6px 20px;
      display: grid;
      grid-template-columns: minmax(260px, 1fr) 230px 190px;
      gap: 10px;
    }
    .rmt-control {
      min-height: 46px;
      padding: 0 14px;
      border: 1px solid var(--line-strong);
      border-radius: 7px;
      outline: 0;
      background: #0d1113;
      color: var(--text);
      font-size: 13px;
    }
    .rmt-control:focus { border-color: var(--orange); }
    .rmt-control::placeholder { color: #7e8385; }
    .rmt-grid { margin: 0 6px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; }
    .rmt-card {
      min-width: 0;
      padding: 19px;
      display: flex;
      flex-direction: column;
      border: 1px solid var(--line);
      border-radius: 10px;
      background: var(--surface);
      transition: border-color 150ms ease, transform 150ms ease, background 150ms ease;
    }
    .rmt-card:hover { border-color: #70482c; background: var(--surface-strong); transform: translateY(-2px); }
    .rmt-card-head { display: flex; align-items: center; gap: 12px; }
    .rmt-card-open { width: 100%; padding: 0; border: 0; background: transparent; color: inherit; text-align: left; cursor: pointer; }
    .rmt-card-open:focus-visible { outline: 2px solid rgba(255,135,46,.55); outline-offset: 5px; border-radius: 5px; }
    .rmt-avatar {
      width: 58px;
      height: 58px;
      flex: 0 0 58px;
      display: grid;
      place-items: center;
      overflow: hidden;
      border: 2px solid #70482c;
      border-radius: 50%;
      background: var(--avatar, linear-gradient(135deg, #ff872e, #6c2b10));
      color: white;
      font-size: 19px;
      font-weight: 900;
      letter-spacing: -.5px;
      box-shadow: 0 0 0 4px rgba(255,135,46,.06);
    }
    .rmt-avatar img { width: 100%; height: 100%; object-fit: cover; }
    .rmt-card-name { min-width: 0; }
    .rmt-card-name strong, .rmt-card-name small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rmt-card-name strong { font-size: 16px; }
    .rmt-card-name small { margin-top: 4px; color: var(--muted); font-size: 11px; }
    .rmt-games { min-height: 50px; margin: 16px 0 12px; display: flex; align-content: flex-start; flex-wrap: wrap; gap: 6px; }
    .rmt-game {
      max-width: 100%;
      padding: 5px 7px;
      overflow: hidden;
      border: 1px solid var(--line-strong);
      border-radius: 5px;
      color: #c4c5c4;
      font-size: 10px;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .rmt-game.more { border-color: transparent; color: var(--orange); font-weight: 750; }
    .rmt-bio {
      min-height: 55px;
      margin: 0 0 17px;
      display: -webkit-box;
      overflow: hidden;
      color: var(--muted);
      font-size: 12px;
      line-height: 1.5;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
    }
    .rmt-reputation { margin-top: auto; padding: 14px 0; border-top: 1px solid var(--line); text-align: center; }
    .rmt-reputation strong, .rmt-reputation small { display: block; }
    .rmt-reputation strong { font-size: 28px; letter-spacing: -1px; }
    .rmt-reputation small { margin-top: 2px; color: var(--muted); font-size: 10px; text-transform: uppercase; letter-spacing: .6px; }
    .rmt-actions { display: grid; grid-template-columns: 1fr auto auto; gap: 6px; }
    .rmt-action {
      min-width: 0;
      min-height: 37px;
      padding: 0 10px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 6px;
      border: 1px solid var(--line-strong);
      border-radius: 6px;
      background: transparent;
      color: var(--muted);
      font-size: 11px;
      font-weight: 700;
      cursor: pointer;
    }
    .rmt-action:hover { border-color: #727778; color: var(--text); }
    .rmt-action.primary { border-color: #70482c; color: var(--orange); }
    .rmt-action[aria-pressed="true"] { border-color: var(--orange); background: rgba(255,135,46,.09); color: var(--orange); }
    .rmt-action svg { width: 15px; height: 15px; flex: 0 0 auto; }
    .rmt-empty { grid-column: 1 / -1; padding: 50px 20px; border: 1px dashed var(--line-strong); border-radius: 9px; color: var(--muted); text-align: center; }
    .rmt-empty .button { margin-top: 14px; }
    #rmt-profile-dialog, #rmt-create-dialog { width: min(700px, calc(100% - 32px)); }
    .rmt-profile-head { padding-right: 40px; display: flex; align-items: center; gap: 17px; }
    .rmt-profile-head .rmt-avatar { width: 82px; height: 82px; flex-basis: 82px; font-size: 26px; }
    .rmt-profile-head h2 { margin: 0; font-size: 28px; letter-spacing: -.7px; }
    .rmt-profile-head p { margin: 5px 0 0; color: var(--muted); font-size: 13px; }
    .rmt-profile-reputation { margin: 22px 0; padding: 17px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid #70482c; border-radius: 8px; background: rgba(255,135,46,.055); }
    .rmt-profile-reputation strong { display: block; font-size: 26px; }
    .rmt-profile-reputation small { color: var(--muted); }
    .rmt-profile-bio { margin: 0 0 18px; color: #d2d2cf; line-height: 1.6; }
    .rmt-profile-games { margin: 0 0 22px; }
    .rmt-profile-games > strong { display: block; margin-bottom: 10px; font-size: 13px; }
    .rmt-profile-games .rmt-games { min-height: 0; margin: 0; }
    .rmt-profile-actions { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 9px; }
    .rmt-form-note { margin: 0 0 18px; padding: 11px 13px; border: 1px solid var(--line); border-radius: 7px; color: var(--muted); font-size: 12px; line-height: 1.5; }
    #rmt-create-form { display: grid; gap: 16px; }
    .rmt-games-preview { min-height: 68px; padding: 10px; display: flex; align-content: flex-start; flex-wrap: wrap; gap: 6px; border: 1px solid var(--line-strong); border-radius: 7px; background: #0d1113; }
    .rmt-games-preview button { padding: 6px 8px; border: 1px solid var(--line-strong); border-radius: 5px; background: transparent; color: var(--muted); font-size: 11px; cursor: pointer; }
    .rmt-games-preview button[aria-pressed="true"] { border-color: var(--orange); background: rgba(255,135,46,.08); color: var(--orange); }
    .rmt-terms-check { display: flex; align-items: flex-start; gap: 9px; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .rmt-terms-check input { margin-top: 2px; accent-color: var(--orange); }

    @media (max-width: 1240px) { .rmt-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
    @media (max-width: 980px) { .rmt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
    @media (max-width: 720px) {
      .rmt-main { width: calc(100% - 32px); padding-top: 32px; }
      .rmt-hero { margin-left: 0; margin-right: 0; align-items: stretch; flex-direction: column; gap: 20px; }
      .rmt-hero .page-heading { font-size: 44px; }
      .rmt-hero p { font-size: 15px; }
      .rmt-hero-actions .button { flex: 1; }
      .rmt-safety, .rmt-toolbar, .rmt-grid { margin-left: 0; margin-right: 0; }
      .rmt-toolbar { grid-template-columns: 1fr 1fr; }
      .rmt-toolbar .rmt-control:first-child { grid-column: 1 / -1; }
      .rmt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 480px) {
      .mobile-section-switch { margin-top: 8px; }
      .mobile-section-switch a { min-height: 32px; }
      .rmt-main { width: calc(100% - 24px); padding-top: 18px; }
      #rmt-profile-dialog, #rmt-create-dialog { width: 100%; max-width: none; }
      .rmt-hero { margin-bottom: 12px; padding-bottom: 12px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 10px; }
      .rmt-hero .page-heading { font-size: 30px; letter-spacing: -1.6px; }
      .rmt-hero p { display: none; }
      .rmt-hero-actions { display: block; }
      .rmt-hero-actions .button { min-height: 38px; padding: 0 13px; font-size: 12px; }
      .rmt-button-detail, .rmt-safety-desktop { display: none; }
      .rmt-safety-mobile { display: inline; }
      .rmt-safety { min-height: 42px; margin-bottom: 12px; padding: 8px 10px; align-items: center; font-size: 11px; }
      .rmt-safety svg { width: 17px; height: 17px; }
      .rmt-toolbar { margin-bottom: 12px; grid-template-columns: 1fr 1fr; gap: 8px; }
      .rmt-toolbar .rmt-control:first-child { grid-column: 1 / -1; }
      .rmt-control { min-height: 42px; padding: 0 10px; font-size: 12px; }
      .rmt-grid { grid-template-columns: 1fr; }
      .rmt-card { padding: 17px; }
      .rmt-profile-head { align-items: flex-start; }
      .rmt-profile-head .rmt-avatar { width: 68px; height: 68px; flex-basis: 68px; }
      .rmt-profile-head h2 { font-size: 23px; }
      .rmt-profile-reputation { align-items: stretch; flex-direction: column; }
      .rmt-profile-actions { grid-template-columns: 1fr; }
    }

    /* Offline concept: product-first RMT showcase. Production stays unchanged without the preview flag. */
    .rmt-showcase-only { display: none; }
    body.preview-rmt-showcase .rmt-showcase-only { display: block; }
    body.preview-rmt-showcase .rmt-profile-only { display: none; }
    body.preview-rmt-showcase .rmt-main { padding-top: 48px; }
    body.preview-rmt-showcase .rmt-hero { margin-bottom: 18px; padding-bottom: 24px; }
    body.preview-rmt-showcase .rmt-hero .page-heading { font-size: clamp(42px, 4.2vw, 66px); }
    body.preview-rmt-showcase .rmt-hero p { max-width: 660px; }
    body.preview-rmt-showcase .rmt-safety { margin-bottom: 18px; border-color: #3a3f40; background: #111719; color: #aeb2b2; }
    body.preview-rmt-showcase .rmt-safety svg { color: #c9cdcc; }
    body.preview-rmt-showcase .rmt-toolbar { grid-template-columns: minmax(260px, 1fr) 230px 190px; margin-bottom: 12px; }
    .rmt-type-filter { margin: 0 6px 22px; display: flex; align-items: center; gap: 7px; overflow-x: auto; scrollbar-width: thin; }
    .rmt-type-filter button { min-height: 35px; padding: 0 13px; flex: 0 0 auto; border: 1px solid var(--line-strong); border-radius: 999px; background: transparent; color: #aeb2b2; font-size: 11px; font-weight: 800; cursor: pointer; }
    .rmt-type-filter button:hover { border-color: #6e7273; color: var(--text); }
    .rmt-type-filter button[aria-pressed="true"] { border-color: var(--orange); background: rgba(255,135,46,.1); color: var(--orange); }
    body.preview-rmt-showcase .rmt-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
    .rmt-offer-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid #303536; border-radius: 11px; background: #141a1c; transition: transform 150ms ease, border-color 150ms ease; }
    .rmt-offer-card:hover { border-color: #6e472c; transform: translateY(-2px); }
    .rmt-offer-media { position: relative; aspect-ratio: 16 / 7; overflow: hidden; background: #0b0f10; }
    .rmt-offer-media :is(img, video) { width: 100%; height: 100%; display: block; object-fit: cover; filter: saturate(.92) contrast(1.03); transition: transform 220ms ease; }
    .rmt-offer-card:hover .rmt-offer-media :is(img, video) { transform: scale(1.025); }
    .rmt-offer-kind { position: absolute; top: 11px; left: 11px; min-height: 25px; padding: 0 9px; display: inline-flex; align-items: center; border: 1px solid rgba(255,135,46,.65); border-radius: 5px; background: rgba(13,17,19,.9); color: #ff9a50; font-size: 9px; font-weight: 900; letter-spacing: .7px; text-transform: uppercase; }
    .rmt-offer-kind.is-buy { border-color: #5a85a0; color: #91c5e4; }
    .rmt-offer-kind.is-trade { border-color: #7f67a0; color: #bea0e5; }
    .rmt-offer-body { padding: 17px 18px 18px; display: flex; flex: 1; flex-direction: column; }
    .rmt-offer-game { margin-bottom: 7px; color: var(--orange); font-size: 10px; font-weight: 850; letter-spacing: .45px; text-transform: uppercase; }
    .rmt-offer-title { margin: 0; color: #f2f0eb; font-size: 18px; line-height: 1.2; letter-spacing: -.25px; }
    .rmt-offer-meta { margin: 9px 0 15px; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #959b9c; font-size: 11px; }
    .rmt-offer-seller { display: inline-flex; align-items: center; gap: 7px; min-width: 0; color: #d4d6d4; font-weight: 750; }
    .rmt-offer-seller .rmt-avatar { width: 26px; height: 26px; flex-basis: 26px; border-width: 1px; box-shadow: none; font-size: 9px; }
    .rmt-offer-reputation { margin-top: auto; padding-top: 13px; display: flex; align-items: center; justify-content: space-between; gap: 10px; border-top: 1px solid #2a3031; color: #a8adae; font-size: 10px; }
    .rmt-offer-reputation strong { color: #d8dad7; font-size: 11px; }
    .rmt-offer-card .rmt-offer-cta { width: 100%; min-height: 39px; margin-top: 13px; border-color: #72482c; color: var(--orange); }
    .rmt-offer-card .rmt-offer-cta:hover { background: var(--orange); color: #17120e; }
    .rmt-player-ranking { margin: 42px 6px 0; padding-top: 30px; border-top: 1px solid var(--line); }
    .rmt-section-heading { margin-bottom: 15px; display: flex; align-items: end; justify-content: space-between; gap: 20px; }
    .rmt-section-heading h2 { margin: 0; font-size: 25px; letter-spacing: -.5px; }
    .rmt-section-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
    .rmt-player-strip { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
    .rmt-player-mini { padding: 13px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 8px; background: #13191b; color: inherit; text-align: left; cursor: pointer; }
    .rmt-player-mini:hover { border-color: #70482c; }
    .rmt-player-mini .rmt-avatar { width: 39px; height: 39px; flex-basis: 39px; font-size: 12px; }
    .rmt-player-mini span:last-child { min-width: 0; }
    .rmt-player-mini strong, .rmt-player-mini small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .rmt-player-mini strong { font-size: 12px; }
    .rmt-player-mini small { margin-top: 4px; color: var(--muted); font-size: 9px; }
    body.preview-rmt-showcase #rmt-profile-dialog { width: min(790px, calc(100% - 32px)); }
    body.preview-rmt-showcase #rmt-profile-dialog::backdrop { background: rgba(2,5,6,.82); backdrop-filter: blur(7px); }
    .rmt-profile-preview-head { margin-top: 22px; display: flex; align-items: center; gap: 10px; }
    .rmt-profile-preview-head .button:first-of-type { margin-left: auto; }
    .rmt-profile-preview-head .rmt-profile-reputation-inline { color: #f2c15a; font-size: 12px; font-weight: 850; }
    .rmt-profile-offers { margin: 24px 0; }
    .rmt-profile-offers > strong, .rmt-profile-about > strong { display: block; margin-bottom: 10px; font-size: 13px; }
    .rmt-profile-offer-list { display: grid; gap: 8px; }
    .rmt-profile-offer-row { padding: 12px 13px; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 7px; background: #111719; }
    .rmt-profile-offer-row strong, .rmt-profile-offer-row small { display: block; }
    .rmt-profile-offer-row strong { margin: 4px 0; font-size: 13px; }
    .rmt-profile-offer-row small { color: var(--muted); font-size: 10px; }
    .rmt-profile-offer-row .rmt-offer-game { margin: 0; }
    .rmt-profile-offer-status { color: #76c991; font-size: 10px; font-weight: 800; }
    .rmt-profile-offer-side { display: flex; align-items: flex-end; flex-direction: column; gap: 7px; }
    .rmt-offer-delete { padding: 0; border: 0; background: transparent; color: #e88974; font: inherit; font-size: 10px; font-weight: 750; cursor: pointer; }
    .rmt-offer-delete:hover { color: #ffad98; text-decoration: underline; }
    .rmt-profile-about { margin: 20px 0; }
    .rmt-profile-about .rmt-profile-bio { margin-bottom: 0; }
    body.preview-rmt-showcase .rmt-profile-actions { grid-template-columns: 1fr auto; }
    body.preview-rmt-showcase #rmt-profile-discord { display: none; }
    #rmt-offer-create-dialog { width: min(670px, calc(100% - 32px)); }
    #rmt-offer-create-form { display: grid; gap: 15px; }
    .rmt-offer-create-preview { min-height: 96px; padding: 18px; display: grid; place-items: center; border: 1px dashed #555b5c; border-radius: 8px; color: #969c9d; text-align: center; font-size: 11px; }

    @media (max-width: 980px) {
      body.preview-rmt-showcase .rmt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .rmt-player-strip { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    }
    @media (max-width: 720px) {
      body.preview-rmt-showcase .rmt-main { padding-top: 28px; }
      body.preview-rmt-showcase .rmt-hero { align-items: flex-start; }
      body.preview-rmt-showcase .rmt-toolbar { grid-template-columns: 1fr 1fr; }
      .rmt-type-filter, .rmt-player-ranking { margin-left: 0; margin-right: 0; }
      .rmt-player-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    }
    @media (max-width: 520px) {
      body.preview-rmt-showcase .rmt-main { width: calc(100% - 24px); padding-top: 20px; }
      body.preview-rmt-showcase .rmt-hero { display: flex; align-items: stretch; gap: 14px; }
      body.preview-rmt-showcase .rmt-hero .page-heading { font-size: 34px; }
      body.preview-rmt-showcase .rmt-hero p { display: block; font-size: 13px; }
      body.preview-rmt-showcase .rmt-hero-actions .button { width: 100%; }
      body.preview-rmt-showcase .rmt-toolbar { grid-template-columns: 1fr; }
      body.preview-rmt-showcase .rmt-toolbar .rmt-control:first-child { grid-column: auto; }
      body.preview-rmt-showcase .rmt-grid { grid-template-columns: 1fr; }
      .rmt-offer-media { aspect-ratio: 16 / 6.6; }
      .rmt-player-strip { grid-template-columns: 1fr; }
      .rmt-section-heading { align-items: flex-start; flex-direction: column; }
      .rmt-profile-preview-head { align-items: stretch; flex-wrap: wrap; }
      .rmt-profile-preview-head .button:first-of-type { margin-left: 0; }
      .rmt-profile-preview-head .button { flex: 1 1 150px; }
      .rmt-profile-offer-row { grid-template-columns: 1fr; }
      body.preview-rmt-showcase .rmt-profile-actions { grid-template-columns: 1fr; }
    }

    .site-footer {
      margin-top: 38px;
      border-top: 1px solid var(--line);
      background: #0f1416;
    }
    .footer-inner {
      width: min(100% - 64px, 1440px);
      min-height: 230px;
      margin: auto;
      display: grid;
      grid-template-columns: minmax(250px, 1.45fr) repeat(4, minmax(135px, 1fr));
      align-items: start;
      gap: clamp(28px, 3vw, 54px);
      padding: 48px 0 40px;
      color: var(--muted);
      font-size: 14px;
    }
    .footer-brandline { display: flex; align-items: center; gap: 12px; color: var(--text); font-size: 21px; }
    .footer-mark { width: 40px; height: 40px; }
    .footer-about p { max-width: 330px; margin: 15px 0 0; line-height: 1.65; }
    .footer-column > strong { display: block; margin: 4px 0 18px; color: var(--text); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
    .footer-nav { display: grid; justify-items: start; gap: 13px; }
    .footer-nav a, .footer-nav button { padding: 0; border: 0; background: transparent; color: var(--muted); font: inherit; line-height: 1.35; text-align: left; text-decoration: none; cursor: pointer; }
    .footer-nav a:hover, .footer-nav button:hover { color: var(--orange); }
    .footer-channel { display: inline-flex; align-items: center; gap: 8px; }
    .footer-link { display: inline-flex; align-items: center; gap: 10px; color: var(--orange); text-decoration: none; }
    .footer-link:hover { color: var(--text); }
    .footer-avatar { width: 30px; height: 30px; border: 1px solid var(--line-strong); border-radius: 50%; }
    .footer-bottom { width: min(100% - 64px, 1440px); margin: auto; padding: 19px 0 24px; display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
    .footer-credit strong { color: var(--orange); }
    .seo-content {
      width: min(100% - 64px, 1440px);
      margin: 44px auto 0;
      padding: 28px 30px;
      border: 1px solid var(--line);
      border-radius: 12px;
      background: linear-gradient(135deg, rgba(255,135,46,.045), rgba(255,255,255,.012));
    }
    .seo-content h2 { margin: 0 0 10px; color: var(--text); font-size: 20px; letter-spacing: -.35px; }
    .seo-content h2:not(:first-child) { margin-top: 24px; }
    .seo-content p { max-width: 980px; margin: 8px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
    .seo-content-links { margin-top: 19px; display: flex; flex-wrap: wrap; gap: 8px; }
    .seo-content-links a { padding: 8px 11px; border: 1px solid var(--line); border-radius: 7px; color: #d7d8d6; font-size: 12px; text-decoration: none; }
    .seo-content-links a:hover { border-color: #70482c; color: var(--orange); }
    .claim-steps { display: grid; gap: 12px; margin: 22px 0; }
    .claim-step { padding: 14px 16px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.018); }
    .claim-step strong { display: block; margin-bottom: 4px; color: var(--text); }
    .claim-step span { color: var(--muted); font-size: 13px; line-height: 1.45; }
    .claim-code { display: block; margin-top: 8px; padding: 9px 11px; overflow-x: auto; border-radius: 6px; background: #0d1113; color: #ffd1ad; font-size: 11px; }
    .pending-claim-notice { margin: 0 0 22px; padding: 16px 18px; display: flex; align-items: center; justify-content: space-between; gap: 18px; border: 1px solid #78451f; border-radius: 9px; background: #21140d; }
    .pending-claim-notice strong, .pending-claim-notice span { display: block; }
    .pending-claim-notice span { margin-top: 3px; color: #dfb99c; font-size: 13px; }
    .claim-methods { min-width: 0; margin: 20px 0 12px; padding: 0; border: 0; }
    .claim-methods legend { margin-bottom: 10px; color: var(--text); font-size: 14px; font-weight: 700; }
    .claim-method-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(165px, 1fr)); gap: 9px; }
    .claim-method { min-width: 0; padding: 12px; display: flex; align-items: flex-start; gap: 9px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.018); cursor: pointer; }
    .claim-method:has(input:checked) { border-color: var(--orange); background: rgba(255,135,46,.08); }
    .claim-method:has(input:disabled) { opacity: .48; cursor: not-allowed; }
    .claim-method input { margin: 3px 0 0; accent-color: var(--orange); }
    .claim-method strong, .claim-method small { display: block; }
    .claim-method small { margin-top: 3px; color: var(--muted); font-size: 11px; line-height: 1.35; }
    .claim-file-url { margin: 9px 0 0; color: var(--muted); font-size: 12px; word-break: break-all; }
    .claim-file-url a { color: var(--orange); }
    .claim-method-badge { display: block; margin-bottom: 2px; color: var(--orange); font-size: 10px; text-transform: uppercase; letter-spacing: .7px; }
    .claim-instructions { margin-bottom: 12px; }
    .claim-instructions p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.5; }
    .claim-instructions code + code { margin-top: 6px; }
    .field-help { color: var(--muted); font-size: 12px; line-height: 1.45; }
    .owner-vitrine-atual { margin-top: 9px; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; aspect-ratio: 1260 / 300; background: #0c0e0f; }
    .owner-vitrine-atual img, .owner-vitrine-atual video { width: 100%; height: 100%; object-fit: cover; display: block; }
    .owner-vitrine-clear { margin-top: 8px; display: flex; gap: 8px; align-items: center; color: var(--muted); font-size: 12.5px; }
    #owner-cover-help.gif-upload-guide { padding: 12px 14px; border: 1px solid rgba(255,135,46,.34); border-radius: 7px; background: rgba(255,135,46,.055); }
    .gif-upload-guide strong, .gif-upload-guide > span { display: block; }
    .gif-upload-guide strong { color: var(--orange); }
    .gif-upload-guide > span { margin-top: 3px; color: #d7d9da; }
    .gif-upload-guide ul { margin: 9px 0; padding-left: 18px; }
    .gif-upload-guide li + li { margin-top: 4px; }
    .gif-upload-guide a { color: var(--orange); font-weight: 750; }
    .account-button { min-height: 40px; padding: 0 14px; border: 0; background: transparent; color: var(--muted); cursor: pointer; }
    .account-button:hover { color: var(--text); }
    .account-button[data-authenticated="true"] { color: var(--orange); }
    .auth-promessa { margin: -6px 0 14px; color: var(--muted); font-size: 12.5px; line-height: 1.55; }
    .auth-promessa strong { color: var(--text); font-weight: 650; }
    .auth-card { margin: 20px 0; padding: 18px; display: flex; align-items: center; gap: 13px; border: 1px solid var(--line); border-radius: 9px; background: rgba(255,255,255,.018); }
    .auth-avatar { width: 42px; height: 42px; border-radius: 50%; object-fit: cover; }
    .auth-card strong, .auth-card small { display: block; }
    .auth-card small { margin-top: 3px; color: var(--muted); }
    .auth-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
    @media (max-width: 720px) { .auth-actions { grid-template-columns: 1fr; } }
    .auth-provider-options { margin: 22px 0 10px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; align-items: center; }
    .google-signin { min-height: 44px; display: flex; justify-content: center; }
    .discord-signin { min-height: 44px; border-color: #5865f2; background: #5865f2; color: #fff; font-weight: 700; }
    .discord-signin:hover { border-color: #6d78f5; background: #6d78f5; }
    .discord-signin svg { width: 21px; height: 21px; fill: currentColor; }
    @media (max-width: 720px) { .auth-provider-options { grid-template-columns: 1fr; } }
    .security-widget { min-height: 68px; margin: 20px 0; display: grid; place-items: center; }
    .vote-transparency-grid { margin-top: 20px; display: grid; gap: 9px; }
    .vote-transparency-item { padding: 13px 14px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.016); }
    .vote-transparency-item strong, .vote-transparency-item span { display: block; }
    .vote-transparency-item strong { font-size: 14px; }
    .vote-transparency-item span { margin-top: 4px; color: var(--muted); font-size: 12px; line-height: 1.5; }
    .human-challenge { margin-top: 18px; padding: 16px; border: 1px solid rgba(255,135,46,.34); border-radius: 9px; background: rgba(255,135,46,.06); }
    .security-steps { margin-top: 18px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
    .security-step { min-height: 48px; padding: 10px 11px; display: flex; align-items: center; gap: 9px; border: 1px solid var(--line); border-radius: 8px; color: var(--muted); font-size: 11px; font-weight: 750; }
    .security-step i { width: 22px; height: 22px; flex: 0 0 22px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 50%; color: var(--muted); font-style: normal; font-size: 10px; }
    .security-step.is-complete { border-color: rgba(77,190,115,.34); color: #d9f3e1; background: rgba(77,190,115,.055); }
    .security-step.is-complete i { border-color: #67d987; background: #67d987; color: #102016; }
    .human-challenge > small { display: block; margin-bottom: 7px; color: var(--orange); font-size: 10px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
    .human-challenge > strong { display: block; font-size: 18px; line-height: 1.35; }
    .human-challenge-help { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
    .human-challenge-options { margin-top: 13px; display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
    .human-challenge-choice { position: relative; min-height: 44px; display: grid; place-items: center; border: 1px solid var(--line-strong); border-radius: 8px; background: #111617; color: var(--text); font-weight: 800; cursor: pointer; }
    .human-challenge-choice:has(input:checked) { border-color: var(--orange); background: rgba(255,135,46,.14); color: #fff; }
    .human-challenge-choice input { position: absolute; opacity: 0; pointer-events: none; }
    #human-challenge-answer { margin-top: 13px; text-align: center; font-size: 18px; font-weight: 800; }
    #security-confirm { width: 100%; }
    .terms-copy { max-height: min(54vh, 520px); overflow-y: auto; padding-right: 10px; color: var(--muted); line-height: 1.6; }
    .terms-copy h3 { margin: 22px 0 4px; color: var(--text); font-size: 16px; }
    .terms-copy p { margin: 0; }
    .terms-actions { margin-top: 24px; }

    @media (max-width: 1120px) {
      .game-row { grid-template-columns: 64px 310px minmax(220px, 1fr) 290px; }
      .game-actions { grid-template-columns: 1fr; }
      .ranking-action { gap: 7px; }
      .footer-inner { grid-template-columns: minmax(240px, 1.25fr) 1fr 1fr; }
      .footer-about { grid-row: span 2; }
    }

    /* Vitrine do plano Master — bloco de destaque acima do ranking (home).
       Identidade do Master: azul -> roxo (--master-*). Sem caixa em volta —
       só o rótulo, a borda de cada linha e a régua que separa do anúncio. */
    .master-vitrine { margin: 20px 0 4px; }
    .master-vitrine:not(:has(.vitrine-palco)) { display: none; }
    .master-vitrine-eyebrow {
      margin: 0 0 12px; display: flex; align-items: center; gap: 10px;
      color: var(--master-text); font-family: inherit; font-size: 11px; font-weight: 800;
      letter-spacing: .14em; text-transform: uppercase;
    }
    .master-vitrine-eyebrow::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, var(--master-line), transparent); }
    .master-vitrine-list { display: flex; flex-direction: column; gap: 11px; }
    .vitrine-cat { display: flex; align-items: center; gap: 9px; margin-top: 6px; }
    .vitrine-cat:first-child { margin-top: 0; }
    .vitrine-cat-tag {
      display: inline-flex; align-items: center; gap: 6px; padding: 4px 11px 4px 9px;
      border: 1px solid rgba(131,185,255,.4); border-radius: 999px; background: rgba(107,113,198,.1);
      color: #dfe5ff; font-size: 12px; font-weight: 700; letter-spacing: .01em;
    }
    .vitrine-cat-tag svg {
      width: 14px; height: 14px; fill: none; stroke: var(--master-blue); stroke-width: 1.6;
      stroke-linecap: round; stroke-linejoin: round;
    }
    .vitrine-cat-count { color: var(--muted); font-size: 11.5px; }
    .vitrine-group {
      display: flex; flex-direction: column; gap: 11px;
      margin-left: 8px; padding-left: 13px; border-left: 2px solid rgba(131,185,255,.28);
    }
    @media (max-width: 640px) { .vitrine-group { margin-left: 4px; padding-left: 9px; } }
    /* separação entre a área do Master e o anúncio logo abaixo */
    .after-vitrine-rule {
      height: 1px; margin: 6px 6px 20px;
      background: linear-gradient(90deg, transparent, var(--master-line-soft) 20%, var(--master-line-soft) 80%, transparent);
    }
    .master-vitrine:not(:has(.vitrine-palco)) + .after-vitrine-rule { display: none; }
    /* Palco do Master (18/09): um destaque grande que reveza sozinho e, ao lado,
       a fila com todos — a mesma para todo mundo, na ordem sorteada da visita. */
    .vitrine-palco { display: grid; gap: 10px; }
    .vitrine-destaque {
      position: relative; display: flex; flex-direction: column; overflow: hidden; border-radius: 14px; cursor: pointer;
      border: 1px solid transparent;
      background: linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box, var(--master-grad) border-box;
    }
    .vitrine-destaque:focus-visible { outline: 2px solid var(--master-blue); outline-offset: 2px; }
    .vitrine-destaque-banner { position: relative; display: block; aspect-ratio: 1260 / 300; max-height: 260px; overflow: hidden; background: #0c0e0f; }
    .vitrine-destaque-media { width: 100%; height: 100%; object-fit: cover; display: block; }
    .vitrine-destaque.is-entrando .vitrine-destaque-media, .vitrine-destaque.is-entrando .vitrine-destaque-corpo { animation: vitrine-entra .45s ease both; }
    @keyframes vitrine-entra { from { opacity: .35; } to { opacity: 1; } }
    /* Barra de tempo: ponta a ponta embaixo do banner, recomeça a cada troca. */
    .vitrine-tempo { position: absolute; left: 0; right: 0; bottom: 0; height: 4px; background: rgba(0,0,0,.45); }
    .vitrine-tempo i { display: block; height: 100%; transform-origin: left; transform: scaleX(0);
      background: linear-gradient(90deg, var(--master-blue), var(--master-purple)); }
    .vitrine-tempo.is-correndo i { animation: vitrine-tempo var(--vitrine-tempo, 10s) linear both; }
    .vitrine-palco.is-parado .vitrine-tempo i { animation-play-state: paused; }
    @keyframes vitrine-tempo { from { transform: scaleX(0); } to { transform: scaleX(1); } }
    .vitrine-seta {
      position: absolute; top: 50%; transform: translateY(-50%); width: 36px; height: 36px; padding: 0;
      display: grid; place-items: center; border: 1px solid rgba(255,255,255,.18); border-radius: 50%;
      background: rgba(8,10,12,.62); color: #fff; font-size: 22px; line-height: 1; cursor: pointer;
      opacity: .8; transition: opacity .15s, background .15s;
    }
    .vitrine-seta:hover, .vitrine-seta:focus-visible { opacity: 1; background: rgba(8,10,12,.85); }
    .vitrine-seta.is-antes { left: 10px; }
    .vitrine-seta.is-depois { right: 10px; }
    .vitrine-destaque-corpo { flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px; align-items: center; padding: 12px 18px 14px; }
    .vitrine-destaque-info { min-width: 0; display: grid; gap: 5px; align-content: start; }
    .vitrine-destaque-tags { display: flex; gap: 7px; align-items: center; white-space: nowrap; }
    .vitrine-badge-mini { padding: 3px 9px; border-radius: 999px; background: linear-gradient(150deg, rgba(101,155,204,.28), rgba(125,82,190,.26)); color: #e8ecff; font-size: 10.5px; font-weight: 800; letter-spacing: .1em; }
    .vitrine-cat-mini { padding: 3px 9px; border: 1px solid var(--master-line-soft); border-radius: 999px; color: var(--master-text); font-size: 11px; font-weight: 700; }
    .vitrine-destaque .vitrine-name { font-size: 20px; }
    .vitrine-desc { color: #c9ccd0; font-size: 13.5px; line-height: 1.45; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
    .vitrine-desc:empty { display: none; }
    .vitrine-palco .vitrine-actions { display: grid; gap: 8px; padding: 0; min-width: 190px; }
    .vitrine-palco .vitrine-actions .vitrine-go { padding: 12px 18px; font-size: 14px; }
    .vitrine-palco .vitrine-actions .vitrine-vote { padding: 9px 16px; }
    .vitrine-pontos { display: flex; justify-content: center; gap: 7px; overflow-x: auto; padding: 2px 0; }
    .vitrine-pontos button { flex: 0 0 auto; width: 8px; height: 8px; padding: 0; border: 0; border-radius: 50%; background: var(--line-strong); cursor: pointer; }
    .vitrine-pontos button[aria-current="true"] { width: 22px; border-radius: 99px; background: var(--master-blue); }
    @media (prefers-reduced-motion: reduce) {
      .vitrine-destaque.is-entrando .vitrine-destaque-media, .vitrine-destaque.is-entrando .vitrine-destaque-corpo { animation: none; }
      .vitrine-tempo { display: none; }
    }
    @media (max-width: 900px) {
      .vitrine-palco .vitrine-destaque > * { grid-area: auto; grid-column: auto; }
      .vitrine-destaque-corpo { grid-template-columns: 1fr; gap: 12px; padding: 12px 14px 14px; }
      .vitrine-destaque .vitrine-name { font-size: 18px; }
      /* grid-area: a regra da lista Master de baixo (.vitrine-actions { grid-area: actions })
         vazava para o palco e partia o card em três colunas no celular (28/09). */
      .vitrine-palco .vitrine-actions { grid-area: auto; grid-template-columns: 1fr auto; min-width: 0; border-top: 0; }
      .vitrine-palco .vitrine-actions .vitrine-go, .vitrine-palco .vitrine-actions .vitrine-vote { border-radius: 8px; }
      .vitrine-seta { width: 32px; height: 32px; font-size: 20px; }
    }
    .vitrine-row {
      display: grid; grid-template-columns: 64px 208px minmax(0, 1fr) 244px; align-items: stretch;
      height: 116px; overflow: hidden; border-radius: 12px; cursor: pointer;
      border: 1px solid transparent;
      background:
        linear-gradient(var(--surface-strong), var(--surface-strong)) padding-box,
        var(--master-grad) border-box;
      background-size: 100% 100%, 240% 240%;
    }
    .vitrine-row:hover { box-shadow: 0 0 20px rgba(120,150,235,.20); }
    .vitrine-row:focus-visible { outline: 2px solid var(--master-blue); outline-offset: 2px; }
    .vitrine-badge {
      display: grid; place-content: center; gap: 5px; border-right: 1px solid var(--master-line-soft);
      background: linear-gradient(150deg, rgba(101,155,204,.22), rgba(125,82,190,.20));
      color: #e8ecff; font-size: 16px; line-height: 1;
      text-shadow: 0 0 8px rgba(151,224,255,.55), 0 0 14px rgba(164,112,255,.4);
    }
    .vitrine-badge span { font-size: 10px; font-weight: 800; letter-spacing: .1em; }
    .vitrine-thumb { overflow: hidden; border-right: 1px solid var(--master-line-soft); background: #0c0e0f; }
    .vitrine-thumb-media { width: 100%; height: 100%; object-fit: cover; display: block; }
    .vitrine-info { min-width: 0; padding: 14px 18px; display: flex; flex-direction: column; gap: 5px; justify-content: center; }
    .vitrine-name {
      color: var(--text); text-decoration: none; font-size: 17px; font-weight: 750;
      white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
    }
    .vitrine-name:hover { color: var(--master-blue); }
    .vitrine-meta { color: var(--muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .vitrine-meta strong { color: var(--master-text); }
    .vitrine-domain { color: #8b90c0; }
    .vitrine-actions { display: flex; align-items: center; gap: 9px; padding: 0 18px 0 6px; }
    .vitrine-actions .vitrine-vote,
    .vitrine-actions .vitrine-go {
      font: inherit; font-size: 13px; font-weight: 700; border-radius: 8px; white-space: nowrap;
      text-decoration: none; text-align: center; cursor: pointer;
    }
    .vitrine-vote {
      flex: 0 0 auto; padding: 11px 16px; border: 1px solid var(--master-line);
      background: rgba(107,113,198,.10); color: var(--master-text);
    }
    .vitrine-vote:hover { border-color: var(--master-blue); color: #eef1ff; }
    .vitrine-go {
      flex: 1; padding: 11px 10px; border: 1px solid var(--orange);
      background: var(--orange); color: #160b03;
    }
    .vitrine-go:hover { background: #ff9648; }

    @media (max-width: 1120px) {
      .vitrine-row { grid-template-columns: 60px 180px minmax(0, 1fr) 224px; }
    }
    @media (max-width: 820px) {
      .master-vitrine { margin: 14px 0 4px; }
      .after-vitrine-rule { margin: 4px 4px 16px; }
      .vitrine-row {
        grid-template-columns: 90px minmax(0, 1fr);
        grid-template-areas: "thumb info" "actions actions";
        height: auto; align-items: center; position: relative;
      }
      .vitrine-thumb {
        grid-area: thumb; width: 66px; height: 66px; margin: 12px; border-right: 0;
        border: 1px solid var(--line); border-radius: 8px;
      }
      .vitrine-badge {
        grid-area: thumb; align-self: start; justify-self: start;
        width: 22px; height: 22px; margin: 6px 0 0 6px; border-right: 0; border-radius: 6px; z-index: 1;
      }
      .vitrine-badge span { display: none; }
      .vitrine-info { grid-area: info; padding: 12px 14px 12px 4px; }
      .vitrine-name { font-size: 15px; }
      .vitrine-actions { grid-area: actions; padding: 0; border-top: 1px solid var(--master-line-soft); }
      .vitrine-actions .vitrine-vote,
      .vitrine-actions .vitrine-go {
        flex: 1; border-radius: 0; padding: 12px 6px; border: 0;
      }
      .vitrine-vote { border-right: 1px solid var(--master-line-soft); }
    }

    @media (max-width: 820px) {
      .header-inner, main, .footer-inner { width: calc(100% - 32px); }
      .brand { width: 178px; height: 45px; }
      .brand img { width: 178px; transform: translateY(-23px); }
      .header-inner { gap: 18px; }
      .nav-link:not(.nav-pro) { display: none; }
      .nav-pro { padding: 0 12px; font-size: 12px; }
      .pro-main { width: calc(100% - 32px); padding: 42px 0 64px; }
      .pro-sales-hero { min-height: 0; grid-template-columns: 1fr; gap: 30px; padding-bottom: 40px; }
      .pro-records { grid-template-columns: 1fr 1fr; }
      .pro-records > span:nth-child(2) { border-right: 0; }
      .pro-records > span:last-child { grid-column: 1 / -1; }
      .pro-benefits, .pro-details { grid-template-columns: 1fr; gap: 0; }
      .pro-benefit { min-height: 0; padding: 22px 0; border-right: 0; border-bottom: 1px solid var(--line); }
      .pro-details { gap: 42px; }
      .pro-final { align-items: stretch; flex-direction: column; }
      .hero { padding: 16px 6px 12px; }
      .hero #page-title { font-size: 26px; letter-spacing: -1px; }
      .hero > div > p { margin-top: 8px; font-size: 13px; line-height: 1.45; }
      .filters { margin: 0; padding: 0; }
      .public-proof { margin-top: 13px; grid-template-columns: 1fr 1fr; }
      .public-proof > span { min-height: 54px; padding: 9px 12px; }
      .public-proof > span:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
      .public-proof > span:nth-child(4) { border-top: 1px solid var(--line); }
      .public-proof strong { font-size: 18px; }
      /* .hero p (17px, bloco de 640 px) vencia o .hero-cycle: o reset ficava maior que o texto. */
      .hero .hero-cycle { margin-top: 8px; font-size: 12.5px; line-height: 1.45; }
      .hero-cycle .ranking-method { margin-top: 2px; font-size: 12px; }
      .ranking-toolbar { margin: 26px 0 0; gap: 7px; }
      /* No celular os dois rankings dividem a primeira linha e as categorias
         descem para a de baixo: a divisória sobra. */
      .tb-mode { flex: 1 1 0; justify-content: center; padding: 8px 12px; }
      .tb-divisoria { display: none; }
      .tb-cats { width: 100%; gap: 7px; }
      .tb-cat { flex: 1 1 40%; justify-content: center; padding: 7px 8px; font-size: 12px; }
      .tb-explore { flex: 1 1 40%; }
      .tb-explore summary { justify-content: center; padding: 7px 8px; font-size: 12px; }
      .tb-explore-menu { width: 100%; }
      .game-row {
        padding: 0;
        grid-template-columns: 52px minmax(0, 1fr);
        grid-template-areas: "rank banner" "rank info" "actions actions";
      }
      .rank { grid-area: rank; }
      .game-banner-frame { grid-area: banner; height: 124px; min-height: 124px; border-right: 0; }
      .game-banner { height: 100%; min-height: 0; }
      .game-banner { object-position: var(--banner-mobile-x, 50%) var(--banner-mobile-y, 50%); transform: scale(var(--banner-mobile-zoom, 1)); transform-origin: var(--banner-mobile-x, 50%) var(--banner-mobile-y, 50%); }
      .game-info { grid-area: info; padding: 14px 18px 15px; }
      .game-description { margin: 5px 0 0; max-height: calc(1.45em + 2px); }
      .game-description span { -webkit-line-clamp: 1; }
      /* Apoiar sai do card no mobile — segue no diálogo do jogo (#details-support). */
      .card-support-button { display: none; }
      /* Selos do card viram só ícone no mobile (texto fica no diálogo do jogo),
         igual ao .rank-plan-label — evita o nome quebrar em 2 linhas. */
      .game-title-line .game-badge span { display: none; }
      .game-title-line .game-badge { min-height: 22px; padding: 3px 6px; gap: 3px; }
      /* Título e selos numa linha só: nomes gigantes truncam com reticências. */
      .game-title-line { flex-wrap: nowrap; }
      .game-title-line .game-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
      .game-title-line .game-badges { flex: 0 0 auto; }
      .game-row .game-actions { grid-area: actions; min-height: 138px; grid-template-rows: 92px 46px; border-top: 1px solid var(--line); border-left: 0; }
      .game-row.is-top-gold .game-actions,
      .game-row.plan-tier-light .game-actions,
      .game-row.plan-tier-pro .game-actions,
      .game-row.plan-tier-master .game-actions { min-height: 150px; grid-template-rows: 104px 46px; }
      .footer-inner { padding: 30px 0; grid-template-columns: 1fr 1fr; gap: 30px; }
      .footer-about { grid-column: 1 / -1; grid-row: auto; }
      .footer-bottom { width: calc(100% - 32px); }
      #admin-payments-dialog { width: 100%; max-height: 100dvh; border-radius: 0; }
      .admin-dashboard-body { min-height: 100dvh; padding: 20px; }
      .admin-dashboard-header { padding-right: 48px; align-items: stretch; flex-direction: column; gap: 14px; }
      .admin-period-control select { width: 100%; }
      .admin-dashboard-content { display: grid; }
      .admin-tab { padding: 10px 12px; font-size: 13px; }
      .admin-payout { grid-template-columns: 1fr; }
      .admin-claim { grid-template-columns: 1fr; }
      .admin-campaign-head { align-items: stretch; flex-direction: column; }
      .admin-campaign-tabs { width: 100%; }
      .admin-campaign-tab { flex: 1; }
      .admin-game-manager { grid-template-columns: 1fr; }
      .admin-chart { overflow-x: auto; overflow-y: hidden; }
      .admin-chart svg { min-width: 720px; }
      #partnership-dialog { width: 100%; }
      .partnership-head { padding-right: 34px; display: block; }
      .partnership-head h2 { font-size: 27px; }
      .partnership-game { width: 100%; margin-top: 13px; box-sizing: border-box; text-align: left; }
      .partnership-journey, .partnership-layout { grid-template-columns: 1fr; }
      .partnership-step { min-height: 62px; border-top: 1px solid var(--line); border-left: 0; }
      .partnership-step:first-child { border-top: 0; }
      .partnership-apply { align-items: stretch; flex-direction: column; }
      .partnership-form-grid, .partnership-context-grid { grid-template-columns: 1fr; }
      .partnership-form-grid .field-full { grid-column: auto; }
    }

    @media (max-width: 520px) {
      .site-header { height: 68px; }
      .header-inner, main, .footer-inner, .footer-bottom { width: calc(100% - 24px); }
      .header-inner { gap: 8px; }
      .header-inner .button { padding: 0 9px; font-size: 11px; }
      .account-button { min-width: 0; max-width: 96px; padding: 0 2px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
      .brand { width: 126px; height: 34px; flex: 0 0 126px; }
      .brand img { width: 126px; transform: translateY(-17px); }
      .nav-pro { min-height: 34px; padding: 0 8px; font-size: 10px; }
      .nav-pro { display: none; }
      .brand { width: 104px; flex-basis: 104px; }
      .brand img { width: 104px; transform: translateY(-14px); }
      .language-switcher { gap: 1px; padding: 2px; }
      .language-option { min-width: 32px; height: 32px; padding: 0 6px; font-size: 11px; }
      .mobile-section-switch { width: calc(100% - 24px); margin-top: 8px; }
      .pro-main { width: calc(100% - 24px); padding-top: 28px; }
      .pro-sales-hero h1 { font-size: 43px; letter-spacing: -2.7px; }
      .pro-sales-hero p { margin: 17px 0 23px; font-size: 15px; }
      .pro-price-box { padding: 22px; }
      .pro-price-box strong { font-size: 39px; }
      .pro-records > span { min-height: 82px; padding: 14px; }
      .pro-records strong { font-size: 21px; }
      .pro-records > span:last-child { border-right: 0; }
      .pro-final .button { width: 100%; }
      .hero #page-title { font-size: 24px; }
      .pending-claim-notice { align-items: stretch; flex-direction: column; }
      .claim-method-grid { grid-template-columns: 1fr; }
      .ranking-toolbar { padding-bottom: 14px; gap: 7px; }
      .tb-cat b { font-size: 10px; }
      .game-row { grid-template-columns: 42px minmax(0,1fr); }
      .rank { font-size: 28px; }
      .rank-plan-label { min-width: 24px; min-height: 20px; padding: 3px 5px; }
      .rank-plan-label span { display: none; }
      .rank-plan-label svg { width: 10px; height: 10px; }
      .game-banner-frame { height: 108px; min-height: 108px; }
      .game-info { padding: 12px 14px 13px; }
      .game-name { font-size: 18px; }
      .game-description { font-size: 13px; }
      .ranking-action { gap: 8px; }
      .action-metric strong { font-size: 30px; }
      .community-score { font-size: 10px; }
      .card-support-button { grid-column: 1 / -1; grid-row: 4; justify-self: start; margin-top: 11px; }
      .news-item { grid-template-columns: 1fr; gap: 7px; }
      #rating-dialog { width: 100%; }
      .rating-head { grid-template-columns: 110px minmax(0,1fr); gap: 14px; }
      .rating-banner { width: 110px; height: 76px; }
      .rating-game h2 { font-size: 21px; }
      .rating-community { align-items: flex-start; flex-direction: column; }
      #details-dialog { width: 100%; }
      .details-gallery { grid-template-columns: 1fr; }
      .sponsored-discovery { min-height: 0; padding: 11px 11px 14px; grid-template-columns: 112px minmax(0,1fr); gap: 11px; }
      .sponsored-discovery .sponsored-banner-frame { width: 112px; height: 72px; aspect-ratio: auto; }
      .sponsored-discovery p { display: none; }
      .sponsored-discovery .button { grid-column: 1 / -1; width: 100%; }
      .details-sponsored { grid-template-columns: 86px minmax(0,1fr); }
      .details-sponsored .sponsored-banner-frame { width: 86px; height: 54px; }
      .details-sponsored .button { grid-column: 1 / -1; width: 100%; }
      .sponsored-inline { grid-template-columns: 82px minmax(0,1fr); }
      .sponsored-inline .sponsored-banner-frame { width: 82px; height: 52px; }
      .sponsored-inline .button { grid-column: 1 / -1; width: 100%; }
      .vote-rating-invite { padding: 13px; }
      .vote-inline-row { grid-template-columns: 1fr; gap: 2px; padding: 8px 10px; }
      .vote-inline-stars { justify-content: space-between; }
      .vote-inline-star { width: 39px; height: 39px; }
      .vote-inline-star svg { width: 29px; height: 29px; }
      .vote-rating-invite-actions { align-items: stretch; flex-direction: column; }
      .vote-rating-invite .button { width: 100%; }
      .vote-owner-ad-upsell { align-items: stretch; flex-direction: column; }
      .vote-owner-ad-upsell .button { width: 100%; }
      .details-community-row { align-items: flex-start; flex-direction: column; gap: 6px; }
      .details-community-row .details-rating { width: 100%; grid-template-columns: 1fr; }
      .details-community-row .details-rating-action { padding: 0 0 0 37px; border-left: 0; font-size: 11px; }
      .details-community-row .details-rating-breakdown { grid-column: 1; }
      .details-rating-summary .community-rating-copy { flex-wrap: wrap; }
      .details-community-row .dialog-like { min-height: 34px; }
      .details-outbound-actions { grid-template-columns: 1fr; }
      .details-vote-panel { padding: 15px 13px 13px; }
      .details-vote-count { font-size: 25px; }
      .pro-info-hero { margin: -30px -30px 0; padding: 30px 54px 24px 24px; }
      .pro-info-hero h2 { font-size: 26px; }
      .pro-info-actions .button { width: 100%; }
      .rating-levels { grid-template-columns: 1fr 1fr; }
      .rating-criterion { grid-template-columns: 1fr; gap: 11px; }
      .star-picker { justify-content: space-between; }
      .rating-star { width: 42px; height: 42px; }
      .rating-actions { display: grid; grid-template-columns: 1fr 1fr; }
      .rating-actions .button { min-width: 0; }
      .monetization-plan, .monetization-grid { grid-template-columns: 1fr; }
      #monetization-dialog .register-title { max-width: calc(100% - 58px); font-size: 24px; line-height: 1.12; }
      .monetization-benefit-grid { grid-template-columns: 1fr 1fr; }
      .monetization-benefit { padding: 0 14px 15px; }
      .monetization-benefit:nth-child(2) { border-right: 0; }
      .monetization-benefit:nth-child(n+3) { padding-top: 15px; border-top: 1px solid var(--line); }
      .monetization-plan { align-items: stretch; }
      .monetization-renewal { padding: 16px 0 0; border-top: 1px solid var(--line-strong); border-left: 0; }
      .monetization-plan > .button:not(.is-secondary-danger) { width: 100%; }
      #monetization-subscription-action.is-secondary-danger { justify-self: start; }
      .monetization-card { min-height: 0; }
      .campaign-head { grid-template-columns: 105px minmax(0,1fr); }
      .campaign-head :is(img, video) { width: 105px; height: 58px; }
      .admin-payment-toolbar { align-items: flex-start; flex-direction: column; }
      .admin-payment-data { grid-template-columns: 1fr; }
      .admin-payment-actions { display: grid; grid-template-columns: 1fr 1fr; }
      .admin-payment-actions .button, .admin-payment-actions a { width: 100%; }
      .admin-dashboard-body { padding: 16px; }
      .admin-dashboard-header h2 { font-size: 25px; }
      .admin-panel { padding: 16px 14px; }
      .admin-growth-metrics { grid-template-columns: 1fr 1fr; gap: 14px 8px; }
      .admin-finance-rail { grid-template-columns: 1fr 1fr; }
      .admin-finance-rail > span:nth-child(n+3) { border-top: 1px solid var(--line); }
      .admin-finance-rail > span:nth-child(3) { border-left: 0; }
      .admin-finance-grid { grid-template-columns: 1fr; }
      .admin-finance-flow { grid-template-columns: 1fr; gap: 10px; }
      .admin-finance-stage + .admin-finance-stage::before { content: "↓"; left: 50%; top: -14px; transform: translateX(-50%); }
      .admin-finance-table { display: block; overflow-x: auto; }
      .admin-money-summary { grid-template-columns: 1fr 1fr; }
      .admin-money-summary span:nth-child(n+3) { padding-left: 0; border-top: 1px solid var(--line); border-left: 0; }
      .admin-funnel { grid-template-columns: 1fr; }
      .admin-payment-history { padding: 14px; }
      .admin-news-source-form { grid-template-columns: 1fr; }
      .admin-news-draft { grid-template-columns: 64px minmax(0,1fr); }
      .admin-news-draft img, .admin-news-placeholder { width: 64px; height: 54px; }
      .admin-news-actions { grid-column: 1 / -1; }
      .campaign-head { grid-template-columns: 110px minmax(0,1fr); }
      .campaign-head :is(img, video) { width: 110px; height: 58px; }
      .credit-payment-actions { grid-template-columns: 1fr; }
      .credit-purchase-summary { align-items: flex-start; }
      .support-kind-grid, .support-plan-grid { grid-template-columns: 1fr; }
      .support-preset-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .support-summary { align-items: flex-start; }
      .credit-plan-use { align-items: stretch; flex-direction: column; }
      .credit-plan-use .button { width: 100%; }
      .activity-table th:first-child, .activity-table td:first-child { display: none; }
      .developer-card-head, .credential-line { align-items: stretch; grid-template-columns: 1fr; flex-direction: column; }
      #reminders-dialog .dialog-body { padding: 24px 16px 18px; }
      .reminders-kicker { margin-bottom: 5px; }
      .reminders-intro { padding-right: 34px; font-size: 13px; }
      .reminders-overview { padding: 14px; align-items: stretch; flex-direction: column; gap: 12px; }
      .reminders-overview-copy strong { font-size: 18px; }
      .reminders-overview .button { width: 100%; min-width: 0; }
      .reminders-layout { grid-template-columns: 1fr; gap: 12px; }
      .reminders-panel { padding: 14px 12px; }
      .reminders-panel-head { margin-bottom: 11px; }
      .reminders-panel-head small { display: none; }
      .reminder-game { min-height: 62px; grid-template-columns: 68px minmax(0,1fr) 30px; gap: 9px; }
      .reminder-game:has(.reminder-vote) { grid-template-columns: 68px minmax(0,1fr) auto 30px; }
      .reminder-vote { min-height: 30px; padding: 0 11px; font-size: 12px; }
      .reminder-game :is(img, video) { width: 68px; height: 44px; }
      .reminder-game strong { font-size: 13px; }
      .reminder-game small { font-size: 10px; }
      .email-reminder-controls .button { width: 100%; }
      .reminder-setting-row { grid-template-columns: 1fr; align-items: stretch; }
      .reminder-setting-row .field, .reminder-setting-row .button { width: 100%; }
      .reminders-mobile-note { display: inline; }
      .footer-inner { padding: 34px 0 30px; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 30px 18px; text-align: left; }
      .footer-about { grid-column: 1 / -1; }
      .footer-column > strong { margin-bottom: 14px; font-size: 10px; }
      .footer-nav { gap: 11px; }
      .footer-bottom { flex-direction: column; }
      .seo-content { width: calc(100% - 24px); margin-top: 28px; padding: 22px 20px; }
      dialog { width: 100%; }
      .dialog-cover { height: 155px; }
      #details-dialog.owner-view .dialog-body { padding-top: 50px; }
      .owner-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .owner-achievements-head { align-items: start; }
      .owner-achievement-list { grid-template-columns: 1fr; }
      .owner-achievement { min-height: 0; }
      #partnership-dialog { width: 100%; }
      .partnership-shell { gap: 13px; }
      .partnership-head { padding-right: 34px; display: block; }
      .partnership-head h2 { font-size: 26px; }
      .partnership-game { margin-top: 13px; text-align: left; }
      .partnership-journey { grid-template-columns: 1fr; }
      .partnership-step { min-height: 64px; border-top: 1px solid var(--line); border-left: 0; }
      .partnership-step:first-child { border-top: 0; }
      .partnership-layout { grid-template-columns: 1fr; }
      .partnership-readiness, .partnership-channel-card, .partnership-apply, .partnership-form-panel { padding: 14px; }
      .partnership-section-head { align-items: start; }
      .partnership-check { grid-template-columns: 25px minmax(0,1fr); }
      .partnership-check-state { grid-column: 2; }
      .partnership-apply { align-items: stretch; flex-direction: column; }
      .partnership-actions { align-items: stretch; flex-direction: column-reverse; }
      .partnership-actions .button { width: 100%; }
      .partnership-form-grid, .partnership-context-grid { grid-template-columns: 1fr; }
      .partnership-form-grid .field-full { grid-column: auto; }
      .partnership-form-actions { flex-direction: column-reverse; }
      .partnership-form-actions .button { width: 100%; }
      .owner-pro-potential { grid-template-columns: 1fr; }
      .owner-pro-potential span { min-height: 0; }
      .share-actions .button { flex: 1; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; }
      .initial-loader-mark::after { animation: none; border-color: var(--orange); }
    }
    .sponsored-discovery {
      min-height: 138px;
      padding: 0;
      grid-template-columns: 74px minmax(300px, 430px) minmax(260px, 1fr) 250px;
      gap: 0;
      align-items: stretch;
      border-color: rgba(255,135,46,.58);
      background: linear-gradient(105deg, rgba(255,135,46,.085), var(--surface) 48%);
      box-shadow: inset 0 0 0 1px rgba(255,135,46,.045);
    }
    .sponsored-ranking { margin: 0; }
    .sponsored-rank-marker { display: grid; place-content: center; justify-items: center; gap: 7px; border-right: 1px solid rgba(255,135,46,.22); color: var(--orange); background: rgba(255,135,46,.055); }
    .sponsored-rank-marker svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
    .sponsored-rank-marker small { font-size: 9px; font-weight: 900; letter-spacing: .08em; writing-mode: vertical-rl; transform: rotate(180deg); }
    .sponsored-discovery .sponsored-banner-frame { width: 100%; height: auto; min-height: 0; aspect-ratio: 1260 / 500; align-self: center; border-radius: 0; border-right: 1px solid var(--line); }
    .sponsored-discovery-copy { align-self: center; padding: 20px 26px; }
    .sponsored-discovery strong { display: -webkit-box; overflow: hidden; font-size: 20px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .sponsored-discovery p { display: -webkit-box; overflow: hidden; margin-top: 7px; font-size: 14px; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
    .sponsored-discovery .button { min-width: 176px; margin: auto 28px auto 18px; justify-self: stretch; }
    .sponsored-ranking-end { margin-top: 4px; }

    @media (max-width: 1120px) {
      .sponsored-discovery { grid-template-columns: 64px 310px minmax(220px,1fr) 220px; }
    }
    @media (max-width: 820px) {
      .sponsored-discovery {
        grid-template-columns: 52px minmax(0,1fr);
        grid-template-areas: "sponsor-marker sponsor-banner" "sponsor-marker sponsor-copy" "sponsor-action sponsor-action";
      }
      .campaign-editor-preview .sponsored-discovery {
        grid-template-columns: 42px minmax(0,1fr);
        grid-template-areas: "sponsor-marker sponsor-banner" "sponsor-marker sponsor-copy" "sponsor-action sponsor-action";
      }
      .sponsored-rank-marker { grid-area: sponsor-marker; }
      .sponsored-discovery .sponsored-banner-frame { grid-area: sponsor-banner; height: auto; min-height: 0; border-right: 0; border-bottom: 1px solid var(--line); }
      .sponsored-discovery-copy { grid-area: sponsor-copy; padding: 18px; }
      .sponsored-discovery p { display: block; }
      .sponsored-discovery .button { grid-area: sponsor-action; width: auto; margin: 14px; }
      .campaign-editor-preview .sponsored-discovery .button { margin: 12px; }
    }
    @media (max-width: 520px) {
      .sponsored-discovery { grid-template-columns: 42px minmax(0,1fr); }
      .sponsored-discovery .sponsored-banner-frame { width: 100%; height: 92px; min-height: 0; aspect-ratio: auto; }
      .sponsored-discovery-copy { padding: 10px 14px 11px; }
      .sponsored-discovery strong { font-size: 16px; -webkit-line-clamp: 1; }
      .sponsored-discovery p { display: none; }
      .sponsored-discovery .button { min-height: 42px; margin: 0 14px 14px; }
      .campaign-estimate { grid-template-columns: 1fr 1fr; }
      .campaign-estimate > strong { grid-column: 1 / -1; }
      .campaign-estimate span { padding-left: 0; border-left: 0; }
      .campaign-estimate span:last-child { grid-column: 1 / -1; padding-top: 10px; border-top: 1px solid var(--line); }
      .campaign-kpis { grid-template-columns: 1fr 1fr; }
      .campaign-kpis span:nth-child(2) { border-right: 0; }
      .campaign-kpis span:nth-child(n+3) { border-top: 1px solid var(--line); }
      .campaign-delivery-controls { grid-template-columns: 1fr; }
      .campaign-creative { grid-template-columns: 74px minmax(0,1fr); }
      .campaign-creative-thumb { width: 74px; height: 48px; }
      .campaign-creative .button { grid-column: 1 / -1; width: 100%; }
    }

    .notification-button {
      position: relative;
      width: 40px;
      height: 40px;
      flex: 0 0 40px;
      display: grid;
      place-items: center;
      border: 1px solid transparent;
      border-radius: 8px;
      background: transparent;
      color: var(--muted);
      cursor: pointer;
      transition: color 160ms ease, border-color 160ms ease, background 160ms ease;
    }
    .notification-button:hover, .notification-button[aria-expanded="true"] { border-color: var(--line-strong); background: rgba(255,255,255,.035); color: var(--text); }
    .notification-button svg { width: 21px; height: 21px; }
    .notification-count { position: absolute; top: 1px; right: 0; min-width: 17px; height: 17px; padding: 0 4px; display: grid; place-items: center; border: 2px solid #101416; border-radius: 999px; background: var(--orange); color: #16100b; font-size: 10px; font-weight: 950; }
    /* A TV mora no mesmo canto: o sino sobe a altura dela e fica sempre por cima. */
    .floating-notification-button { position: fixed; z-index: 61; right: 24px; bottom: calc(24px + var(--tv-altura, 0px)); width: 54px; height: 54px; display: grid; place-items: center; border: 1px solid rgba(255,139,55,.72); border-radius: 50%; background: linear-gradient(145deg, #ff963f, #ff7625); color: #17100b; box-shadow: 0 10px 30px rgba(0,0,0,.38), 0 0 0 5px rgba(255,126,38,.1), 0 0 24px rgba(255,126,38,.2); cursor: pointer; transition: transform .18s ease, box-shadow .18s ease; }
    .floating-notification-button:hover { transform: translateY(-2px) scale(1.025); box-shadow: 0 13px 34px rgba(0,0,0,.42), 0 0 0 6px rgba(255,126,38,.12), 0 0 29px rgba(255,126,38,.3); }
    .floating-notification-button svg { width: 23px; height: 23px; }
    .floating-notification-count { position: absolute; top: -4px; right: -3px; min-width: 21px; height: 21px; padding: 0 5px; display: grid; place-items: center; border: 2px solid #111719; border-radius: 999px; background: #f4f5f5; color: #121718; font-size: 9px; font-weight: 950; box-shadow: 0 4px 12px rgba(0,0,0,.38); }

    #notification-dialog {
      width: min(470px, 100%);
      max-width: none;
      height: 100dvh;
      max-height: 100dvh;
      margin: 0 0 0 auto;
      border-width: 0 0 0 1px;
      border-radius: 0;
      overflow: hidden;
      background: #121719;
    }
    #notification-dialog::backdrop { background: rgba(4,7,8,.62); backdrop-filter: blur(3px); }
    /* Quatro linhas: topo, abas, pesquisa do dono e lista. Com três, a pesquisa
       tomava a linha da lista e ficava por cima das notificações (28/09). A lista
       fica sempre na última, mesmo com a pesquisa escondida. */
    .notification-shell { height: 100%; display: grid; grid-template-rows: auto auto auto minmax(0,1fr); }
    .notification-header { padding: 26px 25px 18px; display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; border-bottom: 1px solid var(--line); }
    .notification-heading strong { display: block; font-size: 23px; letter-spacing: -.45px; }
    .notification-heading span { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }
    .notification-header-actions { display: flex; align-items: center; gap: 8px; }
    .notification-mark-all { padding: 7px 9px; border: 0; background: transparent; color: var(--orange); font-size: 11px; font-weight: 800; cursor: pointer; }
    .notification-close { width: 34px; height: 34px; display: grid; place-items: center; border: 0; border-radius: 7px; background: transparent; color: var(--muted); cursor: pointer; }
    .notification-close:hover { background: rgba(255,255,255,.045); color: var(--text); }
    .notification-tabs { padding: 12px 25px 0; display: flex; gap: 24px; border-bottom: 1px solid var(--line); }
    .notification-tab { position: relative; min-height: 40px; padding: 0 0 12px; border: 0; background: transparent; color: var(--muted); font-size: 12px; font-weight: 800; cursor: pointer; }
    .notification-tab[aria-selected="true"] { color: var(--text); }
    .notification-tab-count { margin-left: 6px; padding: 0 6px; display: inline-grid; place-items: center; min-width: 17px; height: 17px; border-radius: 999px; background: var(--line-strong); color: var(--text); font-size: 10px; font-weight: 900; vertical-align: 1px; }
    .notification-tab[data-notification-tab="personal"] .notification-tab-count { background: var(--orange); color: #16100b; }
    .notification-tab[aria-selected="true"]::after { content: ""; position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--orange); }
    .notification-list { grid-row: 4; min-height: 0; overflow-y: auto; padding: 10px 13px 28px; }
    .notification-item { position: relative; width: 100%; padding: 15px 12px; display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 12px; border: 0; border-bottom: 1px solid rgba(255,255,255,.07); background: transparent; color: inherit; text-align: left; cursor: pointer; }
    .notification-item:hover { background: rgba(255,255,255,.025); }
    .notification-item.is-unread { background: linear-gradient(90deg, rgba(255,135,46,.055), transparent 72%); }
    .notification-item.is-unread::after { content: ""; position: absolute; top: 20px; right: 10px; width: 6px; height: 6px; border-radius: 50%; background: var(--orange); box-shadow: 0 0 9px rgba(255,135,46,.52); }
    .notification-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 9px; background: #0e1315; color: #c7cbcc; }
    .notification-icon svg { width: 19px; height: 19px; }
    .notification-item[data-tone="warning"] .notification-icon { border-color: rgba(255,168,65,.42); background: rgba(255,145,46,.085); color: #ff9b42; }
    .notification-item[data-tone="positive"] .notification-icon { border-color: rgba(84,206,130,.3); background: rgba(84,206,130,.07); color: #75dfa0; }
    .notification-item[data-tone="info"] .notification-icon { border-color: rgba(92,169,255,.3); background: rgba(92,169,255,.07); color: #80bdff; }
    .notification-content { min-width: 0; padding-right: 9px; }
    .notification-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; }
    .notification-content strong { display: block; margin-top: 5px; color: var(--text); font-size: 14px; line-height: 1.3; }
    .notification-content p { margin: 5px 0 0; color: #aeb2b2; font-size: 12px; line-height: 1.5; }
    .notification-action { margin-top: 10px; display: inline-flex; align-items: center; gap: 6px; color: var(--orange); font-size: 11px; font-weight: 850; }
    .notification-action svg { width: 13px; height: 13px; }
    .owner-survey { grid-row: 3; max-height: 45vh; overflow-y: auto; margin: 0; padding: 18px 25px 20px; border-bottom: 1px solid var(--line); background: rgba(255,135,46,.045); }
    .owner-survey.hidden { display: none; }
    .owner-survey-meta { display: block; margin-bottom: 6px; color: var(--orange); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
    .owner-survey strong { display: block; margin-bottom: 12px; font-size: 14px; line-height: 1.4; }
    .owner-survey-options { display: flex; flex-wrap: wrap; gap: 8px; }
    .owner-survey-options button { padding: 9px 13px; border: 1px solid var(--line); border-radius: 8px; background: transparent; color: var(--text); font: inherit; font-size: 12.5px; cursor: pointer; }
    .owner-survey-options button:hover { border-color: rgba(255,135,46,.5); }
    .owner-survey-options button[aria-pressed="true"] { border-color: var(--orange); background: rgba(255,135,46,.16); color: var(--orange); font-weight: 700; }
    .owner-survey-comment { margin: 12px 0 0; display: block; }
    .owner-survey-comment.hidden { display: none; }
    .owner-survey-comment span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 12px; }
    .owner-survey-comment textarea { width: 100%; padding: 9px 11px; border: 1px solid var(--line); border-radius: 8px; background: rgba(0,0,0,.2); color: var(--text); font: inherit; font-size: 13px; resize: vertical; }
    .owner-survey-send { margin-top: 12px; }
    .owner-survey-send.hidden { display: none; }
    .owner-survey-send .button { padding: 9px 16px; font-size: 13px; }
    .owner-survey-status { margin: 10px 0 0; color: var(--muted); font-size: 12.5px; line-height: 1.5; }
    .notification-empty { padding: 58px 28px; color: var(--muted); font-size: 13px; line-height: 1.55; text-align: center; }

    @media (max-width: 820px) {
      .notification-button { margin-left: auto; }
      #notification-dialog { width: 100%; border: 0; border-radius: 0; }
      .notification-header { padding: 20px 18px 15px; }
      .notification-tabs { padding: 10px 18px 0; }
      .notification-list { padding-right: 8px; padding-left: 8px; }
    }
    @media (max-width: 520px) {
      .notification-button { width: 36px; height: 36px; flex-basis: 36px; }
      .notification-button svg { width: 20px; height: 20px; }
      .floating-notification-button { right: 16px; bottom: calc(16px + var(--tv-altura, 0px) + env(safe-area-inset-bottom)); width: 50px; height: 50px; }
      .notification-heading strong { font-size: 21px; }
      .notification-mark-all { display: none; }
      .notification-item { padding: 14px 10px; grid-template-columns: 36px minmax(0,1fr); gap: 10px; }
      .notification-icon { width: 36px; height: 36px; }
    }
  