/* BOOKS-100: opt-in utilities retain their existing layout, state and permission contracts. */
.utility-screen .reading-dashboard :is(.card,.character-list-item,.character-editor__section,.character-family,.theme-gap-card,.theme-suggestion-card,.synopsis-review-card) { background: #faf8f2; border: 0; border-bottom: 1px solid #cdbfa9; border-radius: 0; box-shadow: none; }
.utility-screen .reading-dashboard :is(.character-header,.character-editor__header,.utility-heading) { padding: 2rem; margin-bottom: 2rem; background: #233f33; color: #f8f2e5; border: 0; border-bottom: 3px solid #ae8c53; border-radius: 0; box-shadow: none; }
.utility-screen :is(.character-header,.character-editor__header,.utility-heading) h1 { color: #f8f2e5; }
.utility-screen :is(.character-header,.character-editor__header,.utility-heading) p { color: #d8ddcf; }
.utility-screen .character-header a, .utility-screen .character-editor__back { color: #f8f2e5; }
.utility-screen .utility-heading .btn { background: #faf8f2; color: #234a35; border-color: #dac393; }
.utility-screen .reading-dashboard .character-editor__section { padding-block: 1.5rem; }
.utility-screen .character-list-item__avatar { background: #e7dbc6; color: #315d45; }
.utility-screen :is(.character-chip,.character-family__member) { background: #e7dbc6; color: #473b2d; border-color: #cbb997; border-radius: 4px; }
.utility-screen :is(.theme-review-section,.theme-gap-card,.theme-review-card) { background: #faf8f2; border-color: #cdbfa9; border-radius: 0; box-shadow: none; }
.utility-screen .map-shell { border: 1px solid #cdbfa9; border-radius: 0; box-shadow: none; }
.utility-screen .map-toolbar, .utility-screen .map-kind-control { background: #e7dbc6; }
.utility-screen .map-filter.active, .utility-screen .map-mobile-tabs button.active { background: #315d45; color: #fffefa; }
.utility-screen .map-filter, .utility-screen .map-mobile-tabs button { min-height: 44px; border-radius: 4px; }
.utility-screen .auth-shell { padding: 2rem 20px; }
.utility-screen .auth-shell .card { width: 100%; background: #e7dbc6; border: 0; border-top: 4px solid #315d45; border-radius: 0; box-shadow: none !important; }
.utility-screen .errorlist { color: #8d3029; padding-left: 1.25rem; }
.utility-screen .reading-dashboard form :is(fieldset,.card) { min-width: 0; }
.utility-screen :is(.table-responsive,.character-editor__section-body) { min-width: 0; }
.utility-screen .reading-dashboard img { max-width: 100%; }
.utility-screen .homepage { font-family: var(--reading-body); background: #f2ebdf; color: #262c26; }
.utility-screen .homepage .hero { background: #233f33; border-bottom: 3px solid #ae8c53; padding-block: clamp(3rem,6vw,6rem); }
.utility-screen .homepage .hero__title { color: #f8f2e5; font-family: var(--reading-heading); font-weight: 400; }
.utility-screen .homepage .hero__subtitle { color: #d8ddcf; }
.utility-screen .homepage .section--alt { background: #e7dbc6; }
.utility-screen .homepage :is(.feature,.preview-card,.faq__item) { background: #faf8f2; border-color: #cdbfa9; border-radius: 0; box-shadow: none; transform: none; }
.utility-screen .homepage .section--cta { background: #233f33; color: #f8f2e5; }
.utility-screen .homepage .section--cta .section__title { color: #f8f2e5; }
.utility-screen .homepage .btn--primary { background: #315d45; border-color: #315d45; color: #fffefa; }
.utility-screen .homepage .hero .btn--primary, .utility-screen .homepage .section--cta .btn--primary { background: #e7dbc6; border-color: #dac393; color: #233f33; }
.utility-screen .homepage .hero .btn--secondary { color: #f8f2e5; border-color: #dac393; }
.utility-screen .page-link { color: #234a35; background: #faf8f2; border-color: #cdbfa9; min-height: 44px; padding: .65rem 1rem; }
@media(max-width:600px) {
    .utility-screen .reading-dashboard :is(.character-header,.character-editor__header,.utility-heading) { padding: 1.5rem; }
    .utility-screen :is(.character-header,.character-editor__header,.utility-heading) h1 { font-size: 1.8rem; }
    .utility-screen .utility-heading > .d-flex { flex-wrap: wrap; }
    .utility-screen .homepage .hero__title { font-size: 2.2rem; }
}

.utility-screen :is(.character-header,.character-editor__header,.utility-heading) .text-muted { color: #d8ddcf !important; }
.utility-screen .homepage .section--cta .section__lead { color: #d8ddcf; }
.utility-screen .homepage .faq__item summary { min-height: 44px; padding-block: .65rem; }
.utility-screen .reading-dashboard .card-header { background: #e7dbc6; border-color: #cbb997; }
.utility-screen .homepage .hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
@media(max-width:600px) { .utility-screen .homepage .hero__actions { justify-content: center; } }
.utility-screen :is(.editor-add-link,.appearance-add,.character-editor__back) { min-height: 44px; }
