.lg-fairy-wrap { position: fixed; left: 0; top: 0; transform: translate(40px, 80px); z-index: 9999; pointer-events: none; }
.lg-fairy { display: flex; align-items: flex-start; gap: 10px; }
.lg-fairy img { width: 120px; height: 180px; object-fit: contain; filter: drop-shadow(0 8px 20px rgba(0,0,0,0.25)); user-select: none; pointer-events: none; }
.lg-bubble { position: relative; width: 200px; height: 200px; box-sizing: border-box; background: #ffffff; border: 2px solid #38bdf8; border-radius: 16px; box-shadow: 0 10px 30px rgba(56,189,248,0.25); color: #0f172a; padding: 8px; pointer-events: auto; display: flex; flex-direction: column; justify-content: space-between; }
.lg-bubble:before { content: ''; position: absolute; left: -14px; top: 24px; width: 0; height: 0; border-top: 10px solid transparent; border-bottom: 10px solid transparent; border-right: 14px solid #38bdf8; }
.lg-bubble:after  { content: ''; position: absolute; left: -12px; top: 25px; width: 0; height: 0; border-top: 9px solid transparent;  border-bottom: 9px solid transparent;  border-right: 13px solid #ffffff; }
.lg-sec { padding: 4px; border-radius: 12px; }
.lg-sec-desc { background: #E0F2FE; border: 2px solid #0c4a6e; color: #0f172a; flex: 1; min-height: 0; overflow-y: auto; scroll-behavior: smooth; }
.lg-sec-desc .lg-text { font-size: 13px; line-height: 1.35; font-weight: 600; color: #0f172a; white-space: pre-line; }
/* 줄 간격 통일: 공백 줄은 정확히 한 줄 높이 */
.lg-sec-desc .lg-text .lg-line { margin: 0; padding: 0; line-height: 1.35; }
.lg-sec-desc .lg-text .lg-line.spacer { height: 12px; line-height: 12px; }
/* 빈 줄 없이 문자열만 사용할 때, 문장 간 최소 간격 확보 */
.lg-sec-desc .lg-text .lg-line:not(.spacer) + .lg-line:not(.spacer) { margin-top: 6px; }
.lg-sec-hint { background: #FFF4E5; border: 2px solid #ea580c; color: #0f172a; margin-top: 3px; }
.lg-sec-hint .lg-hint { font-size: 11px; color: #001a4d; white-space: pre-line; text-align: center; }
.lg-red { color: #dc2626; font-weight: 700; }

/* === 강제 통일 (상위 화면 스타일 영향 차단) === */
.lg-sec-desc .lg-text { font-size: 13px !important; line-height: 1.35 !important; }
.lg-sec-desc .lg-text .lg-line { line-height: 1.35 !important; margin: 0 !important; padding: 0 !important; }
.lg-sec-desc .lg-text .lg-line.spacer { height: 12px !important; line-height: 12px !important; }
.lg-sec-desc .lg-text .lg-line:not(.spacer) + .lg-line:not(.spacer) { margin-top: 6px !important; }

.lg-sec-hint { background: #FFF4E5; border: 2px solid #ea580c; color: #0f172a; margin-top: 3px; }
.lg-sec-hint .lg-hint { font-size: 11px; color: #001a4d; white-space: pre-line; text-align: center; }
.lg-red { color: #dc2626; font-weight: 700; }

/* === 모바일 넘침 방지: 단어 줄바꿈/가로 스크롤 억제 === */
@media (max-width: 768px) {
  .lg-bubble { max-width: 88vw; overflow: hidden; }
  .lg-sec-desc { overflow-x: hidden; }
  .lg-sec-desc .lg-text,
  .lg-sec-desc .lg-text .lg-line {
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
    word-break: break-word !important;
  }
}

