/* Character analysis: dictionary indexing, written structure, and sound stay separate. */
.hanzi-analysis, .pronunciation-analysis { min-width: 0; overflow-wrap: anywhere; }
.analysis-character { padding: 12px 0; border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent); }
.analysis-character__header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin-bottom: 12px; }
.analysis-character__title { font-size: 1.8rem; line-height: 1.3; margin: 0; }
.analysis-tree { min-width: 0; flex: 1 1 120px; border: 1px solid color-mix(in srgb, currentColor 14%, transparent); border-radius: 12px; padding: 8px; }
.analysis-relationship { display: block; text-align: center; font-size: .75rem; opacity: .8; margin-bottom: 6px; }
.analysis-children { display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; min-width: 0; }
.analysis-component { flex: 1 1 64px; min-width: 0; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; padding: 6px; }
.analysis-glyph { font-family: "Noto Serif SC", serif; font-size: clamp(1.8rem, 7vw, 2.8rem); line-height: 1.3; }
.analysis-character__title { font-family: "Noto Serif SC", serif; }
.analysis-role, .analysis-gloss { font-size: .75rem; line-height: 1.45; }
.analysis-role { font-weight: 600; }
.analysis-language { font-size: .65rem; }
.analysis-component--unknown { border: 1px dashed currentColor; border-radius: 8px; }
.analysis-key { margin-top: 2px; padding: 1px 8px; border-radius: 999px; background: rgba(223,85,63,.12); color: var(--red-dark); font-size: .65rem; font-weight: 700; }
.analysis-status { font-size: .8rem; line-height: 1.5; margin: 8px 0 0; }
.pronunciation-syllable { min-width: 0; padding: 8px 0; }
.pronunciation-syllable__title { margin: 0 0 6px; font-weight: 600; }
.pronunciation-fields { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.pronunciation-field dt { font-size: .7rem; line-height: 1.5; }
.pronunciation-field dd { margin: 4px 0 0; font-size: 1rem; font-weight: 600; }
@media (prefers-reduced-motion: reduce) { .hanzi-analysis *, .pronunciation-analysis * { animation: none !important; transition: none !important; } }
