/* TreeMind — tokens de marca. Paleta C (produto). Marca 5a. */
:root{
  --tm-bg:#14161B;
  --tm-surface:#1C1F26;
  --tm-line:#2A2E37;
  --tm-text:#EDEEF2;
  --tm-muted:#8A8F9B;
  --tm-accent:#E0357F;
  --tm-accent-press:#B8265F;
  --tm-accent-soft:rgba(224,53,127,.14);

  /* modo claro */
  --tm-bg-light:#F4F6FA;
  --tm-surface-light:#FBFCFE;
  --tm-line-light:#DFE4EE;
  --tm-ink-light:#1B2233;
  --tm-muted-light:#6C7686;
  --tm-accent-light:#C81E70;

  /* campanha — paleta B, só em peças de aquisição */
  --tm-ad-bg:#0B0E1A;
  --tm-ad-support:#5B7BFF;
  --tm-ad-accent:#FF3D86;

  /* forma */
  --tm-radius:8px;
  --tm-radius-lg:12px;
  --tm-radius-pill:999px;
  --tm-border:1px;

  /* tipografia */
  --tm-font:'Inter',system-ui,-apple-system,sans-serif;
  --tm-tracking-brand:-0.045em;
  --tm-tracking-micro:0.14em;
  --tm-fs-micro:11px;
  --tm-fs-caption:12.5px;
  --tm-fs-body-sm:14px;
  --tm-fs-body:16px;
  --tm-fs-title:21px;
  --tm-fs-title-lg:28px;
  --tm-fs-display:42px;

  /* espaço — escala de 4 */
  --tm-1:4px; --tm-2:8px; --tm-3:12px; --tm-4:16px;
  --tm-5:24px; --tm-6:32px; --tm-7:44px; --tm-8:64px;
}

[data-theme="light"]{
  --tm-bg:var(--tm-bg-light);
  --tm-surface:var(--tm-surface-light);
  --tm-line:var(--tm-line-light);
  --tm-text:var(--tm-ink-light);
  --tm-muted:var(--tm-muted-light);
  --tm-accent:var(--tm-accent-light);
}

/* base */
html{color-scheme:dark light}
body{
  margin:0; background:var(--tm-bg); color:var(--tm-text);
  font-family:var(--tm-font); font-size:var(--tm-fs-body); line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--tm-accent); text-decoration:none}
a:hover{color:var(--tm-accent-press)}
:focus-visible{outline:2px solid var(--tm-accent); outline-offset:2px}
::selection{background:var(--tm-accent-soft)}

/* números do produto são sempre tabulares */
.tm-num,[data-num]{font-variant-numeric:tabular-nums}

/* logotipo em HTML */
.tm-wordmark{font-family:var(--tm-font); letter-spacing:var(--tm-tracking-brand); line-height:1; display:inline-flex; align-items:baseline; color:var(--tm-text)}
.tm-wordmark .tm-w1{font-weight:500}
.tm-wordmark .tm-w2{font-weight:800}
.tm-wordmark .tm-i{font-weight:800; position:relative; display:inline-block}
.tm-wordmark .tm-i span{position:absolute; left:.02em; top:-.14em; width:.2em; height:.2em; border-radius:.04em; background:var(--tm-accent)}

/* botão primário — contorno, nunca preenchido */
.tm-btn{
  font:600 var(--tm-fs-body-sm)/1 var(--tm-font); letter-spacing:-.01em;
  padding:12px 20px; border-radius:var(--tm-radius); cursor:pointer;
  background:transparent; color:var(--tm-accent);
  border:var(--tm-border) solid var(--tm-accent);
  transition:background .15s ease,color .15s ease;
}
.tm-btn:hover{background:var(--tm-accent-soft)}
.tm-btn:active{color:var(--tm-accent-press); border-color:var(--tm-accent-press)}
.tm-btn-ghost{border-color:transparent; color:var(--tm-muted)}
.tm-btn-ghost:hover{background:transparent; color:var(--tm-text)}
.tm-btn:disabled{opacity:.45; cursor:default}

/* superfícies */
.tm-card{background:var(--tm-surface); border-radius:var(--tm-radius-lg); padding:var(--tm-5)}
.tm-label{font:500 var(--tm-fs-micro)/1.2 var(--tm-font); letter-spacing:var(--tm-tracking-micro); text-transform:uppercase; color:var(--tm-muted)}
.tm-track{height:6px; border-radius:var(--tm-radius-pill); background:var(--tm-line)}
.tm-track>i{display:block; height:6px; border-radius:var(--tm-radius-pill); background:var(--tm-accent)}
.tm-tag{font:500 var(--tm-fs-micro)/1 var(--tm-font); padding:4px 10px; border-radius:var(--tm-radius-pill); color:var(--tm-muted); border:1px solid var(--tm-line)}
.tm-tag-accent{color:var(--tm-accent); border-color:var(--tm-accent)}
