/* Orbit Jump owns only its stage and instructions; the shared frame owns the rest. */
.orbit-page .game-wrap { color: var(--color-ink); }
.orbit-page .game-wrap .game-title { margin-bottom: .35rem; }
.orbit-page .game-wrap .game-title h1 { margin-bottom: .25rem; }
.orbit-page .game-wrap .hud { gap: .5rem; margin: 0; padding: .25rem 0; }
.orbit-page .game-wrap #orbit-best { margin-left: auto; white-space: nowrap; }
.orbit-page .game-wrap #status { font-size: .82rem; height: 54px; min-height: 54px; line-height: 1.3; margin: .2rem 0; display: grid; place-items: center; }
.orbit-page .game-wrap #game-canvas { width: 100%; aspect-ratio: 1; max-width: 400px; height: auto; touch-action: manipulation; }
.orbit-page .game-wrap #orbit-action { display: block; width: 100%; min-height: 52px; margin: .65rem 0 .25rem; font-size: 1.1rem; }
.orbit-page .game-wrap .orbit-key { text-align: center; font-size: .78rem; color: var(--color-ink-2); margin: .35rem 0; }
.orbit-page .game-wrap #orbit-reset { min-height: 44px; padding: .35rem .6rem; font-size: .75rem; }
.orbit-result { padding: .75rem 0; text-align: center; }
.orbit-result[hidden] { display: none !important; }
.orbit-result p { margin: .4rem 0; }
.orbit-result #orbit-share { min-height: 44px; }
.orbit-result #orbit-share-status { min-height: 1.4em; font-size: .8rem; }
.orbit-result #orbit-link { width: 100%; padding: .5rem; font-size: .85rem; }
.orbit-guide { max-width: 44rem; margin: 1.5rem auto; padding: 1rem; line-height: 1.7; color: var(--color-ink); background: var(--color-paper-2); }
.orbit-guide h2 { font-size: 1.35rem; margin-bottom: .6rem; }
.orbit-guide h3 { font-size: 1.05rem; margin: 1.2rem 0 .4rem; }
.orbit-guide p, .orbit-guide ul { margin: .6rem 0; }
.orbit-guide ul { padding-left: 1.3rem; }
.orbit-guide a { color: var(--color-ink); text-decoration: underline; text-underline-offset: .2em; }
.orbit-guide a:focus-visible, .orbit-page .game-wrap button:focus-visible { outline: 3px solid var(--color-accent); outline-offset: 4px; }
/* Instant, selection-free tapping on the stage (pointer events handle timing). */
.orbit-page .game-wrap #game-canvas, .orbit-page .game-wrap #orbit-action { -webkit-tap-highlight-color: transparent; -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; }
.orbit-page .game-wrap #orbit-action { touch-action: manipulation; }
.orbit-page .game-wrap #orbit-action:active { transform: translateY(1px) scale(.99); }
.orbit-result #orbit-result-text { font-size: .88rem; line-height: 1.45; }
.orbit-result #orbit-share, .orbit-result #orbit-copy { margin: .2rem .15rem; }
@media (prefers-reduced-motion: reduce) { .orbit-page .game-wrap #orbit-action:active { transform: none; } }
