/* Readable defaults for the game, including smaller screens. */
:root { --muted: #52616b; }
body { font-size: 16px; line-height: 1.7; }
p { color: #394952; }
small, .subtle, .caption { font-size: 14px; }
.eyebrow, .nav-label, .brand small, .nav-bottom p, .app-footer { font-size: 12px; color: #596b75; }
.nav-item { font-size: 15px; }
.app-topbar h1 { font-size: 22px; }
.day-heading h2 > span, .day-counter span, .timeline-step, .step-index { font-size: 14px; }
.timeline-step { min-height: 44px; height: auto; }
.btn, .btn-sm, .document-meta .btn, .reading-dialog .btn, .dialogue-card-sheet .btn-primary { font-size: 15px; min-height: 42px; }
.btn-icon { font-size: 24px; }
.tag, .count, .document-meta, .section-heading .subtle { font-size: 14px; }
.document-lead { font-size: 18px; line-height: 1.8; }
.reading-text, .dispatch-card .reading-text { font-size: 17px; line-height: 1.9; }
.letter-reading { font-size: 18px; line-height: 2; }
.source-line, .briefing-photos figcaption, .briefing-photos figcaption small { font-size: 14px; color: #52636c; }
.photo-button > span { font-size: 13px; }
.section-heading h2, .action-card h3, .decision-card h3, .history-card h3 { font-size: 18px; }
.action-card > p, .action-expectation p, .section-intro p, .next-step p,
.decision-card p, .site-copy p, .gallery-card p, .history-card p,
.collection-card p, .setting-row p, .save-description p, .field-invitation p { font-size: 16px; color: #43535c; }
.action-expectation b, .card-kicker, .gallery-card a, .history-card small,
.history-card summary, .save-description small, .dispatch-card small { font-size: 14px; color: #52646e; }
.metric-label { flex-wrap: wrap; }
.metric-label > span, .metric-label strong { font-size: 14px; color: #455a64; }
.metrics-panel > .caption { font-size: 13px; color: #586c75; }
.letter-preview small, .letter-preview > .subtle, .archive-link small { font-size: 14px; }
.letter-preview strong, .archive-link strong { font-size: 16px; color: #40535d; }
.site-preview > span, .site-copy .eyebrow { font-size: 13px; }
.reading-note, .game-dialog > p, .lightbox-dialog > p, .toast { font-size: 16px; color: #40545d; }
.game-dialog-field, .game-dialog-eyebrow { font-size: 14px; }
.incident-option strong { font-size: 16px; }
.incident-option span { font-size: 15px; color: #52646e; }
.minigame-kicker, .minigame-locked-badge, .meter-label, .bubble-sender,
.proof-header-stamp, .masthead-date, .passage-tag, .proof-tip { font-size: 14px; color: #536a74; }
.chat-system-msg, .midnight-dispatch-lead, .editorial-status-banner,
.opt-label, .opt-desc { font-size: 15px; color: #405a65; }
.bubble-text, .passage-content { font-size: 17px; color: #394f59; }
.scene-toolbar-actions .btn, .scene-route summary, .scene-route button,
.scene-route small, .pointer-lock-hint, .exploration-statusbar,
.exploration-interact-prompt, .exploration-boundary-warning,
.exploration-radar-box, .scene-loading-card .caption { font-size: 14px; color: #405a67; }
.scene-loading-card p, .dialogue-scene-subtitle, .section-lead,
.sheet-npc-badge, .sheet-npc-status, .dialogue-controls-hint { font-size: 15px; color: #526a75; }
.dialogue-opening-text, .dialogue-reaction-text, .reaction-text,
.dialogue-card-sheet .bubble-text { font-size: 17px; color: #394f5a; }
.btn-dialogue-item { font-size: 16px; color: #405966; }
.app-context-bar .btn, .save-status, .save-selection-bar span,
.save-card .save-description small, .save-description time { font-size: 14px; }
.save-selection-bar strong, .save-card .save-description h3 { font-size: 16px; }

@media (max-width: 760px) {
  .nav-item, .nav-bottom .nav-item, .topbar-actions .btn { font-size: 14px; }
  .app-topbar .eyebrow, .app-footer { font-size: 12px; }
  .day-heading h2 > span, .day-counter span, .timeline-step { font-size: 14px; }
  .timeline-step { flex-basis: 76px; min-height: 42px; }
  .document-lead, .reading-text, .letter-reading { font-size: 17px; }
  .briefing-photos figcaption small { display: block; }
  .letter-preview strong { font-size: 15px; }
  .letter-preview > .subtle { font-size: 13px; }
  .metric-label > span { font-size: 14px; white-space: normal; }
  .reading-dialog .btn, .app-context-bar .save-status { font-size: 14px; }
  .save-description h3 { font-size: 16px; }
  .minigame-title { font-size: 20px; }
  .minigame-locked-badge, .meter-label { font-size: 13px; }
  .bubble-text, .passage-content { font-size: 16px; }
  .exploration-place h1 { font-size: 16px; }
  .exploration-place > span { font-size: 11px; }
  .exploration-toolbar > .btn, .scene-toolbar-actions .btn { font-size: 14px; min-height: 40px; }
  .scene-route summary, .scene-route button, .scene-route small { font-size: 13px; }
  .scene-route { width: 190px; max-width: calc(100% - 130px); }
  .exploration-interact-prompt { font-size: 14px; }
  .touch-actions { grid-template-columns: repeat(2, 60px); }
  .touch-actions button { font-size: 14px; min-height: 48px; color: #3e5966; }
  .sheet-npc-name { font-size: 18px; }
  .dialogue-opening-text, .dialogue-card-sheet .bubble-text { font-size: 16px; }
  .btn-dialogue-item { font-size: 15px; }
  .scene-loading-card .caption { font-size: 13px; }
}
