.topbar .header-controls { gap: 8px; min-width: 0; }
.topbar .language-switch { display: flex; flex-wrap: nowrap; gap: 3px; padding: 4px; }
.topbar .language-switch button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; width: 48px; min-width: 48px; height: 56px; min-height: 48px; padding: 4px; font-size: 12px; border-radius: 11px; line-height: 1; }
.language-switch button img { width: 25px; height: 17px; object-fit: cover; border-radius: 3px; box-shadow: 0 0 0 1px #ffffff25; }
.topbar .fullscreen-button { flex-shrink: 0; }
html:lang(ja) body { font-family: 'Noto Sans JP', 'Yu Gothic', 'Meiryo', sans-serif; }
html:lang(ja) .eyebrow, html:lang(ja) .quiz-phases span { letter-spacing: .04em; }
html:lang(ja) .intro-copy h1 { font-size: clamp(2rem, 5.7vw, 4rem); line-height: 1.35; }
html:lang(ja) .question-copy h2 { line-height: 1.45; }
html:lang(de) .question-copy h2, html:lang(fr) .question-copy h2, html:lang(es) .question-copy h2 { font-size: clamp(1.4rem, 3.7vw, 2.35rem); }
body[data-screen="result"] .result-meta-row { gap: 7px; }
body[data-screen="result"] .result-meta-row .result-identity-line strong { font-size: clamp(9px, 1.3vw, 12px); }
body[data-screen="result"] .result-meta-row .type-badges .energy-badge { font-size: 9px; }
body[data-screen="result"] .trait-list div { grid-template-columns: minmax(100px, 1.15fr) 28px minmax(65px, 1.3fr); }
@media (max-width: 620px) {
 .topbar { padding-inline: 8px; }
 .topbar .header-controls { gap: 4px; }
 .topbar .language-switch { gap: 0; padding: 3px; }
 .topbar .language-switch button { width: 38px; min-width: 38px; height: 48px; font-size: 10px; }
 .topbar .fullscreen-button { width: 36px; height: 44px; }
 .topbar .brand img { max-width: 56px; }
 body[data-screen="result"] .result-meta-row { gap: 4px; }
 body[data-screen="result"] .result-meta-row .result-identity-line { gap: 4px; }
 body[data-screen="result"] .result-meta-row .type-badges { gap: 3px; }
 body[data-screen="result"] .result-meta-row .type-badges .energy-badge { padding-inline: 4px; }
}
