/* Lost Ruins editorial diagrams only; shared pages and media controls are unchanged. */
.lost-ruins-case .ruins-section-nav { display: flex; flex-wrap: wrap; gap: 4px 25px; margin-top: 23px; padding: 14px 0; border-block: 1px solid var(--rule); }
.lost-ruins-case .ruins-section-nav a { display: inline-flex; align-items: center; min-height: 36px; font-size: 14px; color: var(--body); text-decoration: none; }
.lost-ruins-case .ruins-section-nav a:hover { color: var(--ink); text-decoration: underline; }
.lost-ruins-case .ruins-story-flow { margin-top: 34px; border-block: 1px solid var(--rule); }
.lost-ruins-case .ruins-flow-caption { display: block; margin: 0; padding: 22px 0 12px; }
.lost-ruins-case .ruins-flow-caption h3 { margin: 0 0 8px; color: var(--ink); }
.lost-ruins-case .ruins-flow-caption p { margin: 0; font-size: 13px; line-height: 1.75; color: var(--muted); }
.lost-ruins-case .ruins-story-steps { list-style: none; margin: 0; padding: 0; }
.lost-ruins-case .ruins-story-steps > li { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 16px; position: relative; padding: 24px 0 30px; }
.lost-ruins-case .ruins-story-steps > li:not(:last-child)::after { content: ""; position: absolute; top: 57px; bottom: -14px; left: 16px; width: 1px; background: var(--rule); }
.lost-ruins-case .ruins-step-index { display: grid; place-items: center; align-self: start; min-height: 30px; font: 17px/1.5 "Bitcount Grid Single", monospace; color: var(--ink); }
.lost-ruins-case .ruins-step-body { min-width: 0; }
.lost-ruins-case .ruins-step-body h4 { margin: 0 0 10px; color: var(--ink); font-size: 18px; line-height: 1.65; font-weight: 550; }
.lost-ruins-case .ruins-step-body p { margin: 0 0 12px; font-size: 15px; line-height: 1.9; }
.lost-ruins-case .ruins-step-body p:last-child { margin-bottom: 0; }
.lost-ruins-case .ruins-fork { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--rule); }
.lost-ruins-case .ruins-fork::before { content: ""; position: absolute; width: 1px; height: 14px; background: var(--rule); left: 50%; top: -14px; }
.lost-ruins-case .ruins-path { min-width: 0; padding: 16px 18px; border-left: 2px solid var(--rule); background: var(--footer-surface); }
.lost-ruins-case .ruins-path-rational { border-left: 2px solid var(--body); }
.lost-ruins-case .ruins-path-mystic { border-left: 2px dashed var(--body); }
.lost-ruins-case .ruins-path h5 { margin: 0 0 10px; font-size: 16px; font-weight: 550; line-height: 1.7; }
.lost-ruins-case .ruins-path h5 span { display: block; font-size: 12px; font-weight: 400; color: var(--body); margin-bottom: 7px; }
.lost-ruins-case .ruins-path p { font-size: 14px; line-height: 1.9; }
.lost-ruins-case .ruins-storyboard { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 18px; margin: 29px 0 0; padding: 0; }
.lost-ruins-case .ruins-storyboard li { min-width: 0; }
.lost-ruins-case .ruins-board-window { position: relative; overflow: hidden; aspect-ratio: 620 / 360; background: #122930; }
.lost-ruins-case .ruins-board-window img { position: absolute; max-width: none; width: calc(3840 / 620 * 100%); height: auto; left: calc(var(--crop-x) / 620 * -100%); top: calc(var(--crop-y) / 360 * -100%); background: transparent; }
.lost-ruins-case .ruins-storyboard h3 { display: flex; align-items: baseline; gap: 12px; margin: 13px 0 8px; font-size: 17px; }
.lost-ruins-case .ruins-storyboard h3 span { font: 15px/1.6 "Bitcount Grid Single", monospace; color: var(--muted); }
.lost-ruins-case .ruins-storyboard p { margin: 0; font-size: 14px; line-height: 1.85; }
.lost-ruins-case .ruins-media-note { margin: 20px 0 0; color: var(--muted); font-size: 12px; }
.lost-ruins-case + .article-footer .credits:empty { display: none; }
@media (max-width: 800px) {
  .lost-ruins-case .ruins-storyboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .lost-ruins-case .ruins-section-nav { gap: 0 22px; padding-block: 9px; }
  .lost-ruins-case .ruins-section-nav a { min-height: 44px; }
  .lost-ruins-case .ruins-story-steps > li { grid-template-columns: 26px minmax(0, 1fr); gap: 11px; padding-top: 22px; }
  .lost-ruins-case .ruins-story-steps > li:not(:last-child)::after { left: 12px; }
  .lost-ruins-case .ruins-step-index { font-size: 15px; }
  .lost-ruins-case .ruins-fork { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .lost-ruins-case .ruins-fork::before { left: 0; }
  .lost-ruins-case .ruins-path { padding: 14px 15px; }
  .lost-ruins-case .ruins-storyboard { grid-template-columns: minmax(0, 1fr); gap: 27px; }
}
@media print {
  .lost-ruins-case .ruins-section-nav { display: none; }
  .lost-ruins-case .ruins-path, .lost-ruins-case .ruins-storyboard li { break-inside: avoid; }
}
