/* Stronger secondary text, while preserving the cream-and-blue game palette. */
:root {--muted: #63707b}

.brand-caption, .eyebrow, .intro-copy, .section-label .tiny-en,
.actions-note, .action-en, .action-desc, .action-hint, .action-key,
.player-level, .detail-key, .vital-value small,
.week-number small, .week-number .week-total, .day-number small,
.day-number > span, .day-progress > span, .today-live,
.ability-section-label > small, .ability-section-label > button,
.ability-card-title > small, .ability-card-score strong small,
.ability-card-score div > span, .life-summary b small,
.calendar-heading > span, .calendar-heading > button,
.calendar-day > small, .calendar-day > span, .weekly-calendar > p,
.next-live-text, .footer, .keyboard-tip {
 color: #5e6d75;
}
.pocket-action small {color: #536579}
.pocket-action > em {color: #586a7c}
.grade-f, .grade-g {color: #68727e !important}

/* Setup and financial hints should be readable before a run starts. */
.modal-description, .setup-tip, .small-muted, .settings-row small,
.idol-option small, .profile-facts dt, .shop-info p,
.history-week, .empty-state, .album-count, .ending-tile small,
.ending-stat small, .records-line, .wallet-line, .cheki-heading > span,
.cheki-bill > small, .schedule-list article small, .finance-details dt,
.finance-details .expense-label + dd {
 color: #646c70;
}
.creator-parts label, .creator-accessories legend, .creator-accessories label,
.creator-accessories p, .creator-fields .identity-note {
 color: #4d6475;
}
.starting-job > div > span, .starting-job > section > span,
.starting-job dt, .starting-job p {color: #566b59}
.starting-abilities > span, .starting-abilities small,
.starting-abilities em, .starting-abilities > p {color: #526879}

/* Choice requirements, logs and ending notes on pale windows. */
.vn-decision .event-choice small, .event-choice small {color: #586b76}
.event-choice .check-requirement {color: #7b6130}
.event-choice .lock-reason {color: #854d46}
.read-log, .dialogue-navigation > span, .dialogue-complete,
.dialogue-complete > button, .story-save-note, .vn-save-note,
.risk-row, .relation-note, .objective-top small, .story-objective p,
.map-chapter, .map-chapter small, .cast-list b small, .cast-list p,
.route-summary > span, .route-summary > p,
.ending-category, .ending-category b, .ending-reason p, .ending-reason li {
 color: #626b73;
}
.chapter-step {color: #63717a}
.chapter-step > span {color: #6d7a84}
.action-animation-heading > div > span, .action-animation-status,
.change-feedback-heading small, .cheki-shot-date {color: #586e7a}

/* Keep light secondary lettering light enough against the dark blue scene. */
.pocket-brand > small, .pocket-tools > span,
.pocket-calendar b small, .command-caption > small,
.command-caption > button, .pocket-menubar > button {color: #d0dfe9}
.vn-toolbar nav > span, .vn-read-complete {color: #e0e3ed}
.rhythm-title p, .rhythm-title > small, .cheer-mode-picker small,
.live-instructions, .live-result-copy, .rhythm-modal > .live-observe,
.live-start-controls .secondary-btn {color: #e2d9ed}
.live-cheer[data-cheer-idle="true"] .live-cheer-caption {color: #d6e0ec}

/* Disabled controls use a distinct surface and border, not faded lettering. */
button:disabled, button[aria-disabled="true"], .event-choice.locked-choice {
 opacity: 1 !important;
 cursor: not-allowed;
}
.action-card:disabled, .pocket-action:disabled,
.event-choice:disabled, .event-choice.locked-choice,
.primary-btn:disabled, .secondary-btn:disabled, .shop-buy:disabled,
.cheki-payments .secondary-btn:disabled,
.vn-outcome [data-modal="story-next"]:disabled,
.change-feedback-next:disabled {
 background: #dce3e6;
 border-color: #8798a5;
 color: #4e5d6d;
 box-shadow: none;
 text-shadow: none;
 transform: none;
}
.pocket-action:disabled {filter: grayscale(.7)}
.action-card:disabled .action-name, .pocket-action:disabled b,
.event-choice:disabled b, .event-choice.locked-choice b {color: #4e5d6d}
.action-card:disabled .action-desc, .action-card:disabled .action-hint,
.action-card:disabled .action-en, .pocket-action:disabled small,
.pocket-action:disabled > em, .event-choice:disabled small,
.event-choice.locked-choice small {color: #526574}
.event-choice:disabled .lock-reason,
.event-choice.locked-choice .lock-reason {color: #7c4943}
.rhythm-modal button:disabled, .cheer-mode-picker > button:disabled {
 background: #44485d;
 border-color: #8f92a8;
 color: #e1e4ed;
 box-shadow: none;
}
.rhythm-modal button:disabled small,
.cheer-mode-picker > button:disabled small {color: #cbd5e3}

/* Past dates remain legible; their quiet background distinguishes them. */
.calendar-day.past {opacity: 1; background: #e7e9e3}
.calendar-day.past > small, .calendar-day.past > span {color: #65717a}
.pocket-calendar .past {opacity: 1; background: #2a4055; color: #c2d1db}

.modal .secondary-btn:not(:disabled) {color: #5b6472}
.rhythm-modal .secondary-btn:not(:disabled) {color: #e2d9ed}
.ending-tile:not(.unlocked) .lock {color: #78848d}
input:disabled, select:disabled {
 opacity: 1;
 color: #526574;
 -webkit-text-fill-color: #526574;
 background-color: #e4e8e9;
}
/* Pale final-live buttons need dark text on both the ready and playing screens. */
.rhythm-modal .secondary-btn.final-live-skip:not(:disabled){color:#3c294b;background:#eee8f5;font-size:14px;font-weight:700}
