/* Shared interaction rules; the approved desktop artwork stays in its existing components. */
#academy-map :is(button,a,summary,[tabindex="0"]):focus-visible {
  outline: 2px solid #8af3ff;
  outline-offset: 4px;
}
body:not(.course-local-testing) :is([data-study-action="complete-unit"],[data-study-action="complete-world"],[data-study-action="reset"],[data-study-action="reset-module"],[data-study-action="reset-course"],.module-exam-test,.cockpit-tests) { display:none!important }
body.cabin-unified-tests :is(.cabin-test-source,.cockpit-tests) { display:none!important }
.cabin-save-warning[hidden] { display:none!important }
@media(max-width:899px) {
  .cabin-review-menu { display:block;position:fixed;bottom:12px;left:12px;z-index:130;font-size:13px;color:#e1f8fc;max-width:calc(100vw - 24px) }
  .cabin-review-menu summary { cursor:pointer;padding:12px;background:#10212c;border:1px solid #506c7a }
  .cabin-review-options { position:absolute;bottom:100%;left:0;width:min(300px,calc(100vw - 48px));padding:12px;background:#0b1722;border:1px solid #6b9eaa;max-height:50vh;overflow:auto;box-sizing:border-box }
  .cabin-review-options button { display:block;width:100%;min-height:44px;margin-bottom:8px;font-size:13px;color:#e1f8fc;background:#172e3b;border:1px solid #547b8a }
  .cabin-review-options button:disabled { opacity:.45 }
  .cabin-review-options small { display:block;font-size:13px;line-height:1.5 }
  .cabin-save-warning { position:fixed;bottom:68px;left:12px;right:12px;z-index:131;padding:12px;background:#44202a;color:#fff;border:1px solid #e18d95;font-size:15px }
  .cabin-unit-success { display:block;position:fixed;left:12px;right:12px;top:20%;z-index:125;padding:20px;background:#102b25;border:2px solid #80dfb4;color:#e5fff2;max-height:65vh;overflow:auto }
  .cabin-unit-success strong { font-size:18px }.cabin-unit-success p { font-size:15px }
  .cabin-unit-success button { display:block;min-height:44px;width:100%;padding:12px;margin-top:12px;background:#20533e;border:1px solid #8bf1bd;color:white;font-size:13px }
  .view-system .solar-map { scroll-snap-type:x proximity;scroll-padding-inline:24px }
  .view-system .planet-node { scroll-snap-align:center }
  #academy-map :is(.map-popover,.planet-popover) { max-width:calc(100vw - 24px);box-sizing:border-box }
  #academy-map :is(.map-preview-content p,.lesson-popover-description) { font-size:15px;line-height:1.5 }
}
@media(prefers-reduced-motion:reduce) {
  #academy-map *,#academy-map *:before,#academy-map *:after { animation:none!important;transition:none!important;scroll-behavior:auto!important }
}
