body{margin:0;background:var(--agua);color:var(--tinta);font-family:var(--fonte-ui);font-size:var(--t-corpo);line-height:1.65;-webkit-font-smoothing:antialiased}
:focus-visible{outline:2px solid var(--tinta);outline-offset:2px;border-radius:inherit}
a{color:var(--tinta);text-decoration-color:var(--linha-forte);text-underline-offset:3px;transition:text-decoration-color 150ms ease-out}
a:hover{text-decoration-color:var(--tinta)}
::selection{background:var(--superficie);color:var(--tinta)}
@keyframes ldb-girar{to{transform:rotate(360deg)}}
/* Lago de Burracheira — component classes. Depth is hairlines, never box-shadow (Law 3). */
.ldb-botao{display:inline-flex;align-items:center;justify-content:center;gap:var(--esp-2);min-height:44px;padding:0 var(--esp-5);border-radius:var(--r-controle);border:1px solid transparent;font-family:var(--fonte-ui);font-weight:500;font-size:var(--t-corpo);line-height:1;cursor:pointer;background:none;color:var(--tinta);transition:background-color 150ms ease-out,border-color 150ms ease-out,color 150ms ease-out}
.ldb-botao--primario{background:var(--estrela);color:var(--agua)}
.ldb-botao--primario:hover:not(:disabled){background:var(--estrela-fundo)}
.ldb-botao--secundario{border-color:var(--linha)}
.ldb-botao--secundario:hover:not(:disabled){border-color:var(--linha-forte)}
.ldb-botao:disabled{background:none;border-color:var(--linha);color:var(--tinta-fraca);opacity:.4;cursor:not-allowed}
.ldb-chip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0 var(--esp-3);border-radius:var(--r-painel);border:1px solid var(--linha);background:none;color:var(--tinta);font-family:var(--fonte-ui);font-weight:500;font-size:var(--t-peq);cursor:pointer;transition:border-color 150ms ease-out,color 150ms ease-out}
.ldb-chip:hover{border-color:var(--linha-forte)}
.ldb-chip--ativo{border-color:var(--estrela);color:var(--estrela)}
.ldb-chip--indisponivel{opacity:.4;text-decoration:line-through;cursor:not-allowed}
.ldb-selo{display:inline-flex;align-items:center;padding:var(--esp-1) var(--esp-2);border-radius:var(--r-painel);border:1px solid var(--linha-forte);color:var(--tinta-suave);font-family:var(--fonte-ui);font-weight:700;font-size:var(--t-rotulo);letter-spacing:.16em;text-transform:uppercase;line-height:1.4}
.ldb-rotulo{font-family:var(--fonte-ui);font-weight:700;font-size:var(--t-rotulo);letter-spacing:.16em;text-transform:uppercase;color:var(--tinta-suave)}
.ldb-preco{font-family:var(--fonte-display);font-weight:400;font-size:var(--t-preco);line-height:1;font-variant-numeric:tabular-nums;color:var(--tinta)}
.ldb-erro{color:var(--alerta);border-left:2px solid var(--alerta);padding-left:var(--esp-3);font-size:var(--t-peq);line-height:1.5}
.ldb-arco{display:inline-block;width:24px;height:24px;border-radius:50%;border:1px solid transparent;border-top-color:var(--tinta)}
@media (prefers-reduced-motion:no-preference){.ldb-arco{animation:ldb-girar 1.2s linear infinite}}
.ldb-cartao{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--r-painel);transition:border-color 150ms ease-out}
.ldb-cartao:hover{border-color:var(--linha-forte)}
.ldb-medalhao{display:block;border-radius:var(--r-medalhao);border:1px solid var(--linha);overflow:hidden;transition:transform 150ms ease-out}
.ldb-cartao:hover .ldb-medalhao{transform:rotate(8deg)}
.ldb-quantidade{display:inline-flex;align-items:stretch;border:1px solid var(--linha);border-radius:var(--r-painel);background:var(--superficie);overflow:hidden}
.ldb-quantidade button{min-width:44px;min-height:44px;border:0;background:none;color:var(--tinta);font-size:var(--t-corpo);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color 150ms ease-out}
.ldb-quantidade button:hover{color:var(--tinta-suave)}
.ldb-quantidade span{min-width:44px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--fonte-ui);font-variant-numeric:tabular-nums}
.ldb-campo{background:var(--superficie);border:1px solid var(--linha);border-radius:var(--r-painel);color:var(--tinta);font-family:var(--fonte-ui);font-size:var(--t-corpo);min-height:44px;padding:0 var(--esp-3);transition:border-color 150ms ease-out}
.ldb-campo:hover{border-color:var(--linha-forte)}
.ldb-campo::placeholder{color:var(--tinta-fraca)}
