/* PokeHunt — tokens do visual novo (redesenho, reports/ui/design-spec.md §3). SÓ variáveis: é o único arquivo onde uma cor pode
   ser escrita. Carrega depois de todo o CSS antigo; a "ponte" no fim aponta as variáveis antigas (theme.css/hud.css) para estes tokens.
   Estética: PokéTibia + Path of Exile. Contraste medido: todo texto ≥ 4,5:1 sobre o painel em que é usado. */
:root {
  color-scheme: dark;

  /* ---------- palco (Fase 2, regra 1) ---------- */
  --stage-w: 1600px;           /* palco lógico: tudo é desenhado nesta medida e escalado por transform */
  --stage-h: 900px;
  --gap: 8px;
  --top-h: 48px;               /* barra de menus */
  --chat-h: 156px;             /* chat: sempre visível, mesma altura em toda tela (regra 5) */
  --col-l: 280px;              /* coluna esquerda: Treinador + Pokémon ativo (mesma largura em toda tela) */
  --col-r: 280px;              /* coluna direita: Time / Mochila / Captura / ferramentas da caçada */
  --tile: 56px;                /* 1 tile da câmera no palco */
  --cam-cols: 18;              /* câmera fixa 18 × 11 tiles (cidade, caçada, boss, raid, ilha) */
  --cam-rows: 11;
  --vp-w: calc(var(--tile) * var(--cam-cols));   /* 1008px */
  --vp-h: calc(var(--tile) * var(--cam-rows));   /* 616px */
  --action-h: 48px;            /* barra sob o viewport: controles da caçada / dock da cidade */
  --play-top: calc(var(--top-h) + var(--gap));                         /* 56px: área de jogo começa aqui */
  --chat-h-tall: 420px;        /* chat expandido (botão Expandir): cobre só a parte de baixo do jogo */
  --play-bottom: calc(var(--stage-h) - var(--chat-h) - var(--gap) * 2); /* 728px: janelas nunca passam daqui (o chat fica livre) */

  /* ---------- superfícies ---------- */
  --c-void: #050403;           /* faixas do letterbox, fora do palco */
  --c-bg: #0f0c09;             /* fundo do palco */
  --c-panel: #18130e;          /* painel */
  --c-panel-2: #211a13;        /* cabeçalho de painel, aba ativa */
  --c-panel-3: #2b2219;        /* hover, campo em foco */
  --c-inset: #0c0a07;          /* poço: listas, campos, trilhos de barra */
  --c-edge: #3d3022;           /* borda fina */
  --c-edge-2: #5a4630;         /* borda forte, separador de moldura */
  --c-gold: #c9a45c;           /* moldura e destaque (7,9:1 no painel) */
  --c-gold-2: #e6c98a;         /* título e número importante (11,5:1) */
  --c-gold-3: #8a6d3b;         /* sombra da moldura dourada */
  --c-scrim: rgb(5 4 3 / .72); /* fundo escurecido atrás de janela modal (só na área de jogo) */
  --c-shade: rgb(0 0 0 / .55); /* sombras */
  --c-glow: rgb(201 164 92 / .35); /* brilho dourado (foco, item ativo) */
  --c-over: rgb(12 10 7 / .82);    /* plaquinhas sobre o mapa (nome do mapa, log da cena) */

  /* ---------- texto (contraste no --c-panel) ---------- */
  --c-text: #ece3d0;           /* 14,5:1 */
  --c-text-2: #bfb197;         /* 8,7:1 — secundário */
  --c-text-3: #9c8f76;         /* 5,8:1 — apagado; nunca abaixo disto */
  --c-ink: #120e0a;            /* texto escuro sobre botão/chip claro */
  --c-ink-light: #fbf7ee;      /* texto claro sobre chip escuro */

  /* ---------- estados e recursos ---------- */
  --c-hp: #e0604c;             /* vida (texto e barra) — não usar como texto sobre --c-panel-3 (4,4:1) */
  --c-hp-bar: #b8392b;
  --c-xp: #5b9be8;             /* XP do Treinador / Pokémon */
  --c-xp-bar: #3a6fc0;
  --c-ok: #6cc25a;
  --c-warn: #e6a63a;
  --c-danger: #ec6a5e;
  --c-twitch: #9146ff;  /* plataformas (janela Streamers, 2026-10-29) */
  --c-kick: #53fc18;
  --c-info: #6ab8ea;
  --c-shiny: #ffd84a;
  --c-cooldown: rgb(5 4 3 / .7);   /* relógio de recarga sobre o ícone do golpe */
  --c-boss: #b04ae0;           /* barra e marcações de boss */
  --c-phase: #e6c98a;          /* marcadores de fase do boss */

  /* ---------- raridade (mesmas cores do jogo, src/core/essence.js; lendária e mítica ajustadas para contraste) ---------- */
  --rar-comum: #f2f2f2;
  --rar-incomum: #14b8a6;
  --rar-raro: #00d9ff;
  --rar-ultra: #ff3dd6;
  --rar-lendario: #c9a02e;
  --rar-mitico: #ff5a5a;

  /* ---------- tipos (cor do chip + tinta que passa de 4,5:1) ---------- */
  --type-normal: #a8a77a;   --type-normal-ink: var(--c-ink);
  --type-fire: #ee8130;     --type-fire-ink: var(--c-ink);
  --type-water: #6390f0;    --type-water-ink: var(--c-ink);
  --type-electric: #f7d02c; --type-electric-ink: var(--c-ink);
  --type-grass: #7ac74c;    --type-grass-ink: var(--c-ink);
  --type-ice: #96d9d6;      --type-ice-ink: var(--c-ink);
  --type-fighting: #c22e28; --type-fighting-ink: var(--c-ink-light);
  --type-poison: #a33ea1;   --type-poison-ink: var(--c-ink-light);
  --type-ground: #e2bf65;   --type-ground-ink: var(--c-ink);
  --type-flying: #a98ff3;   --type-flying-ink: var(--c-ink);
  --type-psychic: #f95587;  --type-psychic-ink: var(--c-ink);
  --type-bug: #a6b91a;      --type-bug-ink: var(--c-ink);
  --type-rock: #b6a136;     --type-rock-ink: var(--c-ink);
  --type-ghost: #735797;    --type-ghost-ink: var(--c-ink-light);
  --type-dragon: #6f35fc;   --type-dragon-ink: var(--c-ink-light);
  --type-dark: #705746;     --type-dark-ink: var(--c-ink-light);
  --type-steel: #b7b7ce;    --type-steel-ink: var(--c-ink);
  --type-fairy: #d685ad;    --type-fairy-ink: var(--c-ink);

  /* ---------- letras (regra 6: nada abaixo de --fs-min) ---------- */
  --font-title: 'Cinzel', 'Times New Roman', serif;   /* títulos de janela e painel (capitulares, estilo PoE) */
  --font-ui: 'Rubik', 'Segoe UI', sans-serif;         /* todo o resto */
  --fs-min: 12px;   /* menor letra do jogo no palco (vira 10,2 px reais em 1366×768) */
  --fs-sm: 13px;
  --fs-md: 14px;    /* corpo de texto */
  --fs-lg: 16px;
  --fs-xl: 19px;    /* título de painel */
  --fs-2xl: 24px;   /* título de janela */
  --fw-normal: 400;
  --fw-bold: 600;
  --lh: 1.35;

  /* ---------- formas ---------- */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 24px;
  --r-1: 2px;  --r-2: 4px;  --r-3: 6px;
  --frame: 0 0 0 1px var(--c-edge), 0 0 0 2px var(--c-bg), 0 0 0 3px var(--c-gold-3);  /* moldura dupla dos painéis */
  --frame-gold: 0 0 0 1px var(--c-gold-3), 0 0 0 2px var(--c-bg), 0 0 0 3px var(--c-gold);  /* janela em foco */
  --bevel: inset 0 1px 0 rgb(255 240 210 / .06), inset 0 -1px 0 rgb(0 0 0 / .4);         /* relevo de pedra (PokéTibia) */
  --shadow-win: 0 18px 48px var(--c-shade);
  --icon: 24px;     /* ícones do pacote: 24 px (escala inteira de 12/24) */
  --icon-lg: 32px;
  --slot: 40px;     /* slot de golpe / item */

  /* ---------- camadas (Fase 3: uma escala só) ---------- */
  --z-map-hud: 10;      /* plaquinhas e barras sobre o mapa */
  --z-window: 100;      /* 1ª janela; cada janela aberta depois ganha +1 (a última aberta fica na frente) */
  --z-window-max: 799;
  --z-notify: 95;       /* pilha de avisos no topo do viewport: abaixo das janelas (janela aberta fica na frente do aviso) */
  --z-confirm: 900;     /* confirmação: sempre na frente de qualquer janela */
  --z-drag: 950;        /* arrastar e soltar */
  --z-boot: 999;        /* tela de carregamento */

  /* ---------- movimento ---------- */
  --t-fast: .12s;
  --t-med: .2s;
}
@media (prefers-reduced-motion: reduce) { :root { --t-fast: 0s; --t-med: 0s; } }

/* ---------- tokens extras usados pela ponte ---------- */
:root {
  --c-gold-soft: #2a2114;   --c-gold-soft-2: #1f190f;
  --c-ok-soft: #16261a;     --c-tier: #c9a6ff; --c-tier-soft: #241a33;
  --c-mega: #7a3df0;        /* selo MEGA (texto --c-ink-light, 5,6:1) */  --c-danger-soft: #7a3d3d;
}

/* ---------- ponte: as variáveis antigas (theme.css, hud.css, styles.css) passam a ser os tokens novos ----------
   Mesma especificidade dos temas antigos (:root[data-theme="…"]) e carregada depois: vale para qualquer tema salvo.
   O tema claro saiu (decisão do dono, 2026-10-27): todo jogador vê o escuro. */
:root[data-theme], :root {
  --bg-page: var(--c-bg); --bg-app: var(--c-bg); --topbar-a: var(--c-panel-2); --topbar-b: var(--c-panel); --inset: var(--c-inset);
  --panel-t: var(--c-panel); --card-t: var(--c-panel-2); --pill-t: var(--c-panel-3); --edge-t: var(--c-edge); --edge-2: var(--c-edge-2); --edge-3: var(--c-edge);
  --text-t: var(--c-text); --text-2: var(--c-text-2); --muted-t: var(--c-text-3); --faint: var(--c-text-3); --overlay: var(--c-over);
  --gold-text: var(--c-gold-2); --gold-soft-a: var(--c-gold-soft); --gold-soft-b: var(--c-gold-soft-2); --green-text: var(--c-ok); --green-soft: var(--c-ok-soft);
  --blue-text: var(--c-info); --tier-soft: var(--c-tier-soft); --tier-text: var(--c-tier); --stripe-a: var(--c-panel); --stripe-b: var(--c-bg);
  --shadow-panel: 0 10px 24px var(--c-shade); --shadow-screen: var(--shadow-win); --arena-frame: var(--c-inset); /* tabuleiro do PvP em cima do ginásio (pvp.css → .ar-gymboard) */ --gymboard-bg: #2a2016; --gymboard-line: rgba(255, 255, 255, .55); --gymboard-cell: rgba(10, 14, 24, .12); --gymboard-hover: rgba(255, 255, 255, .22); --gymboard-shade: rgba(0, 0, 0, .35); --scrollbar: var(--c-edge-2);
  --accent: var(--c-gold); --on-accent: var(--c-ink); --cta-a: var(--c-gold-2); --cta-b: var(--c-gold); --pause-a: var(--c-warn); --pause-b: var(--c-gold-3);
  --hp-a: var(--c-hp-bar); --hp-b: var(--c-hp); --xp-c: var(--c-xp); --diamond: var(--c-info); --danger: var(--c-danger);
  --r-md: var(--r-2); --r-lg: var(--r-3); --r-xl: var(--r-3);
  --display: var(--font-title); --font: var(--font-ui);
  --bg: var(--c-bg); --panel: var(--c-panel); --panel-2: var(--c-panel-2); --edge-dark: var(--c-edge);
  --text: var(--c-text); --muted: var(--c-text-3); --gold: var(--c-gold-2); --green: var(--c-gold); --green-hi: var(--c-gold-2);
  --hp-hi: var(--c-hp); --xp: var(--c-xp);
}

/* ---------- apoio (gerado por tools/tokenize-css.mjs; cores do CSS antigo sem parecida na paleta: só aqui, nunca nos outros arquivos ---------- */
:root {
  --x-000000: #000000;
  --x-3b0707: #3b0707;
  --x-13294b: #13294b;
  --x-16343b: #16343b;
  --x-5a0e08: #5a0e08;
  --x-153a1e: #153a1e;
  --x-2a1a7a: #2a1a7a;
  --x-2a3350: #2a3350;
  --x-3b2a6b: #3b2a6b;
  --x-6a1a02: #6a1a02;
  --x-4d1e7a: #4d1e7a;
  --x-0f3f66: #0f3f66;
  --x-e9dcc0: #e9dcc0; /* pergaminho do aviso do GM (/anuncio) */
  --x-b99a5b: #b99a5b;
  --x-2b2112: #2b2112;
  --x-6e4f1c: #6e4f1c;
  --x-3a3d48: #3a3d48;
  --x-6a2a2a: #6a2a2a;
  --x-1d4b55: #1d4b55;
  --x-3a4566: #3a4566;
  --x-7a3500: #7a3500;
  --x-8f1414: #8f1414;
  --x-1f5560: #1f5560;
  --x-2f5a2f: #2f5a2f;
  --x-8a1c45: #8a1c45;
  --x-11614a: #11614a;
  --x-5b2fb0: #5b2fb0;
  --x-26606c: #26606c;
  --x-2f6a2a: #2f6a2a;
  --x-8f4a1e: #8f4a1e;
  --x-7a3fa8: #7a3fa8;
  --x-7a5c00: #7a5c00;
  --x-7a2fd1: #7a2fd1;
  --x-1f6f9c: #1f6f9c;
  --x-2f7480: #2f7480;
  --x-3e7a34: #3e7a34;
  --x-5b6b80: #5b6b80;
  --x-2f7d4f: #2f7d4f;
  --x-5c7a26: #5c7a26;
  --x-8a3fd1: #8a3fd1;
  --x-6b6f78: #6b6f78;
  --x-a85f08: #a85f08;
  --x-0a7fa8: #0a7fa8;
  --x-7c5cc9: #7c5cc9;
  --x-b85400: #b85400;
  --x-1c8f00: #1c8f00;
  --x-1f8a6b: #1f8a6b;
  --x-478a3b: #478a3b;
  --x-5865f2: #5865f2;
  --x-7a7a7a: #7a7a7a;
  --x-d0307a: #d0307a;
  --x-5f8189: #5f8189;
  --x-2c6cff: #2c6cff;
  --x-2b8f83: #2b8f83;
  --x-9146ff: #9146ff;
  --x-b8651c: #b8651c;
  --x-e03333: #e03333;
  --x-a8740a: #a8740a;
  --x-4a8d96: #4a8d96;
  --x-8a5cf6: #8a5cf6;
  --x-2a9d4a: #2a9d4a;
  --x-8a6fe0: #8a6fe0;
  --x-7d8796: #7d8796;
  --x-2f8fd0: #2f8fd0;
  --x-b8860b: #b8860b;
  --x-c97a3a: #c97a3a;
  --x-ff3d00: #ff3d00;
  --x-8f7bff: #8f7bff;
  --x-4caf50: #4caf50;
  --x-b56cff: #b56cff;
  --x-c98b52: #c98b52;
  --x-8aa0b8: #8aa0b8;
  --x-9aa0a6: #9aa0a6;
  --x-86a7a8: #86a7a8;
  --x-9aa4c7: #9aa4c7;
  --x-69bd8a: #69bd8a;
  --x-8caaff: #8caaff;
  --x-ff7ab8: #ff7ab8;
  --x-ff8a80: #ff8a80;
  --x-e08cff: #e08cff;
  --x-ff9a5a: #ff9a5a;
  --x-81caa0: #81caa0;
  --x-f0a38f: #f0a38f;
  --x-4fd1c5: #4fd1c5;
  --x-ff9a8f: #ff9a8f;
  --x-3ddc84: #3ddc84;
  --x-ff9aa8: #ff9aa8;
  --x-35dcb4: #35dcb4;
  --x-6fdc7c: #6fdc7c;
  --x-b6c899: #b6c899;
  --x-aabeff: #aabeff;
  --x-8fc9f0: #8fc9f0;
  --x-5fe36f: #5fe36f;
  --x-ff9de2: #ff9de2;
  --x-ffb27a: #ffb27a;
  --x-9fd0ff: #9fd0ff;
  --x-9be36b: #9be36b;
  --x-7ee88f: #7ee88f;
  --x-5ef05e: #5ef05e;
  --x-ffb3d1: #ffb3d1;
  --x-9fe38f: #9fe38f;
  --x-c7cee0: #c7cee0;
  --x-53fc18: #53fc18;
  --x-a9dcff: #a9dcff;
  --x-8ff0a2: #8ff0a2;
  --x-cfd6ff: #cfd6ff;
  --x-6cff6c: #6cff6c;
  --x-bfe3ff: #bfe3ff;
  --x-8dffa0: #8dffa0;
  --x-f9d2ff: #f9d2ff;
  --x-bff0ff: #bff0ff;
  --x-ffe9a0: #ffe9a0;
}
/* ---------- fim do apoio ---------- */
