/* The chapter inspector has one compact hierarchy shared by every reference type. */
/* Avoid a body scroll container that prevents sticky positioning in the FCMS h-100 shell. */
body:has(.tellingWritingWorkspace):not(.modal-open) { overflow-x: clip; }
.tellingApp .chapter-editor-aside { top: calc(var(--tellingHeaderInset, 0px) + 1rem); max-height: max(0px, calc(100dvh - var(--tellingHeaderInset, 0px) - var(--tellingSaveToolbarHeight, 80px) - 2rem)); overflow: visible; align-self: flex-start; }
.tellingApp .chapter-editor-sidebar { max-height: inherit; min-height: 0; }
.tellingApp .tellingReferenceTabs { flex-shrink: 0; }
.tellingApp .tellingReferenceContent { min-height: 0; overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
.tellingApp .tellingReferenceTitle { display: inline; padding: 0; border: 0; background: transparent; color: var(--tellingText); font: inherit; text-align: left; text-decoration: underline; text-decoration-color: var(--tellingBorder); text-underline-offset: .2em; overflow-wrap: anywhere; }
.tellingApp .tellingReferenceTitle:hover { color: var(--content-link, var(--bs-link-color)); text-decoration-color: currentColor; }
.tellingReferenceFiles { margin: 1rem 0; padding-top: .85rem; border-top: 1px solid var(--tellingBorder); }
.tellingReferenceFiles h3 { font-size: .9rem; margin: 0 0 .65rem; }
.tellingReferenceFileList { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .65rem; }
.tellingApp .tellingReferenceFile { border: 1px solid var(--tellingBorder); border-radius: .4rem; padding: .5rem; background: var(--tellingSubtle); color: var(--tellingText); text-align: left; min-width: 0; }
.tellingReferenceFile img { width: 100%; height: 95px; object-fit: contain; display: block; }
.tellingReferenceFile span { display: block; font-size: .73rem; overflow-wrap: anywhere; margin-top: .4rem; }
.tellingReferenceFile .tellingReferenceFileFallback { display: flex; align-items: center; justify-content: center; height: 95px; margin: 0; font-size: 1.8rem; color: var(--tellingMuted); }
.tellingReferenceFile[aria-expanded="true"] { border-color: var(--interactive-primary, var(--bs-primary)); }
.tellingReferencePreview { margin: .8rem 0 0; padding: .75rem; border: 1px solid var(--tellingBorder); background: var(--tellingSubtle); border-radius: .4rem; }
.tellingReferencePreview > img { display: block; width: 100%; height: min(50dvh, 520px); object-fit: contain; }
.tellingReferencePreview figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin-top: .65rem; font-size: .78rem; }
.tellingReferencePreview figcaption > span { flex: 1; overflow-wrap: anywhere; }
.tellingReferencePreviewError, .tellingReferenceNoFiles { color: var(--tellingMuted); font-size: .8rem; }
@media (max-width: 991.98px) {
    .tellingApp .chapter-editor-aside { max-height: none; align-self: stretch; }
    .tellingApp .tellingReferenceContent { max-height: min(55dvh, 420px); }
}
@media (max-width: 575.98px) {
    .tellingReferencePreview > img { height: min(35dvh, 320px); }
    .tellingReferencePreview figcaption > span { flex-basis: 100%; }
    .tellingReferencePreview figcaption > button { margin-left: auto; }
}
.tellingApp .tellingReferenceTabs { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: thin; padding: .2rem .25rem 0; gap: 0; }
.tellingApp .tellingReferenceTabs .nav-item { flex: 1 0 auto; }
.tellingApp .tellingReferenceTabs .nav-link { white-space: nowrap; padding: .65rem .4rem; font-size: .73rem; width: 100%; border-radius: 0; }
.tellingApp .tellingReferenceContent .card-body { padding: .8rem; }
.tellingApp .tellingReferenceContent > .tellingReferencePanel > .card-header { display: flex; align-items: center; justify-content: space-between; padding: .75rem .8rem 0; border: 0; }
.tellingReferenceHeading h2 { margin: 0; font-size: .75rem; font-weight: 600; color: var(--tellingMuted); }
.tellingReferenceCount { font-size: .72rem; font-variant-numeric: tabular-nums; color: var(--tellingMuted); }
.tellingApp .tellingReferencePanel .chapter-assignment-list { gap: .5rem; }
.tellingApp .tellingReferenceItem { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .4rem .4rem; padding: .65rem; border: 1px solid var(--tellingBorder); border-radius: .35rem; background: var(--tellingSubtle); min-width: 0; }
.tellingReferenceIdentity { min-width: 0; align-self: center; }
.tellingReferenceIdentity h3 { margin: 0; font-size: .85rem; line-height: 1.4; font-weight: 600; overflow-wrap: anywhere; }
.tellingReferenceSubtitle { font-size: .72rem; color: var(--tellingMuted); margin: .15rem 0 0; line-height: 1.45; overflow-wrap: anywhere; }
.tellingApp .tellingReferenceActions { display: flex; flex-direction: row; gap: .1rem; flex-shrink: 0; }
.tellingApp .tellingReferenceActions .btn { display: inline-flex; justify-content: center; align-items: center; width: 30px; min-width: 30px; height: 30px; min-height: 30px; padding: 0; font-size: .75rem; border: 0; border-radius: .25rem; background: transparent; box-shadow: none; color: var(--tellingMuted); }
.tellingApp .tellingReferenceActions .btn:hover { background: var(--interactive-selected-surface, var(--bs-primary-bg-subtle)); color: var(--content-link, var(--bs-link-color)); }
.tellingApp .tellingReferenceActions [data-assignment-remove]:hover { color: var(--state-danger-text, var(--bs-danger-text-emphasis)); background: var(--state-danger-surface, var(--bs-danger-bg-subtle)); }
.tellingApp .tellingReferenceDescription { grid-column: 1 / -1; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; font-size: .75rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; color: var(--tellingMuted); margin: 0; }
.tellingReferenceEmpty { font-size: .78rem; color: var(--tellingMuted); margin: 0 0 .75rem; line-height: 1.5; }
.tellingReferencePicker { margin-top: .6rem; border: 1px solid var(--tellingBorder); border-radius: .35rem; }
.tellingReferencePicker > summary { display: flex; align-items: center; gap: .45rem; padding: .55rem .6rem; min-height: 36px; cursor: pointer; list-style: none; font-size: .76rem; color: var(--content-link, var(--bs-link-color)); }
.tellingReferencePicker > summary::-webkit-details-marker { display: none; }
.tellingReferencePicker > summary > i:last-child { margin-left: auto; font-size: .6rem; }
.tellingReferencePicker[open] > summary > i:last-child { transform: rotate(180deg); }
.tellingReferencePickerBody { padding: 0 .55rem .55rem; }
.tellingApp .tellingReferencePicker .form-control { min-height: 34px; font-size: .76rem; padding: .45rem .55rem; }
.tellingApp .tellingReferencePicker .chapter-assignment-search-results { padding: 0; border: 0; border-radius: 0; background: transparent; }
.tellingReferenceSearchHint { margin: .45rem 0 0; font-size: .71rem; color: var(--tellingMuted); }
.tellingReferencePicker [data-assignment-results-list] { display: flex; flex-direction: column; gap: .4rem; margin-top: .5rem; max-height: 260px; overflow-y: auto; }
.tellingApp .tellingReferencePicker .tellingReferenceItem { padding: .5rem; background: var(--tellingSurface); }
.tellingReferenceResultMeta { grid-column: 1 / -1; color: var(--tellingMuted); font-size: .68rem; margin: 0; }
.tellingReferenceSaveBar { display: flex; align-items: center; justify-content: space-between; gap: .4rem; margin-top: .75rem; padding-top: .65rem; border-top: 1px solid var(--tellingBorder); }
.tellingReferenceSaveBar > span { font-size: .69rem; color: var(--tellingMuted); }
.tellingReferenceSaveBar > span[data-dirty="true"] { color: var(--state-warning-text, var(--bs-warning-text-emphasis)); }
.tellingApp .tellingReferenceSaveBar .btn { font-size: .75rem; min-height: 32px; padding: .35rem .65rem; flex-shrink: 0; }
.tellingReferenceFeedback { font-size: .73rem; margin: .6rem 0 0; line-height: 1.45; }
.tellingReferenceFeedback.alert-success { color: var(--state-success-text, var(--bs-success-text-emphasis)); background: transparent; }
.tellingReferenceFeedback.alert-danger { color: var(--state-danger-text, var(--bs-danger-text-emphasis)); background: transparent; }
.tellingApp .tellingReferenceFooter { display: flex; justify-content: space-between; align-items: center; gap: .4rem; padding: .45rem .8rem; }
.tellingReferenceFooter > a, .tellingApp .tellingReferenceTextButton { display: inline-flex; align-items: center; gap: .35rem; min-height: 32px; font-size: .72rem; font-weight: 400; text-decoration: none; color: var(--content-link, var(--bs-link-color)); border: 0; padding: 0; background: transparent; }
.tellingReferenceFooter > a > i { font-size: .6rem; }
.tellingReferenceFooter > a:hover, .tellingReferenceTextButton:hover { text-decoration: underline; }
.tellingReferenceSaveNote { margin: .65rem 0 0; font-size: .7rem; color: var(--tellingMuted); }
.tellingApp #chapterPlanningCard .form-label { font-size: .75rem; font-weight: 600; margin-bottom: .3rem; }
.tellingApp #chapterPlanningCard :is(.form-select, .form-control) { font-size: .8rem; padding-block: .4rem; min-height: 35px; }
.tellingApp #chapterPlanningCard .form-text { font-size: .7rem; }
.tellingApp #chapterPlanningCard .word-progress-summary { border-top: 1px solid var(--tellingBorder); padding-top: .65rem; }
.tellingApp #chapterPlanningCard .word-progress-summary .small { font-size: .75rem; }
.tellingApp #chapterSummaryCard .fcmsEditorContent { min-height: 210px !important; }
.tellingApp #chapterSummaryCard .fcmsEditorToolbar { gap: .2rem !important; padding: .3rem; }
.tellingApp #chapterSummaryCard .fcmsEditorToolbar .btn { min-width: 28px; min-height: 28px; padding: .2rem; font-size: .75rem; }
@media (pointer: coarse) {
    .tellingApp .tellingReferenceActions .btn { width: 34px; min-width: 34px; height: 34px; }
}
