/* ---------- 체육쌤 가이드 ---------- */
.teacher { position: absolute; right: 0; bottom: 0; z-index: 50; pointer-events: none; }

.teacher-peek {
  pointer-events: auto;
  position: absolute; right: 0; bottom: 18%;
  transform: translateX(62%) rotate(-8deg);   /* 평소: 옆에서 빼꼼 */
  transition: transform 0.45s var(--ease-out);
}
.teacher-img { display: grid; width: clamp(90px, 16vmin, 150px); aspect-ratio: 3 / 4; border-radius: 40% 40% 12px 12px; font-size: 11px; }
.teacher.is-open .teacher-peek { transform: translateX(-12px) rotate(0); }

.teacher-bubble {
  pointer-events: auto;
  position: absolute; right: clamp(110px, 19vmin, 180px); bottom: calc(18% + 60px);
  width: min(420px, 60vw); padding: 18px 20px 12px;
  background: var(--ink); color: #fff; border-radius: 20px 20px 4px 20px;
  opacity: 0; transform: translateY(10px) scale(0.96); transform-origin: bottom right;
  transition: opacity 0.25s, transform 0.3s var(--ease-out);
  visibility: hidden;
}
.teacher.is-open .teacher-bubble { opacity: 1; transform: none; visibility: visible; }
.teacher-bubble p { margin: 0; min-height: 3em; font-size: clamp(16px, 2.6vmin, 22px); font-weight: 700; line-height: 1.45; }
.teacher-bubble small { display: block; margin-top: 10px; text-align: right; color: var(--ink-3); font-size: 11px; font-weight: 500; }
