/* Shared layout contracts. Keep this after feature styles in every document. */
.site-header { position: relative; z-index: 40; min-width: 0; gap: 18px; }
.site-header .site-nav { min-width: 0; }
.site-header .header-right { flex-shrink: 0; gap: 8px; }
.main, .global-search-bar, .global-search-inner { min-width: 0; }
.dictionary-pair-toolbar { width: 100%; min-width: 0; gap: 6px 14px; }
.dictionary-pair-toolbar label { min-width: 0; max-width: 100%; }
.dictionary-pair-toolbar select, .language-preferences select { min-width: 0; font-size: 16px; }
.dictionary-pair-toolbar > span { overflow-wrap: anywhere; }
.dictionary-pair-toolbar > a { white-space: nowrap; }
.global-search-results { max-width: calc(100% - 20px); }
.search-type-tabs, .results-heading { flex-wrap: wrap; gap: 6px 12px; }
.search-type-tabs > a { min-width: 0; overflow-wrap: anywhere; }
.results-heading > span { min-width: 0; overflow-wrap: anywhere; }
.catalog-record-grid > *, .word-detail-grid > *, .detail-card,
.classical-workspace :is(.classical-work-card, .classical-chapter-card, .knowledge-card) > *,
.study-layout > *, .deck-controls > *, .study-item > * { min-width: 0; }
.word-identity { flex-wrap: wrap; }
.word-identity > div { min-width: 0; max-width: 100%; }
.word-identity .reading { overflow-wrap: anywhere; }
.word-identity .pack-head-links { flex: 1 0 100%; }
.word-identity .word-permalink { display: inline-flex; margin: 0; min-height: 40px; align-items: center; white-space: normal; }
.word-identity .pack-head-links .word-permalink { font-size: 14px; }
.source-dictionary-entry .detail-card-heading { flex-wrap: wrap; }
.source-dictionary-entry .detail-card-heading h2 { overflow-wrap: anywhere; }
.pack-definition { padding-inline-start: 22px; margin: 8px 0 16px; }
.pack-head-links .han { font-size: 28px; line-height: 1.5; }
.collection-dictionary { container: dictionary / inline-size; }
.collection-visual { container: visual / inline-size; }
.collection-app > .workspace-heading { height: auto; min-height: 52px; flex-wrap: wrap; padding-block: 8px; }
.collection-app { grid-template-rows: auto minmax(0,1fr); }
.collection-app .workspace-layouts { flex-shrink: 0; margin-left: auto; }
.collection-app .collection-tabs { flex-wrap: nowrap; overflow-x: auto; }
.collection-app .collection-tabs > button { flex-shrink: 0; white-space: nowrap; }
.collection-app .field-toolbar { align-items: flex-start; }
.collection-app .field-tools { min-width: 0; max-width: 100%; flex-wrap: wrap; }
.collection-app .field-modes { flex-wrap: wrap; }
.collection-app .field-stage { min-width: 0; }
.collection-app .saved-entry { grid-template-columns: minmax(45px,.7fr) minmax(0,2fr) 18px; overflow-wrap: anywhere; }
.collection-app .collection-inspector-bar { flex-wrap: wrap; }
.collection-app .collection-inspector-bar > span { flex: 1 1 140px; }
.study-item { grid-template-columns: minmax(50px,75px) minmax(0,1fr); }
.study-item span, .study-item small { overflow-wrap: anywhere; }
.study-candidate-group button { grid-template-columns: minmax(40px,.6fr) minmax(0,1.4fr); }
.study-candidate-group button > * { min-width: 0; overflow-wrap: anywhere; }
.deck-controls { grid-template-columns: minmax(0,1.3fr) repeat(2,minmax(0,1fr)); }
.classical-workspace .classical-work-card b, .classical-workspace .classical-chapter-card b { overflow-wrap: anywhere; }
.classical-workspace .classical-paper-label { flex-wrap: wrap; }
.classical-workspace .classical-paper-label > * { min-width: 0; overflow-wrap: anywhere; }
.classical-workspace .knowledge-card > div { overflow-wrap: anywhere; }
@container dictionary (max-width: 620px) {
 #collection-search-results .dictionary-row { grid-template-columns: 20px minmax(0,1fr) 12px; gap: 5px 9px; }
 #collection-search-results .dictionary-row .dictionary-headword { grid-column: 2; grid-row: 1; }
 #collection-search-results .dictionary-row .dictionary-reading { grid-column: 2; grid-row: 2; }
 #collection-search-results .dictionary-row .dictionary-gloss { grid-column: 2; grid-row: 3; }
 #collection-search-results .dictionary-row .result-source { grid-column: 2; grid-row: 4; }
 #collection-search-results .dictionary-row .result-number { grid-column: 1; grid-row: 1 / 5; }
 #collection-search-results .dictionary-row span.result-arrow { grid-column: 3; grid-row: 1 / 5; }
 .collection-inspector .detail-facts { grid-template-columns: minmax(0,1fr); }
 .collection-inspector .home-entry-overview { grid-template-columns: 80px minmax(0,1fr); gap: 12px; }
}
@container visual (max-width: 600px) {
 .character-field[data-connection-panel] .field-stage > canvas { width: 100%; }
 .character-field[data-connection-panel] .connection-drawer { width: 100%; min-width: 0; max-width: 100%; }
 .character-field[data-connection-panel] .field-zoom { right: 10px; }
 .character-field[data-connection-panel] .field-hover { right: 10px; }
}
@media (max-width: 1700px) { .site-header .edition-label { display: none; } }
@media (max-width: 1440px) {
 .site-header, .home-page .site-header { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 0 12px; padding-block: 8px; }
 .site-header .brand { grid-column: 1; grid-row: 1; }
 .site-header .header-right { grid-column: 2; grid-row: 1; margin-left: 0; }
 .site-header .site-nav { grid-column: 1 / -1; grid-row: 2; width: 100%; justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; gap: 3px; margin: 6px 0 0; scrollbar-width: thin; }
 .site-header .site-nav a, .site-header .site-nav a:nth-child(n) { display: flex; flex-shrink: 0; min-height: 40px; padding: 7px 12px; white-space: nowrap; }
}
@media (max-width: 1050px) { .deck-controls { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 850px) {
 body:not(.home-page) .main { padding-inline: 20px; }
 .collection-app { grid-template-rows: auto minmax(220px,var(--dict-fr,44fr)) 14px minmax(260px,var(--visual-fr,56fr)); }
 .collection-app[data-layout=dictionary], .collection-app[data-layout=visual] { grid-template-rows: auto minmax(0,1fr); }
 .collection-app .collection-inspector .detail-facts { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
 body:not(.home-page) .main { padding-inline: 12px; }
 .site-header .brand { gap: 8px; }
 .site-header .brand-han, .site-header .brand-emblem { display: none; }
 .site-header .header-right { gap: 4px; }
 .site-header .header-right > button { width: 34px; min-width: 34px; }
 .site-header .language-preferences summary { font-size: 12px; padding: 6px; }
 .dictionary-pair-toolbar select { font-size: 16px; padding-inline: 8px 24px; }
 .dictionary-pair-toolbar > a { margin-left: 0; }
 .word-identity .reading { flex-basis: 100%; }
 .classical-workspace .classical-work-grid, .classical-workspace .classical-chapter-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .classical-workspace .classical-work-card b { font-size: 34px; }
}
@media (max-width: 400px) {
 .classical-workspace .classical-work-grid, .classical-workspace .classical-chapter-grid { grid-template-columns: minmax(0,1fr); }
 .deck-controls { grid-template-columns: minmax(0,1fr); }
 .deck-controls > label:first-child { grid-column: auto; }
 .collection-app > .workspace-heading > div:first-child { flex-basis: 100%; }
 .collection-app .workspace-layouts { margin-left: 0; }
}
@media print {
 .site-header, .global-search-bar { display: none !important; }
 .collection-app { display: block !important; height: auto; }
}

/* 0.15.1: entry layouts follow their own pane, including a wide desktop split. */
#entry-content, #collection-entry { container: entry / inline-size; min-width: 0; }
.character-detail-grid, #collection-entry .character-detail-grid,
#collection-entry .catalog-record-grid, #collection-entry .word-detail-grid {
 grid-template-columns: repeat(auto-fit,minmax(min(100%,21rem),1fr));
 gap: 14px; align-items: start;
}
.character-detail-grid > .detail-column,
.character-detail-grid > .detail-column:last-child,
#collection-entry .word-detail-grid > .detail-column { display: contents; }
.character-detail-grid #meaning { order: 0; }
.character-detail-grid #structure { order: 1; }
.character-detail-grid #history { order: 2; }
.character-detail-grid #readings { order: 3; }
.character-detail-grid #examples { order: 4; }
.character-detail-grid #family { order: 5; }
.character-detail-grid #writing { order: 6; }
.character-detail-grid #confusions { order: 7; }
.character-detail-grid #sources { order: 8; grid-column: 1 / -1; }
#collection-entry .character-identity {
 grid-template-columns: 80px minmax(0,1fr); gap: 12px 16px; padding: 16px;
}
#collection-entry .character-identity > * { min-width: 0; }
#collection-entry .identity-facts { grid-column: 1 / -1; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); }
#collection-entry .identity-facts > div { grid-template-columns: 76px minmax(0,1fr); }
#collection-entry .identity-facts small { white-space: normal; }
#collection-entry .detail-facts { grid-template-columns: minmax(0,1fr); }
#collection-entry .detail-facts > div { grid-template-columns: minmax(80px,.36fr) minmax(0,1fr); gap: 10px; }
#collection-entry .detail-facts dd { min-width: 0; overflow-wrap: break-word; word-break: normal; }
#collection-entry .history-record > p, #collection-entry .detail-sense > p,
#collection-entry .detail-card-body > p { font-size: 17px; line-height: 1.6; }
#collection-entry .detail-card-heading { flex-wrap: wrap; align-items: baseline; }
#collection-entry .detail-card-heading > span { text-align: left; }
#collection-entry .detail-decomposition { gap: 10px; }
#collection-entry .article-nav { overflow-x: auto; flex-wrap: nowrap; gap: 18px; }
#collection-entry .article-nav a { flex-shrink: 0; white-space: nowrap; }
.character-detail-grid .mini-word, #collection-entry .mini-word {
 grid-template-columns: minmax(0,1fr) minmax(0,1fr) 12px; gap: 4px 10px;
}
.character-detail-grid .mini-word > *, #collection-entry .mini-word > * { min-width: 0; }
.character-detail-grid .mini-word > span:nth-child(3), #collection-entry .mini-word > span:nth-child(3) {
 grid-column: 1 / 3; grid-row: 2; font-size: 15px; line-height: 1.5;
}
.character-detail-grid .mini-word > span:last-child, #collection-entry .mini-word > span:last-child { grid-column: 3; grid-row: 1 / 3; }
.character-detail-grid .mini-word .reading, #collection-entry .mini-word .reading { font-size: 14px; }
@container entry (max-width: 850px) {
 .character-identity { grid-template-columns: 80px minmax(0,1fr); }
 .character-identity .identity-facts { grid-column: 1 / -1; grid-template-columns: repeat(auto-fit,minmax(min(100%,16rem),1fr)); }
}
@container entry (max-width: 420px) {
 #collection-entry .character-identity { grid-template-columns: 64px minmax(0,1fr); padding: 12px; gap: 10px; }
 #collection-entry .identity-glyph { font-size: 64px; }
 #collection-entry .identity-reading > p { font-size: 18px; }
 #collection-entry .identity-facts { grid-template-columns: minmax(0,1fr); }
 #collection-entry .writing-widget { grid-template-columns: minmax(0,1fr); }
 #collection-entry .word-identity { gap: 12px; }
 #collection-entry .word-identity .reading { flex-basis: 100%; }
}
/* Source senses have their own examples and unchanged source labels. */
.pack-senses { list-style: decimal-leading-zero; padding-inline-start: 28px; margin: 0; }
.pack-senses > .pack-sense { padding: 10px 0 14px 5px; border-bottom: 1px solid var(--rule); }
.pack-senses > .pack-sense:first-child { padding-top: 0; }
.pack-senses > .pack-sense:last-child { border-bottom: 0; }
.pack-senses > .pack-sense::marker { color: var(--accent); font-size: 13px; }
.pack-senses .pack-meaning { font: 500 18px/1.5 var(--sans); margin: 0; color: var(--ink); }
.pack-labels { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 6px; }
.pack-labels > span { border: 1px solid var(--rule); border-radius: 3px; padding: 1px 6px; font: 400 12px/1.5 var(--sans); color: var(--muted); }
.pack-examples { margin-top: 9px; }
.pack-examples > summary { cursor: pointer; color: var(--accent); font: 500 14px/1.5 var(--sans); padding: 5px 0; min-height: 32px; }
.pack-examples > ul { list-style: none; margin: 4px 0 0; padding: 0; }
.pack-examples > ul > li { border-top: 1px solid var(--rule); padding: 10px 0; }
.pack-example-form { display: inline; font-size: 23px; line-height: 1.6; color: var(--ink); overflow-wrap: anywhere; }
.pack-example-alternate { margin-inline-start: 10px; font-size: 20px; color: var(--muted); overflow-wrap: anywhere; }
.pack-examples li > p { margin: 3px 0 0; font: 400 16px/1.6 var(--sans); }
.pack-examples .pack-example-source { font: 400 12px/1.6 var(--sans); color: var(--muted); margin: 8px 0 0; overflow-wrap: anywhere; }
.context-sense > .pack-senses { margin-top: 12px; }
@media print { .character-detail-grid, #collection-entry .character-detail-grid { display: block; } }
/* The map header previews a meaning; the full entry remains one click away. */
.collection-app .network-summary [data-network-gloss] {
 display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
 overflow: hidden; max-height: 4.8em; font-size: 16px; line-height: 1.6;
}
.collection-app .network-summary > div > div { min-width: 0; }
@container visual (max-width: 420px) {
 .collection-app .network-summary { flex-wrap: wrap; }
 .collection-app .network-summary > button { margin-left: auto; }
}
.pack-example-match { display: block; margin-top: 4px; font-size: 12px; line-height: 1.5; color: var(--muted); }

/* Shared fallback: embedded entries do not import their source document styles. */
/* Renamed subset of BabelStone Han 16.0.3; Arphic Public License. */
@font-face{font-family:'Zimai IDS';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/typography-0.10.1/zimai-ids.woff2') format('woff2');unicode-range:U+2FF0,U+2FF1,U+2FF2,U+2FF3,U+2FF4,U+2FF5,U+2FF6,U+2FF7,U+2FF8,U+2FF9,U+2FFA,U+2FFB,U+2FFC,U+2FFD,U+2FFE,U+2FFF,U+303E,U+31D2,U+31EF,U+30001;}
.catalog-ids [lang]{font-family:'Zimai IDS','Zimai Rare Han',var(--cjk-tc);font-weight:400;font-synthesis:none}.catalog-ids .ids-rare{font-family:'Zimai IDS','Zimai Rare Han',var(--cjk-tc);font-weight:400;font-synthesis:none}.catalog-ids .ids-operator{font-family:'Zimai IDS',var(--cjk-tc);font-weight:400}.catalog-ids~.card-caption{font-family:'IBM Plex Sans','Zimai IDS',var(--sans)}.ids-legend{font-size:13px;line-height:1.6;color:var(--muted);margin-top:10px}.ids-legend summary{cursor:pointer;min-height:32px;display:list-item}.ids-legend p{margin:6px 0}.ids-legend [lang]{font-family:'Zimai IDS',var(--cjk-tc);font-size:18px}

.ids-tree .ids-operator { font-family: 'Zimai IDS', var(--cjk-tc); font-weight: 400; font-synthesis: none; }
.ids-tree .ids-operator small { font-family: var(--sans); }
.catalog-ids .ids-operator[aria-label]::after { content: ' ' attr(aria-label); font: 400 12px/1.4 var(--sans); color: var(--muted); margin-inline: 4px 8px; }

/* Unified control geometry. Keep native select semantics and popup behavior. */
:root { --ui-focus: var(--accent, #b02b25); --ui-hover: color-mix(in srgb, var(--accent, #b02b25) 6%, var(--paper, #fff)); }
html body select:not([multiple]):not([size]), html body select[size="1"] {
 appearance: none; -webkit-appearance: none;
 padding-inline: 12px 38px; min-height: 36px; border: 1px solid var(--rule);
 border-radius: 6px; line-height: 1.4; color: var(--ink); background-color: var(--paper);
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23777777' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat: no-repeat; background-position: right 12px center; background-size: 12px 8px;
 max-width: 100%; cursor: pointer; font-size: 16px;
}
html body .connection-list-heading select { width: auto; min-width: 5.5rem; }
html[dir="rtl"] body select:not([multiple]) { background-position: left 12px center; }
html body :is(input:not([type="checkbox"]):not([type="radio"]),textarea) { border-radius: 6px; }
html body :is(a[href],button,input,textarea,select,summary,[tabindex]):focus-visible {
 outline: 2px solid var(--ui-focus); outline-offset: 3px;
}
html body :is(input,textarea,select):focus-visible { outline-offset: 1px; }
html body :is(button,select,input,textarea):disabled { cursor: not-allowed; opacity: .55; }
html body summary { cursor: pointer; border-radius: 4px; min-height: 32px; padding-block: 6px; }
html body details[open] > summary { color: var(--ui-focus); }
html body :is(.detail-card,.classical-card,.knowledge-card,.catalog-card):focus-within {
 border-color: var(--ui-focus);
}
@media (hover:hover) and (pointer:fine) {
 html body :is(select,input,textarea):not(:disabled):hover { border-color: var(--ui-focus); }
 html body :is(button,summary):not(:disabled):hover { background-color: var(--ui-hover); }
 html body :is(a.detail-card,a.classical-card,a.knowledge-card,a.catalog-card,.mini-word,.saved-entry,.dictionary-crossref):hover {
 background-color: var(--ui-hover); box-shadow: inset 0 0 0 1px var(--ui-focus);
 }
 html body :is(.detail-card,.classical-card,.knowledge-card,.catalog-card):hover { border-color: color-mix(in srgb,var(--ui-focus) 45%,var(--rule)); }
 html body :is(.detail-card-body,.classical-card,.markdown,.prose,.entry-provenance) a[href]:hover { text-decoration: underline; text-underline-offset: .2em; }
}
/* Match visual flow to DOM/keyboard order, rather than CSS-only reordering. */
.character-detail-grid > .detail-card, .character-detail-grid > .detail-column > .detail-card { order: 0 !important; }
@media (pointer:coarse) { html body :is(select,summary) { min-height: 44px; } }
@media (forced-colors:active) {
 html body select:not([multiple]):not([size]), html body select[size="1"] { appearance: auto; -webkit-appearance: auto; background-image: none; padding-inline-end: 12px; }
 html body :focus-visible { outline-color: Highlight; }
}

/* zimai cross-language readings v2 */
.cross-readings .cross-reading-intro{font-size:16px;line-height:1.6;margin:0 0 16px}
.cross-reading-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:12px;align-items:start}
.cross-reading-language{min-width:0;padding:14px;border:1px solid var(--rule);border-radius:6px;background:var(--paper)}
.cross-reading-language h3{font:600 17px/1.5 var(--sans);margin:0 0 10px}.cross-reading-language h3 span{font-weight:400;color:var(--muted)}
.cross-reading-language h4{font:500 13px/1.5 var(--sans);color:var(--muted);margin:12px 0 6px}
.cross-reading-values{display:flex;flex-wrap:wrap;gap:6px}.cross-reading-values>span{font-size:22px;line-height:1.55;padding:2px 8px;border:1px solid var(--rule);border-radius:4px}
.cross-reading-note,.cross-reading-missing{font-size:14px;line-height:1.65;margin:10px 0}
.cross-reading-source{border:1px solid var(--rule);border-radius:4px;margin-top:10px;padding:0 10px}.cross-reading-source[open]{background:var(--subtle);border-color:var(--accent)}
.cross-reading-source summary{cursor:pointer;font-size:13px;padding-block:8px;min-height:36px}.cross-reading-source summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.cross-reading-source code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:14px/1.7 var(--sans);padding-bottom:10px}
.cross-reading-source p,.cross-reading-source dl{font-size:13px;line-height:1.6}.cross-reading-source dd{margin:0 0 8px}.cross-reading-footer{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0}
@media(hover:hover){.cross-reading-source summary:hover{color:var(--accent)}.cross-reading-language:hover{border-color:var(--muted)}}

/* Structured language reading records, source guides visibly separate. */
#readings.structured-readings{padding:16px;min-width:0;border:1px solid var(--rule);border-radius:6px;background:var(--white)}
.structured-readings .reading-box-header h2{margin:4px 0 8px;font-size:21px}.structured-readings .reading-box-header p{font-size:14px;line-height:1.6;margin:0 0 14px;color:var(--muted)}
.structured-readings .language-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px;padding:0}
.structured-readings .language-tabs a{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 8px;padding:10px 12px;min-height:44px;font-size:15px}.structured-readings .language-tabs small{font-size:12px;font-weight:400}
.structured-readings .language-panel{padding:14px;border:1px solid var(--rule);border-radius:5px;background:var(--paper);margin:0 0 10px}.structured-readings .language-panel[hidden]{display:none}
.reading-record-header{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;margin-bottom:12px}.reading-record-header h3{font-size:17px;margin:0}.reading-status{font-size:11px;line-height:1.5;color:var(--muted);padding:2px 6px;border:1px solid var(--rule);border-radius:3px}
.reading-pronunciation{border-bottom:1px solid var(--rule);padding-bottom:12px}.reading-field-label{display:block;color:var(--muted);font-size:12px}.structured-readings .language-reading{font:500 27px/1.5 var(--sans);margin:3px 0 0;overflow-wrap:anywhere}
.reading-senses h4{font-size:12px;color:var(--muted);margin:12px 0 6px}.reading-senses ol{margin:0;padding-left:22px}.reading-senses li{padding:7px 0;border-bottom:1px solid var(--rule);font-size:15px;line-height:1.6}.reading-senses li:last-child{border:0}
.reading-evidence,.reading-guide{border:1px solid var(--rule);border-radius:4px;margin-top:10px;padding:0 10px}.reading-evidence summary,.reading-guide summary{font-size:13px;min-height:40px;padding:9px 0;cursor:pointer}.reading-evidence[open],.reading-guide[open]{border-color:var(--accent);background:var(--subtle)}
.reading-evidence p,.reading-guide-body p{font-size:14px;line-height:1.65}.reading-guides{border-top:1px solid var(--rule);margin-top:16px;padding-top:12px}.reading-guides>h3{font-size:15px;margin:0 0 5px}.reading-guides>p{margin:0 0 8px}.reading-guide summary small{display:block;padding-left:16px;font-size:11px;color:var(--muted)}
.reading-guide-facts>div{display:grid;grid-template-columns:minmax(80px,.35fr) minmax(0,1fr);gap:8px;padding:7px 0;border-bottom:1px solid var(--rule);font-size:13px;line-height:1.6}.reading-guide-facts dt{color:var(--muted)}.reading-guide-facts dd{margin:0}.reading-guide-body .notice{font-size:13px;line-height:1.6;margin:4px 0 12px}.reading-guide-body .language-source-links,.reading-evidence .language-source-links{display:grid;gap:8px;padding-bottom:12px}.reading-box-footer{font-size:12px;line-height:1.6;color:var(--muted);margin:14px 0 0}
@media(hover:hover){.reading-guide summary:hover,.reading-evidence summary:hover{color:var(--accent)}}

/* zimai character document v2: continuous sections instead of a card mosaic. */
.character-section-nav{display:flex;flex-wrap:wrap;gap:4px 16px;border-block:1px solid var(--rule);padding:10px 0;margin:16px 0 0;font-size:13px;line-height:1.7}
.character-section-nav a{padding:4px 0;color:var(--muted);text-decoration:none}.character-section-nav a:hover,.character-section-nav a:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:5px}
.character-document{width:100%;min-width:0;container:character-document / inline-size}
.character-document .character-chapter{margin:0;padding:0 0 12px;border:0;scroll-margin-top:24px}
.character-document .character-chapter-heading{display:flex;align-items:baseline;border-bottom:2px solid var(--ink);padding:22px 0 9px;margin:0}
.character-document .character-chapter-heading h2{font:600 20px/1.4 var(--sans);margin:0;letter-spacing:-.015em}
.character-document .character-chapter>.detail-card,.character-document .character-chapter>.language-section{display:grid;grid-template-columns:180px minmax(0,1fr);gap:12px 24px;border:0!important;border-bottom:1px solid var(--rule)!important;border-radius:0!important;box-shadow:none!important;background:transparent!important;padding:18px 0!important;margin:0!important;overflow:visible;min-width:0}
.character-document .detail-card>.detail-card-heading,.character-document .detail-card>h3{grid-column:1;padding:0;margin:0;border:0;display:block;min-width:0}
.character-document .detail-card>.detail-card-body{grid-column:2;min-width:0;padding:0}.character-document .detail-card-heading h3,.character-document .detail-card>h3{font:600 15px/1.6 var(--sans);margin:0}.character-document .detail-card-heading>span{display:block;font-size:12px;line-height:1.5;margin-top:5px;text-align:left}
.character-document .detail-card>p,.character-document .detail-card>div:not(.detail-card-heading),.character-document .detail-card>details{grid-column:2;min-width:0}
.character-document #readings.structured-readings{display:block}.character-document .reading-box-header h3{font-size:17px;margin:0 0 7px}
.character-document .detail-card-body>p:first-child{margin-top:0}.character-document .detail-card-body>p{line-height:1.65}.character-document .cross-reading-grid{grid-template-columns:1fr}.character-document .cross-reading-language{border:0;border-top:1px solid var(--rule);border-radius:0;background:transparent;padding:12px 0}.character-document .cross-reading-language:first-child{border-top:0;padding-top:0}
@container character-document (max-width:700px){.character-document .character-chapter>.detail-card{grid-template-columns:minmax(0,1fr);gap:8px}.character-document .detail-card>*{grid-column:1!important}.character-document .detail-card>.detail-card-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px}.character-document .detail-card-heading>span{margin:0}.character-document .character-chapter-heading h2{font-size:18px}}
@media print{.character-section-nav{display:none}.character-document .character-chapter>.detail-card{display:block;break-inside:avoid}.character-document details{display:block}}
