"use client"; import Image from "next/image"; import { useId, useState } from "react"; import { pageTop, primaryButton } from "@/app/components/button-styles"; import { AREAS, type AreaId, problemaPorId, problemasDaArea, } from "@/lib/jogo/problemas"; import type { Dificuldade } from "@/lib/jogo/tipos"; import type { Escolha } from "./contrato"; type Props = { aoComecar(escolha: Escolha): void; toque: boolean; movimentoReduzido: boolean; semWebgl: boolean; }; const ORDEM = Object.keys(AREAS) as AreaId[]; const NIVEIS: readonly { id: Dificuldade; nome: string; linha: string }[] = [ { id: "facil", nome: "Fácil", linha: "Zumbis lentos, poucos e de dano baixo. Bom para a primeira vez.", }, { id: "normal", nome: "Normal", linha: "Zumbis em velocidade, quantidade e dano normais.", }, { id: "dificil", nome: "Difícil", linha: "Zumbis mais rápidos, mais numerosos e que machucam mais.", }, ]; // Botão de opção com cara de ficha: o rádio fica só para leitor de tela e teclado; o quadrado cheio marca a escolha // sem depender só da cor. const ficha = "group flex min-h-11 cursor-pointer items-center gap-sp-3 border border-white/20 bg-[rgba(10,10,10,.86)] px-sp-3 py-sp-2 text-[15px] leading-[1.3] transition-colors duration-200 hover:border-white/50 has-[:checked]:border-[var(--slash)] has-[:checked]:bg-[var(--slash-dim)] has-[:focus-visible]:outline-2 has-[:focus-visible]:outline-offset-2 has-[:focus-visible]:outline-[var(--slash)] motion-reduce:transition-none"; function Marca() { return (