/* Keep each app's own viewport; the guide follows it in the page flow. */
html.fmd-overview-document { height: auto; overflow-y: auto; touch-action: auto; }
body.fmd-overview-page { display: block; height: auto; min-height: 100dvh; overflow-y: visible; touch-action: auto; }
.fmd-overview-page > #root, .fmd-overview-page > #app,
.fmd-overview-page > #gameShell, .fmd-overview-page > .page-shell,
.fmd-overview-page > div { margin-inline: auto; }
.fmd-overview-page > #gameShell { touch-action: none; }
.fmd-project-info {
  box-sizing: border-box; width: min(var(--info-width, 760px), calc(100% - 32px));
  margin: 20px auto; padding: 0; color: #303740; background: #fffdf8;
  border: 1px solid #deddd7; border-radius: 10px;
  font: 14px/1.8 system-ui, -apple-system, 'Malgun Gothic', sans-serif;
  text-align: left; letter-spacing: normal; user-select: text; touch-action: auto;
  overflow-wrap: anywhere; word-break: keep-all; isolation: isolate;
}
.fmd-project-info * { box-sizing: border-box; }
.fmd-project-info summary { display: list-item; padding: 11px 16px; cursor: pointer; list-style: disclosure-closed inside; font-size: 13px; font-weight: 600; }
.fmd-project-info details[open] > summary { list-style-type: disclosure-open; border-bottom: 1px solid #e6e3db; }
.fmd-project-info__body { padding: 4px 18px 18px; }
.fmd-project-info h2 { margin: 17px 0 12px; font: 700 19px/1.5 system-ui, sans-serif; color: #202a33; }
.fmd-project-info h3 { margin: 22px 0 7px; font: 650 15px/1.6 system-ui, sans-serif; color: #202a33; }
.fmd-project-info p { margin: 8px 0; font-size: 14px; line-height: 1.9; }
.fmd-project-info ol { list-style: decimal; padding-left: 1.4em; }
.fmd-project-info .fmd-project-info__byline { margin-top: 22px; font-size: 12px; color: #59616b; }
.fmd-project-info nav { display: flex; flex-wrap: wrap; gap: 5px 15px; padding: 9px 16px; border-top: 1px solid #e6e3db; }
.fmd-project-info a { color: #40556a; font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.fmd-project-info :focus-visible { outline: 2px solid #346784; outline-offset: 3px; }
.fmd-project-info--embedded { flex: 0 0 auto; width: calc(100% - 20px); margin: 4px auto; }
.fmd-project-info--embedded .fmd-project-info__body { max-height: 42dvh; overflow-y: auto; overscroll-behavior: contain; }
.fmd-project-info--embedded nav { display: none; }
.fmd-project-info--embedded:has(details[open]) nav { display: flex; }
.fmd-runner-guide-link { position: absolute; top: 10px; left: max(12px, calc(50% - 200px)); z-index: 30; padding: 6px 10px; border: 1px solid #8796af; border-radius: 6px; background: #15223b; color: #fff; font: 12px/1.5 system-ui, sans-serif; }
body:not(:has(.start-overlay)) .fmd-runner-guide-link { display: none; }
@media (prefers-reduced-motion: reduce) { .fmd-project-info { scroll-behavior: auto; } }
