/* Composición mobile: la decisión completa entra en una sola pantalla. */
@media (max-width: 599px) {
  html, body { height: 100%; overflow: hidden; }
  .topbar { position: relative; height: 92px; padding: 8px 10px; gap: 6px; }
  .brand { flex: 1 1 auto; max-width: calc(100% - 86px); }
  .crest { width: 30px; height: 30px; flex-basis: 30px; font-size: 14px; }
  .brand strong { font-size: 10px; }
  .brand small { font-size: 7px; }
  .button-small { min-height: 34px; padding: 6px 8px; font-size: 9px; }
  .button-small span { display: none; }
  .top-stats { position: absolute; left: 10px; right: 10px; bottom: 6px; display: grid; grid-template-columns: 1.1fr 1.2fr .8fr .8fr; gap: 5px; width: auto; padding: 5px 6px; }
  .top-stats small { font-size: 7px; }
  .top-stats strong { font-size: 10px; }
  .stat-money strong { font-size: 12px; }
  main { height: calc(100svh - 92px); min-height: 0; padding: 8px 9px 10px; overflow: hidden; }
  .screen { height: 100%; min-height: 0; }
  .intro, .year-screen { height: 100%; min-height: 0; margin: 0 auto; padding: 12px 2px; overflow: hidden; }
  .intro h1 { font-size: 34px; margin: 10px 0; }
  .intro p, .year-screen > p, .end-panel > p { font-size: 11px; line-height: 1.45; margin-bottom: 10px; }
  .profile-picker, .focus-options { gap: 5px; margin: 10px 0; }
  .profile-card, .focus-card { min-height: 49px; padding: 7px 5px; gap: 2px; }
  .profile-card strong, .focus-card strong { font-size: 9px; }
  .profile-card span, .focus-card span { font-size: 7px; }
  .focus-card { min-height: 70px; }
  .focus-card i { font-size: 14px; }
  .year-screen > h2 { font-size: 29px; margin: 8px 0; }
  .year-objective { margin: 9px 0; padding: 10px; }
  .year-objective h3 { font-size: 13px; margin: 4px 0; }
  .year-objective p { font-size: 10px; line-height: 1.35; }
  .dashboard { display: grid; grid-template-rows: minmax(0, 1fr) auto; gap: 6px; height: 100%; }
  .decision-column { min-height: 0; overflow: hidden; }
  .decision-panel { height: 100%; padding: 10px; overflow: hidden; }
  .decision-meta { font-size: 7px; }
  .objective-inline { margin-top: 6px; padding: 4px 6px; font-size: 8px; }
  .objective-inline strong { font-size: 8px; max-width: 58%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  h2 { font-size: 21px; line-height: 1.05; margin: 9px 0 6px; }
  .decision-panel > p { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 10px; line-height: 1.35; margin-bottom: 7px; }
  .event-context { display: none; }
  .options { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
  .choice-button { min-width: 0; min-height: 108px; padding: 8px; gap: 4px; border-radius: 7px; }
  .choice-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: 9px; line-height: 1.25; }
  .choice-text::before { font-size: 12px; margin-right: 4px; }
  .probability { font-size: 9px; }
  .probability small { display: none; }
  .choice-impact { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 8px; line-height: 1.25; }
  .probability-reason { display: none; }
  .result { margin-top: 8px; padding: 9px; }
  .result-heading h3 { font-size: 11px; }
  .result-heading span { font-size: 7px; }
  .result p { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 9px; line-height: 1.3; margin: 6px 0; }
  .impacts { gap: 4px; margin: 6px 0; }
  .impacts span { padding: 5px; }
  .impacts small { font-size: 7px; }
  .impacts strong { font-size: 9px; }
  .alternative { display: none; }
  .result .button { min-height: 36px; padding: 7px; font-size: 9px; }
  .sidebar { display: grid; grid-template-columns: 1fr; gap: 5px; min-height: 0; }
  .sidebar .objective, .sidebar .news-panel { display: none; }
  .momentum { padding: 5px 8px; }
  .momentum h3 { display: none; }
  .mini-metrics { grid-template-columns: repeat(4, 1fr); gap: 4px; }
  .mini-metrics span { display: flex; align-items: center; justify-content: space-between; padding: 4px 6px; }
  .mini-metrics small { font-size: 7px; }
  .mini-metrics strong { margin: 0; font-size: 10px; }
  .crisis { display: none; }
  .year-summary { margin: 10px 0; }
  .year-summary div { padding: 9px 7px; }
  .year-summary strong { font-size: 12px; }
  .end-panel { height: 100%; padding: 15px 10px; overflow: hidden; }
  .end-panel h2 { font-size: 27px; }
  .timeline { margin: 10px 0; max-height: 170px; overflow: hidden; }
  .timeline-item { padding: 5px 0; font-size: 8px; }
  .achievements { margin: 10px 0; gap: 4px; }
  .achievement { padding: 5px; font-size: 7px; }
  .final-stats { margin: 10px 0; }
  .final-stats span { padding: 8px 5px; }
  .final-stats strong { font-size: 10px; }
  .share-row { grid-template-columns: 1fr 1fr; gap: 5px; }
  .share-row .button { min-height: 36px; padding: 7px 5px; font-size: 8px; }
}
