html, body{
  font-family:var(--font-stack);
  font-size:var(--fs-sm);
  color:var(--fg);
  background:var(--bg);
}

body,
main,
section,
article,
aside,
header,
footer,
nav,
div,
p,
span,
small,
label,
input,
select,
textarea,
button,
a,
li,
td,
th{
  font-family:var(--font-stack);
}

body,
p,
span,
li,
td,
th,
input,
select,
textarea,
button,
a{
  font-size:inherit;
  color:inherit;
}

h1, .h1{font-size:var(--fs-2xl);line-height:1.2;color:var(--fg)}
h2, .h2{font-size:var(--fs-xl);line-height:1.25;color:var(--fg)}
h3, .h3{font-size:var(--fs-lg);line-height:1.3;color:var(--fg)}
h4, .h4{font-size:var(--fs-md);line-height:1.35;color:var(--fg)}
h5, .h5{font-size:var(--fs-sm);line-height:1.4;color:var(--fg)}
h6, .h6{font-size:var(--fs-xs);line-height:1.4;color:var(--fg)}

small,
.text-xs,
.meta-text,
.note-text,
.footer-copy,
.footer-note{
  font-size:var(--fs-xs);
}

.text-xxs{font-size:var(--fs-xxs)}
.text-sm{font-size:var(--fs-sm)}
.text-md{font-size:var(--fs-md)}
.text-lg{font-size:var(--fs-lg)}
.text-xl{font-size:var(--fs-xl)}

input,
select,
textarea{
  background:var(--input-bg);
  color:var(--fg);
  border:1px solid var(--line);
  font-size:var(--fs-sm);
  font-family:var(--font-stack);
}

::placeholder{
  color:var(--muted);
}

button,
a{
  font-family:var(--font-stack);
}

table{
  color:var(--fg);
}

hr{
  border:none;
  border-top:1px solid var(--line);
}

.muted,
.text-muted,
.desc,
.subtitle,
.sub-text{
  color:var(--muted) !important;
}

/* footer đồng bộ theme mà không cần sửa logic */
footer,
.footer,
.footer *{
  color:var(--fg);
}

.footer,
footer{
  background:transparent;
}

.footer a,
footer a{
  color:var(--fg);
}

.footer small,
.footer .muted,
footer small{
  color:var(--muted);
}