.hero-title,
.screen-title,
.mode-card h3,
.overlay-card h2,
.lobby-card h3,
.brand-name{
font-family:var(--display);
}

.type-text,
.type-text .ch,
.progress-text,
.stat .val,
.result-wpm span,
.room-code-row strong,
.code-input,
body,
button,
input,
select{
font-family:var(--font);
}

body.theme-dollshop .hero-title{
font-size:clamp(56px,10vw,110px);
font-weight:400;
text-transform:none;
line-height:1;
letter-spacing:0;
}

body.theme-dollshop .screen-title,
body.theme-dollshop .mode-card h3,
body.theme-dollshop .overlay-card h2,
body.theme-dollshop .lobby-card h3{
font-weight:400;
text-transform:none;
letter-spacing:0;
}

body.theme-dollshop .mode-card h3{
font-size:26px;
}

body.theme-dollshop .brand-name{
font-size:26px;
font-weight:400;
text-transform:none;
letter-spacing:0;
}

body.theme-dollshop .type-text{
font-family:var(--mono);
font-size:24px;
letter-spacing:.02em;
}

body.theme-abbaye .hero-title{
font-size:clamp(36px,6vw,68px);
font-weight:700;
text-transform:none;
letter-spacing:.02em;
line-height:1.2;
}

body.theme-abbaye .screen-title,
body.theme-abbaye .overlay-card h2,
body.theme-abbaye .lobby-card h3{
font-weight:700;
text-transform:none;
letter-spacing:.02em;
}

body.theme-abbaye .mode-card h3{
font-weight:700;
text-transform:none;
letter-spacing:.02em;
font-size:22px;
}

body.theme-abbaye .brand-name{
font-size:24px;
font-weight:700;
text-transform:none;
letter-spacing:.02em;
}

body.theme-abbaye .type-text{
font-family:var(--mono);
font-size:32px;
line-height:1.4;
letter-spacing:.02em;
}

body.theme-abbaye .stat .val{
font-size:28px;
}

body.theme-abbaye .result-wpm span{
font-size:72px;
font-family:var(--mono);
font-weight:400;
}
