html, body { color-scheme: light; font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui, sans-serif; background-color: #ffffff; color: #1e293b; margin: 0; padding: 0; overflow-wrap: break-word; word-break: break-word; } @media (max-width: 640px) { body { padding: 8px 4px; max-width: 100%; } body.px-4 { padding-left: 0 !important; padding-right: 0 !important; } body.py-6 { padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; } .max-w-5xl { max-width: 100% !important; } .tab-btn { padding: 0.75rem 1rem; font-size: 0.8rem; flex-shrink: 0; } .tab-content { padding: 12px !important; } .report-content table { display: block; overflow-x: auto; } .report-content h1 { font-size: 1.5em; } .report-content h2 { font-size: 1.25em; } .report-content img { max-width: 100%; height: auto; } } /* 보고서 본문 타이포그래피 — Pretendard 기반 */ .report-content { font-size: 1rem; line-height: 1.75; color: #1e293b; word-break: keep-all; overflow-wrap: break-word; } .report-content h1 { font-size: 2.25em; font-weight: 700; margin-top: 0; margin-bottom: 0.75em; line-height: 1.3; } .report-content h2 { font-size: 1.5em; font-weight: 700; margin-top: 1.5em; margin-bottom: 0.75em; line-height: 1.3; border-bottom: 1px solid #f1f5f9; padding-bottom: 0.5rem; } .report-content h3 { font-size: 1.25em; font-weight: 700; margin-top: 1em; margin-bottom: 0.5em; line-height: 1.4; } .report-content h4 { font-size: 1.1em; font-weight: 600; margin-top: 0.75em; margin-bottom: 0.5em; } .report-content p { margin-bottom: 1em; } .report-content strong, .report-content b { font-weight: 700; } .report-content ul { list-style-type: disc; padding-left: 1.5em; margin-bottom: 1em; } .report-content ol { list-style-type: decimal; padding-left: 1.5em; margin-bottom: 1em; } .report-content li { margin-bottom: 0.5em; line-height: 1.65; } .report-content blockquote { border-left: 4px solid #e2e8f0; padding-left: 1em; margin: 1em 0; color: #475569; font-style: italic; } .report-content table { width: 100%; border-collapse: collapse; margin: 1.5rem 0; font-size: 0.9em; table-layout: auto; } .report-content th { padding: 0.75rem 1rem; border: 1px solid #e2e8f0; background: #f8fafc; font-weight: 600; text-align: left; white-space: nowrap; } .report-content td { padding: 0.75rem 1rem; border: 1px solid #e2e8f0; word-break: keep-all; } .report-content td:last-child, .report-content td:nth-child(n+3) { word-break: break-word; white-space: normal; } .report-content h1, .report-content h2, .report-content h3, .report-content h4 { text-align: left; } .report-content p, .report-content li { text-align: left; } .report-content img { max-width: 100%; height: auto; border-radius: 0.75rem; margin: 1rem 0; } .report-content a { color: #4f46e5; text-decoration: underline; text-underline-offset: 2px; word-break: break-all; } .report-content a:hover { color: #4338ca; } /* 점수 바/그래프 오버플로우 방지 (텍스트 수직 잘림 방지: overflow-y visible) */ .report-content [class*="rounded-2xl"], .report-content [class*="rounded-xl"] { overflow-x: hidden; overflow-y: visible; max-width: 100%; box-sizing: border-box; } .report-content [class*="flex"] { min-width: 0; } /* A4 인쇄 / PDF 최적화 */ @media print { @page { size: A4; margin: 15mm 12mm 20mm 12mm; } html, body { background: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; } body { padding: 0 !important; margin: 0 !important; } .max-w-5xl { max-width: 100% !important; } /* 탭 UI 숨김 — 활성 탭만 표시 */ .tab-bar { display: none !important; } .tab-content { display: block !important; } /* 페이지 중간 잘림 방지 */ .report-content section, .report-content [class*="rounded-2xl"], .report-content [class*="rounded-xl"], .report-content [class*="rounded-lg"], .report-content [class*="grid"], .report-content [class*="card"], .report-content blockquote, .report-content figure, .report-content img { break-inside: avoid; page-break-inside: avoid; } /* 테이블: 행 단위 잘림 방지 */ .report-content table { break-inside: auto; page-break-inside: auto; } .report-content thead { display: table-header-group; } .report-content tr { break-inside: avoid; page-break-inside: avoid; } /* 제목 뒤 고아 방지 — 제목 바로 뒤에서 페이지 안 넘김 */ .report-content h1, .report-content h2, .report-content h3, .report-content h4 { break-after: avoid; page-break-after: avoid; } /* 차트/바 그래프 (CSS 기반 div 바) */ .report-content [class*="flex"][class*="items-center"], .report-content [style*="border-radius:9999px"] { break-inside: avoid; page-break-inside: avoid; } /* 2-3 컬럼 그리드 카드: 그리드 전체를 한 페이지에 유지 */ .report-content [class*="grid-cols-2"], .report-content [class*="grid-cols-3"] { break-inside: avoid; page-break-inside: avoid; } /* gradient 배경 → solid fallback (인쇄 시 gradient 미지원 브라우저 대응) */ [style*="linear-gradient"] { -webkit-print-color-adjust: exact; print-color-adjust: exact; } /* 대화록 개별 발언 잘림 방지 */ .transcript-turn > div { break-inside: avoid; page-break-inside: avoid; } /* 불필요한 인터랙션 요소 숨김 */ .tab-bar, [class*="sticky"] { position: static !important; } /* 법적 고지 — 항상 새 페이지에서 시작 */ section.mt-1