/* V5.10 · opaque reading surfaces. The map may be textured; the text is not.
 * Scope includes both existing theme classes to resolve V5.2 light surfaces /
 * V5.5 dark story foregrounds without changing recruitment art or typography.
 * !important is confined to properties already forced by older button rules.
 */
#terra-app.terminal-v52.command-v55 {
  --read-paper: #f7f3e8;
  --read-field: #ede8dc;
  --read-ink: #25332f;
  --read-body: #3d4a43;
  --read-muted: #59645a;
  --read-line: #b6b8a6;
  --read-gold: #805b29;
  --read-green: #315f4c;
  --read-red: #963f2f;
  --read-dark: #23332f;
  --read-light: #fbf7ed;
}

/* Action results, withdrawal confirmations, manuals and story share one sheet. */
#terra-app.terminal-v52.command-v55 .modal-cover {
  background: #10221ed1;
  backdrop-filter: blur(5px);
}
#terra-app.terminal-v52.command-v55 .modal,
#terra-app.terminal-v52.command-v55 .modal:has(.terra-story) {
  background: var(--read-paper);
  color: var(--read-ink);
  border: 1px solid var(--read-line);
  border-top: 5px solid var(--read-gold);
  box-shadow: 0 24px 90px #07151180;
  color-scheme: light;
}
#terra-app.terminal-v52.command-v55 .modal :is(h2,h3,h4,strong,b) { color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .modal :is(p,li,label) { color: var(--read-body); }
#terra-app.terminal-v52.command-v55 .modal :is(small,.eyebrow) { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .modal .hero { color: var(--read-gold); }
#terra-app.terminal-v52.command-v55 .modal :is(input,select,textarea) {
  background: #fffdf6;
  color: var(--read-ink);
  border: 1px solid #879686;
}
#terra-app.terminal-v52.command-v55 .modal :is(input,textarea)::placeholder { color: var(--read-muted); opacity: 1; }
#terra-app.terminal-v52.command-v55 .modal option { background: #fffdf6; color: var(--read-ink); }

/* The nested story previously had a pale background and pale choice text. */
#terra-app.terminal-v52.command-v55 .modal .terra-story { color: var(--read-ink); background: var(--read-paper); }
#terra-app.terminal-v52.command-v55 .modal .terra-story :is(h2,h3) { color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .modal .story-prose,
#terra-app.terminal-v52.command-v55 .modal .story-prose p { color: var(--read-body); }
#terra-app.terminal-v52.command-v55 .modal .story-prose { line-height: 2; }
#terra-app.terminal-v52.command-v55 .modal :is(.story-signal,.story-location,.story-location small,.story-decision-label,.story-file-heading>small,.story-outcome) { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .modal .story-signal { border-color: var(--read-line); }
#terra-app.terminal-v52.command-v55 .modal .story-signal span:last-child { color: var(--read-green); }
#terra-app.terminal-v52.command-v55 .modal .story-location b { background: #dde4d4; color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .modal .story-scene {
  background: var(--read-field);
  color: var(--read-body);
  border-left: 3px solid var(--read-gold);
}
#terra-app.terminal-v52.command-v55 .modal .story-speaker { color: var(--read-green); font-weight: 700; }
#terra-app.terminal-v52.command-v55 .modal :is(.story-decisions,.story-outcome,.story-file-heading,.story-next-clue) { border-color: var(--read-line); }
#terra-app.terminal-v52.command-v55 .modal .story-decision {
  background: #fffdf6 !important;
  border: 1px solid #aeb6a6 !important;
  border-left: 3px solid var(--read-green) !important;
  color: var(--read-ink);
}
#terra-app.terminal-v52.command-v55 .modal .story-decision:hover:not(:disabled) { background: #e2ebdc !important; border-color: #59765a !important; }
#terra-app.terminal-v52.command-v55 .modal .story-decision strong { color: var(--read-ink); font-weight: 650; }
#terra-app.terminal-v52.command-v55 .modal .story-decision small { color: var(--read-muted); font-size: 11px; line-height: 1.8; }
#terra-app.terminal-v52.command-v55 .modal :is(.story-choice-index,.story-choice-arrow) { color: var(--read-green); }
#terra-app.terminal-v52.command-v55 .modal .story-decision:disabled {
  background: #e5e3d9 !important;
  border-color: #c3c6b9 !important;
  border-left-color: #8b9182 !important;
  color: #5e655c !important;
  opacity: 1;
  filter: none;
}
#terra-app.terminal-v52.command-v55 .modal .story-decision:disabled :is(strong,small,.story-choice-index,.story-choice-arrow) { color: #5e655c; }
#terra-app.terminal-v52.command-v55 .modal :is(.story-reread,.story-chain-card) { background: #fffdf6; border-color: #bdc2b3; }
#terra-app.terminal-v52.command-v55 .modal :is(.story-reread summary,.story-chain-card summary strong,.story-chain-card summary>b,.story-next-clue strong) { color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .modal :is(.story-chain-card summary small,.story-file-reward) { color: var(--read-gold); }
#terra-app.terminal-v52.command-v55 .modal :is(.story-chain-card summary em,.story-next-clue small,.story-next-clue p,.story-chain-card>p) { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .modal .story-file-closed { color: var(--read-muted) !important; }
#terra-app.terminal-v52.command-v55 .modal .story-chain-card[open] summary { border-color: var(--read-line); }
#terra-app.terminal-v52.command-v55 .modal .story-battle-note { background: #efe3ce; color: #6d4f29; border-color: #92672f; }
#terra-app.terminal-v52.command-v55 .modal .battle-story-result { background: #e3ebda; border-color: var(--read-green); }
#terra-app.terminal-v52.command-v55 .modal .battle-story-result :is(h4,p) { color: #31553f; }

/* Buttons are local to reading panels. Never recolor the banner or skill art. */
#terra-app.terminal-v52.command-v55 :is(.modal,.tw-panel,.ta-confirm) button {
  color: var(--read-ink);
  background: var(--read-field);
  border-color: #9ba995 !important;
}
#terra-app.terminal-v52.command-v55 :is(.modal,.tw-panel,.ta-confirm) button:hover:not(:disabled) { background: #dfe7d7; color: #20392b; }
#terra-app.terminal-v52.command-v55 :is(.modal,.tw-panel,.ta-confirm) button:focus-visible,
#terra-app.terminal-v52.command-v55 .modal :is(summary,input,select,textarea):focus-visible {
  outline: 2px solid #315f4c;
  outline-offset: 3px;
}
#terra-app.terminal-v52.command-v55 .modal .story-footer button,
#terra-app.terminal-v52.command-v55 .modal .story-file-actions button {
  background: #ede8dc !important;
  color: var(--read-body) !important;
  border: 1px solid #aeb6a6 !important;
  padding: 8px 12px !important;
}
#terra-app.terminal-v52.command-v55 .modal .story-footer button:hover:not(:disabled),
#terra-app.terminal-v52.command-v55 .modal .story-file-actions button:hover:not(:disabled) { background: #dfe7d7 !important; color: #20392b !important; }
#terra-app.terminal-v52.command-v55 :is(.modal,.tw-panel,.ta-confirm) button.primary,
#terra-app.terminal-v52.command-v55 .modal [data-story-launch],
#terra-app.terminal-v52.command-v55 .ta-confirm .ta-primary,
#terra-app.terminal-v52.command-v55 .ta-detail .ta-primary {
  background: #29443e !important;
  color: var(--read-light) !important;
  border-color: #29443e !important;
}
#terra-app.terminal-v52.command-v55 :is(.modal,.tw-panel,.ta-confirm) button.primary:hover:not(:disabled),
#terra-app.terminal-v52.command-v55 .modal [data-story-launch]:hover:not(:disabled),
#terra-app.terminal-v52.command-v55 .ta-confirm .ta-primary:hover:not(:disabled),
#terra-app.terminal-v52.command-v55 .ta-detail .ta-primary:hover:not(:disabled) { background: #1d3631 !important; color: var(--read-light) !important; }
#terra-app.terminal-v52.command-v55 :is(.modal,.tw-panel,.ta-confirm) button:disabled,
#terra-app.terminal-v52.command-v55 .modal .story-file-actions button:disabled,
#terra-app.terminal-v52.command-v55 .ta-detail .ta-primary:disabled {
  color: #5e655c !important;
  background: #e5e3d9 !important;
  border-color: #c3c6b9 !important;
  opacity: 1;
  cursor: not-allowed;
}
#terra-app.terminal-v52.command-v55 .modal .retreat-heading { background: #e2e7da; }
#terra-app.terminal-v52.command-v55 .modal .retreat-row span { color: var(--read-body); }
#terra-app.terminal-v52.command-v55 .modal .retreat-row strong { color: var(--read-gold); }
#terra-app.terminal-v52.command-v55 .modal .retreat-row .risk-high { color: var(--read-red); }
#terra-app.terminal-v52.command-v55 .modal .retreat-formula { color: var(--read-gold) !important; }
#terra-app.terminal-v52.command-v55 .modal .result-op { background: #e6ebdf; color: var(--read-ink); border-top-color: var(--read-gold); }
#terra-app.terminal-v52.command-v55 .modal .result-op small { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .modal .target-directory button { background: #e6ebdf; color: var(--read-ink); border-left-color: var(--read-green) !important; }
#terra-app.terminal-v52.command-v55 .modal .target-directory button:hover { background: #dbe5d2; }
#terra-app.terminal-v52.command-v55 .modal .target-directory small { color: var(--read-muted); }

/* Regional contacts stay entirely opaque over any biome. */
#terra-app.terminal-v52.command-v55 .tw-panel {
  background: var(--read-paper) !important;
  color: var(--read-ink);
  border: 1px solid #a4af9a !important;
  border-left: 3px solid var(--read-green) !important;
  box-shadow: 0 12px 36px #0d251d38 !important;
}
#terra-app.terminal-v52.command-v55 .tw-panel :is(h3,strong,b,.tw-voice) { color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .tw-panel p { color: var(--read-body); }
#terra-app.terminal-v52.command-v55 .tw-panel :is(small,.tw-geography,.tw-explore-counts,.tw-trade-stock) { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .tw-panel :is(.tw-world-effect,.tw-good,.tw-chapter) { color: var(--read-green); }
#terra-app.terminal-v52.command-v55 .tw-panel .tw-warning { color: var(--read-red); }
#terra-app.terminal-v52.command-v55 .tw-panel .tw-danger { background: #f3e3d8; color: #863829; border-color: #b37d66 !important; }
#terra-app.terminal-v52.command-v55 .tw-panel .tw-danger:hover:not(:disabled) { background: #e9cabc; color: #6a281c; }
#terra-app.terminal-v52.command-v55 .tw-panel .tw-close { background: transparent; color: var(--read-body); border: 0; }
#terra-app.terminal-v52.command-v55 .tw-panel .tw-explore-board small { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .toast { background: var(--read-dark); color: var(--read-light); border-color: #8caa98; border-left-color: #d3b271; }

/* Inspection and irreversible-action explanations must remain readable too. */
#terra-app.terminal-v52.command-v55 .ta-confirm { background: #eee3cd; color: var(--read-ink); border-color: #a68b54; }
#terra-app.terminal-v52.command-v55 .ta-confirm :is(b,p,strong) { color: #674b28; }
#terra-app.terminal-v52.command-v55 :is(.ta-detail,.te-compare) { color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .ta-detail :is(.ta-base-stats,.ta-affix>span,.ta-section-title>span,.ta-muted,.ta-grade-note,.ta-footnote,.ta-unique-note,.ta-compare-label,.ta-craft-block>p,.ta-craft-block>div:first-child>span,.ta-library small,.ta-hero>span,.ta-hero small,.ta-field,.ta-reforged) { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .ta-detail :is(.ta-power b,.ta-power strong,.ta-power p,.ta-power small,.ta-library button strong) { color: #70552e; }
#terra-app.terminal-v52.command-v55 .ta-detail :is(th,td) { color: var(--read-body); }
#terra-app.terminal-v52.command-v55 .ta-detail .ta-lock.is-active { color: #70552e !important; }
#terra-app.terminal-v52.command-v55 .ta-detail .ta-salvage>button { color: #963f2f !important; }
#terra-app.terminal-v52.command-v55 .ta-detail .is-positive { color: #315f4c; }
#terra-app.terminal-v52.command-v55 .ta-detail .is-negative { color: #963f2f; }
#terra-app.terminal-v52.command-v55 :is(.te-selection p,.te-selection-title>small,.te-counter,.te-compare-heading,.te-compare-heading small,.te-compare-row,.te-compare-row small,.te-compare-note,.te-mechanisms>div>small) { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .te-power :is(b,span,small) { color: #70552e; }
#terra-app.terminal-v52.command-v55 .te-compare-row .is-gain { color: #315f4c; }
#terra-app.terminal-v52.command-v55 .te-compare-row .is-loss { color: #963f2f; }

/* Recruitment result dialog only; poster art/layout remains owned by V5.8. */
#terra-app.terminal-v52.command-v55 .tr-root .tr-dialog { background: var(--read-paper); color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-result-shell h3 { color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-result-card { background: #e6ebdf; color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-result-info :is(h4,p) { color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .tr-root :is(.tr-result-info small,.tr-result-progress,.tr-result-index,.tr-result-shell>footer>span) { color: var(--read-muted); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-result-info .tr-stars { color: var(--read-gold); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-result-done { background: var(--read-dark); color: var(--read-light); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-result-done:hover:not(:disabled) { background: #1d3631; color: var(--read-light); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-close { background: #ede8dc; color: var(--read-ink); }
#terra-app.terminal-v52.command-v55 .tr-root .tr-close:hover:not(:disabled) { background: #dfe7d7; color: #20392b; }

@media (max-width: 700px) {
  #terra-app.terminal-v52.command-v55 .modal .story-decision small { font-size: 11px; }
  #terra-app.terminal-v52.command-v55 .modal .target-directory { grid-template-columns: 1fr; }
  #terra-app.terminal-v52.command-v55 .modal .story-footer { gap: 8px; }
}
