Como funciona
O LanderLab permite inserir CSS personalizado no seu fluxo. Seu CSS fica automaticamente restrito ao contêiner raiz.ll-quiz, então os estilos afetam apenas o quiz e nunca vazam para o restante da página.
Onde adicionar o CSS

.ll-quiz — não é preciso adicionar nenhum prefixo.
Regras de escopo
Todo o seu CSS fica dentro de.ll-quiz. As variáveis do tema (como --colorPrimary) são somente leitura — elas são definidas pelo mecanismo de temas e não podem ser sobrescritas. Para mudar a aparência de algo, escreva regras CSS comuns usando os seletores descritos neste guia.
✓ Faça assim
Referência de seletores
Use estes seletores para selecionar os elementos que você quer estilizar. Todos eles ficam automaticamente restritos a.ll-quiz.
Layout e estrutura
.ll-quiz-step Todas as etapas (visíveis + ocultas) .ll-quiz-step[data-active-step=“true”] Apenas a etapa visível no momento .ll-quiz-header Área fixa do cabeçalho, no topo .ll-quiz-footer Área fixa do rodapé, na parte inferior .ll-quiz-block Todos os blocos, de qualquer tipo .ll-quiz-block—[type] Um tipo de bloco específico (por exemplo,--text-field)
Campos
.ll-quiz-block__input Todos os campos de texto e selects .ll-quiz-block__input-wrapper Div que envolve os campos .ll-quiz-block__label Rótulos dos campos .ll-quiz-block__decorator Ícones ou textos de prefixo/sufixoBotões
.ll-quiz-continue-button Botão Continue .ll-quiz-previous-button Botão Previous (voltar) .ll-quiz-submit-button Botão Submit .ll-quiz-default-button Botão de ação genérico .ll-quiz-button-text Rótulo dentro de qualquer botão .ll-quiz-button-description Sub-rótulo dentro de qualquer botãoBlocos de escolha
.ll-choice-option Uma opção individual de múltipla escolha .ll-choice-option:has(input:checked) Uma opção selecionada .ll-choice-option__text Rótulo de texto dentro de uma opção .ll-img-choice-option Um card de opção de escolha com imagem .ll-img-choice-option:has(input:checked) Card de escolha com imagem selecionado .ll-choice-label Rótulo do grupo do bloco de escolhaProgresso e feedback
.ll-quiz-progress__fill A parte preenchida da barra .ll-quiz-header__progress-fill Preenchimento da barra de progresso do cabeçalho .ll-quiz-block—has-error Um bloco que não passou na validação .ll-quiz-block-error O texto da mensagem de erro .ll-quiz-variable Variáveis dinâmicas no texto (por exemplo, o primeiro nome)Campos de entrada
Todos os campos de texto, selects, textareas e campos semelhantes compartilham a mesma estrutura de classes. Use.ll-quiz-block__input para estilizar todos de uma vez ou filtre por tipo de bloco para ter um controle individual.
Estilize todos os campos de entrada
CSSSelecione um bloco específico pelo ID
Encontre o ID do bloco na URL ao editar um bloco no LanderLab (por exemplo,text-field-abc123).
Estilize os decoradores de prefixo/sufixo
Rótulos
Botões
No LanderLab, os botões são renderizados como elementos<a>, e não <button>. Use o seletor específico de cada tipo de botão ou selecione todos os botões de uma vez com uma classe compartilhada.
Botão Continue
Botão Previous
Botão Submit
Estilize todos os botões de uma vez
Sub-rótulo do botão (description)
Blocos de escolha
As opções de múltipla escolha e de escolha com imagem podem ser estilizadas nos estados padrão, hover (ao passar o mouse) e selecionado.Estilize as opções
Cards de escolha com imagem
Oculte o ícone de radio/checkbox
Barras de progresso
A barra de progresso pode aparecer em dois lugares — uma inline, nas etapas, e outra no cabeçalho. Estilize-as separadamente ou em conjunto.Barra de progresso inline
Barra de progresso do cabeçalho
Design responsivo
O LanderLab usa CSS container queries, e não media queries. Use sempre a sintaxe de contêiner abaixo — as queries@media padrão não funcionam como esperado dentro do contêiner do quiz.
O breakpoint é 490px: tudo o que for mais largo é tratado como desktop, e tudo o que for mais estreito, como mobile.
Sintaxe de container query
@container quiz-container (...) em vez de @media (...). O quiz é um componente de contêiner, e as media queries não refletem a largura real dele.
Estados e validação
Quando um campo não passa na validação, ele recebe a classe.ll-quiz-block--has-error. Use essa classe para estilizar os estados de erro de forma consistente com o seu design.
Estilo de erro
Variáveis de texto dinâmicas
Os blocos de texto podem incluir variáveis dinâmicas, como{{firstName}}, que são atualizadas conforme o usuário digita. Elas são renderizadas como spans .ll-quiz-variable.
Exemplos completos
Cole qualquer um destes exemplos no painel Custom CSS para começar rapidamente.Exemplo 1 — Tema minimalista e limpo
Exemplo 2 — Tema colorido e arredondado
Exemplo 3 — Ajustes de layout mobile-first
Lista de classes por tipo de bloco
Use estes modificadores em.ll-quiz-block para selecionar tipos de bloco específicos.