/* 결과지 PDF 편지 (v0.19.3)
 * 유료 5종 결과지를 인쇄(PDF 저장)할 때 한지 편지처럼 보이게 한다.
 * 한지 배경은 외부 이미지 없이 SVG 노이즈(data URI)와 그라데이션으로, 글씨는 명조(Noto Serif KR).
 * 표지와 맺음장은 sharecard.js의 refreshPrintLetter()가 #step3 안에 hidden으로 넣어 두고, 인쇄 때만 보인다.
 */

/* ── 화면: 공유 영역 안내 문구, PDF 버튼 한 줄짜리 그리드 ── */
.letter-cap { margin: -6px 0 12px; font-size: .84rem; color: var(--ink-mute); line-height: 1.6; }
.sharegrid.one { grid-template-columns: 1fr; }
.letter-cover, .letter-end { display: none; }

@media print {
  /* 여백까지 한지가 깔리도록 종이색은 @page에도 둔다. 한지 무늬 타일은 sharecard.js가 #letterPaperStyle로 주입한다(크롬 계열) */
  @page { size: A4; margin: 20mm 21mm 22mm; background-color: #F2EADA; -webkit-print-color-adjust: exact; print-color-adjust: exact; }

  /* 종이 위 먹색: 사이트 색 토큰을 통째로 밝은 종이용으로 바꾼다 */
  :root, :root[data-theme="dark"], :root[data-theme="light"] {
    --bg: #F2EADA; --surface: transparent; --surface-2: rgba(120, 88, 48, .07);
    --ink: #221D17; --ink-soft: #4A4239; --ink-mute: #7C7164; --line: rgba(96, 70, 40, .24);
    --primary: #9A3426; --primary-deep: #7C271B;
    --pink: #9A3426; --pink-deep: #7C271B; --pink-tint: rgba(154, 52, 38, .07);
    --blue: #2C4870; --blue-tint: rgba(44, 72, 112, .07);
    --ok: #3B6B3A; --ok-tint: rgba(59, 107, 58, .08);
    --warn: #86600F; --warn-tint: rgba(134, 96, 15, .08);
    --bad: #9E3B2C; --bad-tint: rgba(158, 59, 44, .08);
    --on-pink: #FBF6EC;
    --shadow-1: none; --shadow-2: none;
    --el-mok: #2F7A55; --el-hwa: #A2372C; --el-to: #8A6420; --el-geum: #5F5A4C; --el-su: #2C4466;
    --el-mok-tint: rgba(47, 122, 85, .09); --el-hwa-tint: rgba(162, 55, 44, .08); --el-to-tint: rgba(138, 100, 32, .09);
    --el-geum-tint: rgba(95, 90, 76, .09); --el-su-tint: rgba(44, 68, 102, .09);
    color-scheme: light;
  }

  html, body {
    -webkit-print-color-adjust: exact; print-color-adjust: exact;
    background-color: #F2EADA !important;
    /* 한지: sharecard.js가 캔버스로 만든 한지 타일(--letter-paper, 섬유결 + 알갱이 + 티끌)을 깔고 은은한 얼룩을 얹는다.
       스크립트가 없을 때는 SVG 노이즈(가로로 늘인 난류 = 닥 섬유결)로 대신한다 */
    background-image:
      radial-gradient(ellipse at 22% 18%, rgba(255, 252, 242, .45), transparent 55%),
      radial-gradient(ellipse at 80% 72%, rgba(186, 154, 104, .1), transparent 60%),
      var(--letter-paper, url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='0.014 0.1' numOctaves='2' seed='11'/><feColorMatrix values='0 0 0 0 0.45  0 0 0 0 0.35  0 0 0 0 0.22  0 0 0 0.8 -0.34'/></filter><rect width='100%' height='100%' filter='url(%23f)'/></svg>")) !important;
    background-repeat: no-repeat, no-repeat, repeat !important;
    background-size: 100% 100%, 100% 100%, 120mm 120mm !important;
    color: var(--ink) !important;
  }
  /* 크롬 계열은 @page 배경이 종이 전체(여백 포함)를 덮으니, 본문 배경은 비워 이음매를 없앤다 */
  html.letter-pagebg, html.letter-pagebg body { background: transparent !important; }
  body, body * {
    font-family: "Noto Serif KR", "Nanum Myeongjo", "AppleMyungjo", "Batang", serif !important;
    letter-spacing: 0 !important;
  }
  body { font-size: 10.6pt !important; line-height: 1.85 !important; }

  /* ── 화면 전용 요소는 전부 감춘다 ── */
  .proto, nav.top, .navpanel, .navpanel-overlay, .adslot, footer.foot, #step1, #step2,
  .receipt, .success, #programNav, .wkbar, .pghead, .pgfoot, .hostsay, #hostSay, .hs-back,
  .clipwrap, video, audio, .hostcta, .btn, button:not(.gterm), .copytoast, .refundbox, [data-refund],
  .gbubble, .addrlayer, .devchip, .trustbadge, .tagline-beta, .letter-cap, .sharegrid,
  .panel:has([id$="SharePreview"]), [id$="SharePreview"], #resumeBanner, .rec2, .pip-hint, .dupop,
  .ssd-audio, .audiotoggle, .bgm-toggle, input, textarea, select { display: none !important; }
  .gterm i { display: none !important; }
  .gterm { text-decoration: none !important; }
  a[href]:after { content: "" !important; }
  a { color: inherit !important; text-decoration: none !important; }

  /* 장별로 숨긴 페이지도 인쇄 땐 모두 펼친다 */
  #reportBody .pgpage[hidden], #reportBody .pgpage { display: block !important; }
  .pgstage { animation: none !important; min-height: 0 !important; }
  .wrap, .wrap.narrow, .flow { max-width: none !important; padding: 0 !important; margin: 0 !important; }
  #step3 { display: block !important; }

  /* ── 섹션: 카드 상자를 걷어내고 편지 본문처럼 ── */
  .panel {
    background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important;
    padding: 0 !important; margin: 0 0 9mm !important; break-inside: auto !important; page-break-inside: auto !important;
  }
  #reportBody .panel + .panel, #reportBody .pgpage + .pgpage > .panel:first-child {
    padding-top: 9mm !important;
    background-image: linear-gradient(90deg, transparent 0, transparent 38%, rgba(154, 52, 38, .45) 38%, rgba(154, 52, 38, .45) 62%, transparent 62%) !important;
    background-repeat: no-repeat !important; background-size: 100% .5pt !important; background-position: 0 0 !important;
  }
  .panel.summary { background: transparent !important; }
  .panel h2, .panel h3, .report-sec h3 { font-weight: 700 !important; color: var(--ink) !important; break-after: avoid; page-break-after: avoid; }
  .panel h2 { font-size: 15pt !important; margin: 0 0 4mm !important; }
  .panel h3, .report-sec h3, .panel.summary h3 { font-size: 13pt !important; }
  .report-sec .rlabel, .eyebrow { color: var(--primary) !important; font-weight: 700 !important; letter-spacing: .12em !important; font-size: 8.4pt !important; }
  .report-sec .ricon svg, .ricon { opacity: .85; }
  p, li { orphans: 3; widows: 3; }
  /* 큰 섹션은 쪼개져도 된다(통째로 넘기면 빈 쪽이 생긴다). 작은 덩어리만 안 쪼갠다 */
  .report-sec, #reportBody .panel, table { break-inside: auto !important; page-break-inside: auto !important; }
  figure, .sumcell, .datum, .notice, .chip, tr, img, .baguadir, .tocitem { break-inside: avoid; page-break-inside: avoid; }
  .notice, .notice.gray, .notice.warn { background: transparent !important; border-left: 1.2pt solid rgba(154, 52, 38, .45) !important; border-radius: 0 !important; padding: 1mm 0 1mm 4mm !important; color: var(--ink-soft) !important; }
  .chip { border: .5pt solid var(--line) !important; background: transparent !important; }

  /* 주인장 여는 말과 닫는 말은 손편지 머리말처럼 */
  .hostbar .wkhead { display: block !important; }
  .hostbar .wkintro { max-width: none !important; }
  .hostbar h2 { font-size: 16pt !important; }
  .hostbar p { color: var(--ink-soft) !important; }

  /* ── 표지 ── */
  .letter-cover[hidden], .letter-end[hidden] { display: flex !important; }
  .letter-cover {
    flex-direction: column; justify-content: center; align-items: center; text-align: center;
    height: 247mm; box-sizing: border-box; padding: 18mm 12mm; position: relative;
    border: 1.6pt solid rgba(154, 52, 38, .5); outline: .5pt solid rgba(154, 52, 38, .5); outline-offset: -3.2mm;
    break-after: page; page-break-after: always;
  }
  .letter-cover .lc-house { font-size: 9pt; letter-spacing: .5em !important; color: var(--ink-mute); margin-bottom: 26mm; }
  .letter-cover .lc-kind { font-size: 11pt; font-weight: 700; color: var(--primary); letter-spacing: .3em !important; margin-bottom: 8mm; }
  .letter-cover .lc-to { font-size: 25pt; font-weight: 700; line-height: 1.55; margin: 0; color: var(--ink); }
  .letter-cover .lc-to span { font-weight: 400; font-size: 17pt; color: var(--ink-soft); }
  .lc-orn { display: flex; align-items: center; justify-content: center; gap: 3mm; margin: 11mm 0; }
  .lc-orn i { display: block; width: 26mm; height: 0; border-top: .6pt solid rgba(154, 52, 38, .55); }
  .lc-orn b { display: block; width: 2.4mm; height: 2.4mm; background: #9A3426; transform: rotate(45deg); }
  .letter-cover .lc-note { font-size: 11pt; line-height: 2.1; color: var(--ink-soft); margin: 0; }
  .lc-sign { display: flex; align-items: center; justify-content: flex-end; gap: 5mm; }
  .lc-sign > div { display: flex; flex-direction: column; align-items: flex-end; }
  .lc-sign .lc-date { font-size: 9pt; color: var(--ink-mute); }
  .lc-sign .lc-name { font-size: 13pt; font-weight: 700; color: var(--ink); letter-spacing: .12em !important; }
  .letter-cover .lc-sign { position: absolute; right: 16mm; bottom: 18mm; }
  .letter-seal { display: block; transform: rotate(-3deg); mix-blend-mode: multiply; }
  .letter-seal text { font-family: "Noto Serif KR", "Nanum Myeongjo", serif !important; }

  /* ── 맺음장 ── */
  .letter-end {
    flex-direction: column; align-items: stretch; margin-top: 12mm; break-inside: avoid; page-break-inside: avoid;
  }
  .letter-end p { font-size: 11pt; line-height: 2.05; color: var(--ink-soft); text-align: center; margin: 0 0 12mm; }
  .letter-end .lc-orn { margin: 0 0 9mm; }
}
