/* Preserve the established teacher-console design; only repair its entry point. */
#koderiaForestLaunch[hidden] { display: none !important; }
#koderiaForestLaunch { touch-action: manipulation; }
#koderiaForestLaunch:focus-visible { outline: 2px solid #a5e5ef; outline-offset: 4px; }
#koderiaForestLaunch:disabled { opacity: .55; cursor: wait; }
.campusBottomNavV65.koderiaForestNav { gap: clamp(8px, 3vw, 22px); }
.campusBottomNavV65 #koderiaForestLaunch { color: #a8efbf; }
#koderiaForestLaunch .koderiaForestIcon { font-size: 23px; line-height: 24px; }

/* In the restored classic world, Forest belongs to the one existing game rail. */
#kfcGameRail #koderiaForestLaunch.koderiaForestRail {
  flex: 0 0 auto;
  color: #ddffea;
  touch-action: manipulation;
}
#kfcGameRail #koderiaForestLaunch.koderiaForestRail:hover,
#kfcGameRail #koderiaForestLaunch.koderiaForestRail:focus-visible {
  border-color: rgba(113, 232, 155, .38);
  background: linear-gradient(145deg, rgba(74, 214, 128, .15), rgba(64, 165, 125, .12));
}

/* Compatibility with the archive's city HUD, before Campus was introduced. */
#koderiaForestLaunch.koderiaForestFloating {
  position: absolute;
  z-index: 325;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(76px, calc(env(safe-area-inset-bottom) + 64px));
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 90px;
  min-height: 48px;
  padding: 10px 16px;
  border: 1px solid #71c89b;
  border-radius: 16px;
  background: #123d30;
  color: #eaffef;
  font: 700 14px/1.2 system-ui, sans-serif;
  cursor: pointer;
}
body.kuiModalOpen #koderiaForestLaunch,
body.ksv-active #koderiaForestLaunch { visibility: hidden; pointer-events: none; }
