@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Serif+KR:wght@400;600&family=IBM+Plex+Mono:wght@400;500&display=swap');

/* ══════════════════════════════════════════════════════════════════════
   생기부 판독지 — 원고지 옷  (2026-08-26 원장님 결정)

   > "그 작성지를 우리가 독서수업 첨삭으로 한 디자인, 그거로 만들어주면 안 될까?"
   > "오 생기부 판독기 이게 더 좋은 것 같아. 부모님들이 보기에도 이런 형태가 좋은데.
   >  그럼 생기부 판독기는 이거로 가자"

   독서논술 결과지(essay-report.html)의 옷을 그대로 가져왔다.
   **종이 · 먹 · 칸 선 · 교정 빨강** 네 가지가 전부고, 칸 선이 모든 구분선 역할을 한다.

   ★ 왜 이 옷인가 — 생기부 판독은 「분석 보고서」가 아니라 **학생 글에 첨삭하는 일**이다.
     색 상자와 그라데이션을 걷어내고 종이 위 밑줄만 남기면 그렇게 읽힌다.

   ⚠ **어두운 모드를 만들지 않는다** — 원고지는 종이다.
     그래서 색을 전부 직접 칠한다. 원장님 화면(index.html)은 어두운 테마인데,
     투명하게 두면 그 배경이 비쳐 글자가 안 보인다.
     ★ 이 파일 안에서는 바깥 토큰(--text·--card 등)을 쓰지 말 것.

   ⚠ **세 화면이 이 파일 하나를 같이 쓴다** — 원장님 화면 · 지난기록 다시보기 ·
     학부모 공유 링크. 원장님 지시가 "부모님들이 보기에도 좋다"였으므로 셋을 통일한다.
     한쪽만 고치지 말 것.

   ⚠ 반드시 **`result-ui.css` 보다 뒤에** 링크해야 덧칠이 된다.
   ══════════════════════════════════════════════════════════════════════ */

.rrp {
  --paper:     #FCFBF8;   /* 종이 */
  --paper-2:   #F5F4EF;   /* 한 겹 눌린 자리 */
  --ink:       #1C2733;   /* 먹 */
  --ink-2:     #3D4B5A;
  --muted:     #6E7B89;
  --rule:      #BCCEDD;   /* 원고지 칸 선 */
  --rule-soft: #DFE8F0;
  --red:       #C4323D;   /* 교정 */
  --red-bg:    #FBEFF0;
  --green:     #177A62;   /* 잘된 곳 */
  --green-bg:  #E8F6F1;
  --amber:     #8A6A2F;
  --amber-bg:  #FBF3E2;
  --amber-line:#E7D3A8;
  --shadow:    0 1px 2px rgba(28,39,51,.05), 0 8px 24px -18px rgba(28,39,51,.35);

  --display:    'Gowun Batang', 'Batang', '바탕', Georgia, serif;
  --body:       'Noto Sans KR', 'Malgun Gothic', '맑은 고딕', system-ui, sans-serif;
  --paper-face: 'Noto Serif KR', 'Batang', '바탕', serif;
  --mono:       'IBM Plex Mono', 'Noto Sans KR', ui-monospace, monospace;

  background: var(--paper);
  color: var(--ink);
  font-family: var(--body);
  font-size: 15.5px;
  line-height: 1.75;
  padding: 0 clamp(14px, 2.4vw, 30px) 30px;
  /* 아주 옅은 원고지 격자 — 종이 위에 있다는 감각만 남긴다 */
  background-image:
    repeating-linear-gradient(to right,  var(--rule-soft) 0 1px, transparent 1px 34px),
    repeating-linear-gradient(to bottom, var(--rule-soft) 0 1px, transparent 1px 34px);
  background-position: center top;
}
.rrp * { box-sizing: border-box; }

/* ★★ 판독지가 **그 쪽의 주인공**이면 화면 전체를 종이로 만든다 (2026-08-26 원장님 지적)
     > "우리 원래 결과지에는 배경도 가로세로 칸으로 되어 있었잖아??"

     맞는 지적이었다. .rrp 에만 격자를 깔았더니 **카드가 거의 꽉 채워** 좌우 몇 px 에만
     격자가 비쳐 사실상 안 보였다. 시안에서는 **바탕 전체**가 종이+격자였고,
     880px 글 상자 바깥의 넓은 여백에 칸이 쫙 보였다.

     ⚠ **원장님 화면(index.html)은 뺀다** — 거기는 사이드바가 있는 앱 셸이라
       바탕을 종이로 바꾸면 화면 전체가 종이가 된다. #viewApp 이 있으면 건너뛴다.
       (학부모 링크·자료 페이지에는 #viewApp 이 없다)

     ⚠ 이 파일을 셸 heredoc·python -c 로 고치지 말 것 — 주석 안의 백틱을
       셸이 명령으로 실행해 낱말이 통째로 사라진다(2026-08-26 실제로 겪음). */
body:has(.rrp):not(:has(#viewApp)) {
  background-color: #FCFBF8;
  background-image:
    repeating-linear-gradient(to right,  #DFE8F0 0 1px, transparent 1px 34px),
    repeating-linear-gradient(to bottom, #DFE8F0 0 1px, transparent 1px 34px);
  background-position: center top;
  color: #1C2733;
}
/* 그 쪽에서는 카드 좌우로 종이가 더 보이게 여백을 넉넉히 준다 */
body:has(.rrp):not(:has(#viewApp)) .rrp { background: none; padding-left: 0; padding-right: 0; }
.rrp b, .rrp strong { font-weight: 700; }

/* ── 머리 ─────────────────────────────────────────────── */
.rrp-mast {
  /* ⚠ 원장님 화면(index.html)의 상단 바 규칙 `header { display:flex; position:sticky … }` 이 이 <header> 에도 먹는다.
     휴대폰에서 제목이 46px 폭으로 눌려 한 글자씩 21줄로 쌓였다(2026-09-06 실측). 여기서 되돌린다. */
  display: block; position: static; top: auto; z-index: auto; border-bottom: 0; gap: 0;
  background: var(--paper);
  border-left: 1px solid var(--rule-soft);
  border-right: 1px solid var(--rule-soft);
  padding: clamp(30px, 5vw, 56px) clamp(16px, 3.4vw, 40px) 34px;
  margin-bottom: 22px;
}
.rrp-kicker {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .18em;
  color: var(--muted);
  margin: 0 0 16px;
}
.rrp-mast h2 {
  font-family: var(--display);
  font-weight: 700;
  font-size: clamp(26px, 4.6vw, 40px);
  line-height: 1.2;
  letter-spacing: -.02em;
  color: var(--ink);
  margin: 0 0 16px;
  text-wrap: balance;
}
.rrp-thesis {
  font-family: var(--paper-face);
  font-size: clamp(15px, 1.6vw, 16.5px);
  line-height: 1.85;
  color: var(--ink-2);
  margin: 0 0 20px;
  padding-left: 14px;
  border-left: 2px solid var(--rule);
}
.rrp-when { font-family: var(--mono); font-size: 12px; color: var(--muted); margin: 0; }

/* ── 카드 ─────────────────────────────────────────────── */
.rrp-card {
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-top: 2px solid var(--rule);
  box-shadow: var(--shadow);
  padding: 30px clamp(15px, 3.2vw, 34px) 32px;
  margin-bottom: 20px;
}

/* 구역 머리 — 번호를 원고지 칸 모양으로 */
.rrp-sec { display: flex; align-items: center; gap: 11px; margin: 0 0 18px; }
.rrp-sec-no {
  width: 26px; height: 26px;
  display: grid; place-items: center;
  border: 1.5px solid var(--rule);
  background: var(--paper-2);
  color: var(--ink-2);
  font-family: var(--mono);
  font-size: 11px;
  flex: none;
}
.rrp-sec-title {
  font-family: var(--display);
  font-weight: 700;
  font-size: 20px;
  letter-spacing: -.015em;
  color: var(--ink);
  min-width: 0;
}
.rrp-sec-en {
  margin-left: auto;
  font-family: var(--mono);
  font-size: 9.5px;
  letter-spacing: .14em;
  color: var(--rule);
  flex: none;
}
.rrp-lead { margin: -6px 0 20px; font-size: 13.5px; line-height: 1.75; color: var(--muted); }

/* ── 점수 — 원고지 칸에 적어 넣는다 ────────────────────── */
.rrp-sctop {
  display: flex; align-items: flex-end; gap: 20px; flex-wrap: wrap;
  padding-bottom: 22px; margin-bottom: 22px;
  border-bottom: 1px solid var(--rule-soft);
}
.rrp-scbig {
  display: grid; place-items: center;
  width: 108px; height: 108px; flex: none;
  border: 2px solid var(--rule);
  background: var(--paper-2);
  font-family: var(--display);
  font-weight: 700;
  font-size: 46px;
  line-height: 1;
  color: var(--ink);
  font-variant-numeric: tabular-nums;
}
.rrp-scbig.low { border-color: var(--red); background: var(--red-bg); color: var(--red); }
.rrp-scbig small {
  display: block;
  font-family: var(--mono); font-size: 11px; font-weight: 400;
  margin-top: 6px; letter-spacing: .1em;
}
.rrp-scsay { min-width: 0; flex: 1 1 260px; }
.rrp-scverd {
  font-family: var(--display); font-weight: 700;
  font-size: 22px; letter-spacing: -.015em;
  color: var(--ink); margin: 0 0 6px;
}
.rrp-scverd.low { color: var(--red); }
.rrp-scsub { margin: 0; font-size: 13.5px; line-height: 1.7; color: var(--muted); }

.rrp-scgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.rrp-scitem {
  min-width: 0;
  display: grid; grid-template-columns: 46px 1fr; gap: 13px;
  padding: 14px 15px;
  background: var(--paper-2);
  border: 1px solid var(--rule-soft);
  border-left: 2px solid var(--rule);
}
.rrp-scitem > * { min-width: 0; }
.rrp-scitem.low { border-left-color: var(--red); }
.rrp-sccell {
  width: 46px; height: 46px;
  display: grid; place-items: center;
  border: 1.5px solid var(--rule);
  background: var(--paper);
  font-family: var(--display); font-weight: 700; font-size: 20px;
  color: var(--ink-2);
  font-variant-numeric: tabular-nums;
}
.rrp-scitem.low .rrp-sccell { border-color: var(--red); color: var(--red); background: var(--red-bg); }
.rrp-scname { font-family: var(--mono); font-size: 11px; letter-spacing: .05em; color: var(--ink-2); }
.rrp-scname b { font-weight: 500; }
.rrp-scname i { font-style: normal; color: var(--muted); }
.rrp-scnote { font-size: 12.5px; line-height: 1.65; color: var(--muted); margin-top: 5px; }

/* ── 읽는 글(총평·맺음) — 명조로 세운다 ─────────────────── */
.rrp-say {
  background: var(--paper-2);
  border: 1px solid var(--rule-soft);
  border-left: 3px solid var(--rule);
  padding: 22px clamp(15px, 2.4vw, 24px);
  font-family: var(--paper-face);
  font-size: 15px;
  line-height: 1.95;
  color: var(--ink-2);
}
.rrp-say p { margin: 0 0 14px; }
.rrp-say p:last-child { margin-bottom: 0; }

/* ── 원문 — 이 결과지의 주인공 ─────────────────────────── */
.rrp .rr-source {
  font-family: var(--paper-face);
  font-size: 14.5px;
  line-height: 2.15;
  color: var(--ink);
  white-space: pre-wrap;
  word-break: break-word;
  padding: 26px clamp(15px, 2.4vw, 24px);
  background: var(--paper);
  border: 1px solid var(--rule-soft);
  border-top: 1px solid var(--rule);
  max-height: none;      /* 원문은 잘라 보여주지 않는다 */
  overflow: visible;
}
.rrp .rr-mark {
  background: transparent;
  color: inherit;
  padding: 1px 0 2px;
  border-bottom: 2px solid;
  border-radius: 0;
}
.rrp .rr-mark.good { border-color: var(--green); background: var(--green-bg); }
.rrp .rr-mark.care { border-color: var(--red);   background: var(--red-bg); }
.rrp .rr-mark sup {
  font-family: var(--mono);
  font-size: 9.5px;
  font-weight: 500;
  padding-left: 3px;
  vertical-align: super;
  line-height: 0;
}
.rrp .rr-mark.good sup { color: var(--green); }
.rrp .rr-mark.care sup { color: var(--red); }

.rrp-legend { display: flex; gap: 7px; flex-wrap: wrap; margin-bottom: 14px; }
.rrp-leg {
  font-family: var(--mono);
  font-size: 11.5px;
  padding: 4px 11px;
  background: var(--paper-2);
  border: 1px solid var(--rule-soft);
  color: var(--ink-2);
}
.rrp-leg i { font-style: normal; font-weight: 500; }
.rrp-leg.g i { color: var(--green); }
.rrp-leg.c i { color: var(--red); }

/* ── 짚은 것 — 독서논술 첨삭 줄과 같은 짜임 ─────────────── */
.rrp-fixes { display: grid; gap: 9px; }
.rrp-fix {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 14px;
  padding: 15px 16px;
  background: var(--paper-2);
  border: 1px solid var(--rule-soft);
  border-left: 2px solid var(--rule);
}
.rrp-fix > * { min-width: 0; }
.rrp-fix.good { border-left-color: var(--green); }
.rrp-fix.care { border-left-color: var(--red); }
.rrp-fix-k {
  font-family: var(--mono);
  font-size: 10.5px;
  letter-spacing: .05em;
  padding-top: 3px;
  color: var(--muted);
  overflow-wrap: anywhere;
}
.rrp-fix-k b { display: block; font-size: 13px; font-weight: 500; color: var(--ink-2); margin-bottom: 3px; }
.rrp-fix.good .rrp-fix-k b { color: var(--green); }
.rrp-fix.care .rrp-fix-k b { color: var(--red); }
.rrp-quo {
  font-family: var(--paper-face);
  font-size: 13.5px;
  line-height: 1.85;
  color: var(--ink-2);
  padding-left: 12px;
  border-left: 1px solid var(--rule);
  margin: 0;
}
.rrp-why { font-size: 13.5px; line-height: 1.8; color: var(--ink-2); margin: 9px 0 0; }

/* ── 어울리는 학과 (학과를 비워 뒀을 때) ─────────────────── */
.rrp-major { margin-bottom: 22px; }
.rrp-major:last-child { margin-bottom: 0; }
.rrp-major-head { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.rrp-major-no {
  width: 26px; height: 26px; flex: none;
  display: grid; place-items: center;
  border: 1.5px solid var(--rule);
  background: var(--paper-2);
  font-family: var(--mono); font-size: 11px; color: var(--ink-2);
}
.rrp-major-name {
  font-family: var(--display); font-weight: 700; font-size: 18px;
  letter-spacing: -.015em; color: var(--ink); min-width: 0;
}
.rrp-major-why {
  font-family: var(--paper-face);
  font-size: 14.5px; line-height: 1.9; color: var(--ink-2);
  margin: 0 0 11px; padding-left: 36px;
}
.rrp-major .rrp-fixes { padding-left: 36px; }

/* ── 없어서 아쉬운 것 ──────────────────────────────────── */
.rrp-miss { display: grid; gap: 8px; counter-reset: rrm; margin: 0; padding: 0; }
.rrp-miss li {
  list-style: none;
  display: grid; grid-template-columns: 26px 1fr; gap: 13px;
  padding: 13px 15px;
  background: var(--amber-bg);
  border: 1px solid var(--amber-line);
  font-size: 13.5px;
  line-height: 1.8;
  color: #6C5423;
}
.rrp-miss li > * { min-width: 0; }
.rrp-miss li::before {
  counter-increment: rrm;
  content: counter(rrm, decimal-leading-zero);
  width: 26px; height: 26px;
  display: grid; place-items: center;
  border: 1.5px solid #DCC189;
  background: var(--paper);
  font-family: var(--mono); font-size: 11px; color: var(--amber);
}

/* ── 맺음 ─────────────────────────────────────────────── */
.rrp-foot {
  margin-top: 26px; padding-top: 20px;
  border-top: 1px solid var(--rule);
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: .08em;
  color: var(--muted);
  text-align: center;
}
.rrp-notice {
  margin-top: 16px;
  font-size: 12.5px;
  line-height: 1.85;
  color: var(--muted);
}

/* 형광펜(`**…**`)은 종이 위에서 연필 밑줄처럼 — 색 상자를 만들지 않는다 */
.rrp .key-line {
  background: none;
  color: var(--ink);
  font-weight: 700;
  box-shadow: inset 0 -.5em 0 rgba(188,206,221,.42);
  padding: 0 1px;
  border-radius: 0;
}

/* ── 이어서 묻기 — 원장님 화면에만 붙는다 (app.js) ───────
   결과지 본체가 아니라 도구다. 종이 위에 얹은 쪽지처럼 보이게 한다. */
.rrp .rr-chat, .rr-chat.rrp-chat {
  background: #F5F4EF;
  border: 1px solid #DFE8F0;
  border-top: 2px solid #BCCEDD;
  border-radius: 0;
  color: #1C2733;
}
.rrp .rr-chat-head b { font-family: 'Gowun Batang', 'Batang', serif; color: #1C2733; }
.rrp .rr-chat-bubble { border-radius: 0; }

/* ── 좁은 화면 ────────────────────────────────────────── */
@media (max-width: 620px) {
  .rrp { font-size: 15px; padding-left: 10px; padding-right: 10px; }
  .rrp-fix { grid-template-columns: 1fr; gap: 8px; }
  .rrp-sctop { gap: 14px; }
  .rrp-scbig { width: 86px; height: 86px; font-size: 36px; }
  .rrp-major-why, .rrp-major .rrp-fixes { padding-left: 0; }
}

/* ── 인쇄 (A4 · PDF 저장) ─────────────────────────────────
   ⚠ 화면에서 접히거나 잘린 것이 종이에서는 다 나와야 한다. */
@media print {
  .rrp {
    background: #fff;
    background-image: none;     /* 격자는 잉크만 먹는다 */
    padding: 0;
    font-size: 11pt;
  }
  .rrp-card, .rrp-mast { box-shadow: none; break-inside: avoid; margin-bottom: 12px; }
  .rrp-sec, .rrp-sec-title { break-after: avoid; }
  .rrp-fix, .rrp-scitem, .rrp-miss li, .rrp-major { break-inside: avoid; }
  .rrp .rr-source { max-height: none; overflow: visible; }
  .rrp .rr-chat { display: none; }   /* 질문 칸은 종이에 필요 없다 */
  .rrp .rr-mark, .rrp-scbig, .rrp-sccell, .rrp-miss li {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}

/* ── 견본(홍보용) 알림 ── 지어낸 것을 진짜처럼 내보내지 않는다 (2026-08-26) */
.rrp-sample {
  background: var(--amber-bg);
  border: 1px solid var(--amber-line);
  border-left: 3px solid var(--amber);
  color: #6C5423;
  padding: 14px 16px;
  margin-bottom: 18px;
  font-size: 13.5px;
  line-height: 1.8;
}
.rrp-sample b { color: var(--amber); }
.rrp-sample > b:first-child { display: block; font-size: 14.5px; margin-bottom: 4px; }

/* ── 판독 결과로 바로 면접 질문 만들기 (2026-08-26 원장님 지시) ──
   원장님 전용 도구다 — 종이 위에 얹은 쪽지처럼. 학생 링크에는 안 붙는다(app.js 를 안 실으므로). */
/* 학생에게 보낸 판독지의 면접 안내 한 줄 — 원장님 화면의 「면접 예상질문 만들기」 상자(.rr-iv) 자리에 들어간다 (2026-09-06 원장님: AI·이용횟수 문구 금지) */
.rrp .rr-contact, .rr-contact {
  margin-top: 34px; padding: 18px 8px 6px; border-top: 1px solid var(--rule, #cfd6dc);
  font-family: 'Gowun Batang', 'Batang', serif; font-size: 15px; line-height: 1.8; color: var(--ink, #1C2733); text-align: center;
}
.rr-contact::before { content: '※ '; color: var(--muted, #6b7680); }
#viewApp .rr-contact { display: none; }   /* 원장님 화면에는 학생용 안내가 필요 없다 */

.rrp .rr-iv {
  background: var(--paper-2);
  border: 1px solid var(--rule-soft);
  border-top: 2px solid var(--rule);
  padding: 22px clamp(15px, 2.4vw, 24px);
  margin-top: 20px;
}
.rr-iv-head { margin-bottom: 14px; }
.rr-iv-head b { display: block; font-family: var(--display); font-size: 18px; color: var(--ink); margin-bottom: 4px; }
.rr-iv-head .muted { display: block; font-size: 13px; line-height: 1.7; color: var(--muted); }
.rr-iv-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.rr-iv-row > * { min-width: 0; }
.rr-iv-univ {
  flex: 1 1 260px; min-width: 0;
  padding: 10px 13px; border: 1px solid var(--rule); border-radius: 0;
  background: var(--paper); color: var(--ink);
  font-family: var(--body); font-size: 14px;
}
.rr-iv-univ:focus { outline: 2px solid var(--rule); outline-offset: 1px; }
.rr-iv-go {
  flex: none; padding: 10px 20px; border-radius: 0;
  background: var(--ink); border: 1px solid var(--ink); color: var(--paper);
  font-family: var(--body); font-size: 14px; font-weight: 700; cursor: pointer;
}
.rr-iv-go:hover { background: var(--ink-2); border-color: var(--ink-2); }
.rr-iv-go:disabled { opacity: .55; cursor: default; }
.rr-iv-note { margin-top: 8px; font-size: 11.5px; color: var(--muted); }
.rr-iv-out:not(:empty) { margin-top: 16px; }
.rr-iv-result { background: var(--paper); border: 1px solid var(--rule-soft); padding: 18px clamp(12px, 2vw, 20px); }
@media print { .rrp .rr-iv-row, .rrp .rr-iv-note { display: none; } }

/* 지원 전 주요 체크 (2026-08-30) — 원고지 옷 그대로, 번호는 파랑(면접 보라·판정색과 안 겹침) */
.rrp .rrp-keychecks { margin: 0; padding: 0 0 0 6px; list-style: none; counter-reset: kc; }
.rrp .rrp-keychecks > li {
  counter-increment: kc; position: relative; padding: 12px 0 12px 44px;
  border-bottom: 1px dashed rgba(28, 39, 51, .18);
}
.rrp .rrp-keychecks > li:last-child { border-bottom: none; }
.rrp .rrp-keychecks > li::before {
  content: counter(kc); position: absolute; left: 0; top: 12px;
  width: 30px; height: 30px; border: 1.5px solid #2857b8; color: #2857b8;
  font: 700 14px/28px 'IBM Plex Mono', monospace; text-align: center; background: #fff;
}
.rrp .rrp-kc-t { font-weight: 700; color: #1c2733; font-size: 15px; line-height: 1.6; }
.rrp .rrp-kc-why { margin: 4px 0 0; color: #3d4a58; font-size: 13.5px; line-height: 1.7; }
.rrp .rrp-kc-where { margin-top: 2px; font: 500 11.5px 'IBM Plex Mono', monospace; color: #8a94a0; }

/* ── 점수 수정 (원장 전용, 2026-09-04) — 학생 화면에는 안 나간다(collectHtml 제거 + material 방어) ── */
.rrp .rr-scoreedit { margin: 10px 0 4px; }
.rrp .rr-scoreedit .rr-se-open {
  background: #fff; border: 1px solid #b9b2a4; color: #1c2733;
  padding: 5px 12px; border-radius: 6px; cursor: pointer; font-size: 12.5px;
}
.rrp .rr-scoreedit .rr-se-body {
  margin-top: 8px; padding: 10px 12px; border: 1px dashed #b9b2a4; border-radius: 8px;
  background: #fffdf7; display: flex; flex-wrap: wrap; gap: 10px; align-items: center;
}
.rrp .rr-scoreedit label { font-size: 12.5px; color: #1c2733; }
.rrp .rr-scoreedit input { width: 58px; padding: 4px 6px; border: 1px solid #b9b2a4; border-radius: 6px; background: #fff; color: #1c2733; }
.rrp .rr-scoreedit .rr-se-sum { font-size: 12.5px; color: #1c2733; }
.rrp .rr-scoreedit .rr-se-save { background: #1c2733; color: #fff; border: 0; padding: 6px 14px; border-radius: 6px; cursor: pointer; font-size: 12.5px; }
.rrp .rr-scoreedit .rr-se-note { flex-basis: 100%; font-size: 11.5px; color: #8a7a55; }
.rrp .rr-scoreedit .rr-se-msg { font-size: 12px; color: #a03a3a; }
@media print { .rr-scoreedit { display: none !important; } }

/* ══════════════════════════════════════════════════════════════════════
   면접지도 **원고지 옷**을 입는다 (2026-09-07 원장님: "면접지 디자인도 세특 생기부 디자인으로 변경하자")

   판독지(.rrp)와 같은 종이·먹·칸 선 위에서 읽히게 한다. 학부모가 두 결과지를 나란히 받으므로
   서로 다른 세계처럼 보이면 안 된다.
   ★ 옷만 갈아입는다 — 질문 부품(.iv-*)의 구조와 차례는 그대로다.
   ⚠ .rrp 안에서는 바깥 토큰(--text·--card)을 쓰지 않는다. 색을 직접 칠한다(원고지는 종이다).
   ══════════════════════════════════════════════════════════════════════ */

/* 요약 절 — 색 상자를 걷어내고 종이 위 칸으로 */
.rrp-iv .rm-kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin-bottom: 18px;
  border: 1px solid var(--rule); border-radius: 4px; overflow: hidden; background: var(--paper); }
.rrp-iv .rm-kpi { background: var(--paper); border: none; border-left: 1px solid var(--rule-soft);
  border-radius: 0; padding: 15px 17px; }
.rrp-iv .rm-kpi:first-child { border-left: none; }
.rrp-iv .rm-kpi small { color: var(--muted); font-family: var(--mono); font-size: 10.5px; letter-spacing: .06em; }
.rrp-iv .rm-kpi b { color: var(--ink); font-family: var(--display); font-weight: 700; }
.rrp-iv .rm-kpi span { color: var(--muted); }
.rrp-iv .rm-diag { background: var(--paper-2); border: none; border-left: 3px solid var(--ink);
  border-radius: 0; color: var(--ink); font-family: var(--paper-face); }
.rrp-iv .rm-strategy { background: transparent; border: none; border-radius: 0; padding: 0;
  color: var(--ink-2); font-family: var(--paper-face); line-height: 1.95; }
.rrp-iv .rm-sum-box { background: var(--paper); border: 1px solid var(--rule); border-radius: 4px; }
.rrp-iv .rm-sum-box.good { border-left: 3px solid var(--green); }
.rrp-iv .rm-sum-box.warn { border-left: 3px solid var(--red); }
.rrp-iv .rm-sum-box b { color: var(--ink); }
.rrp-iv .rm-sum-box li { color: var(--ink-2); }

/* ★ 면접지 총평 목록(1·2·3)을 **상자 안에** — 격자 배경 위에 맨글자로 두니 안 읽혔다 (2026-09-15 원장님 캡처).
   아래 「면접에서 앞세울 강점」 상자와 같은 종이 칸. 렌더 파일은 안 건드린다 — 옛 링크도 새로고침이면 적용. */
.rrp-iv .rm-strategy { background: var(--paper); border: 1px solid var(--rule); border-left: 3px solid var(--ink);
  border-radius: 4px; padding: 16px 20px 14px; margin: 0 0 14px; }
.rrp-iv .rm-strategy ol, .rrp-iv .rm-strategy ul { margin: 0; }
.rrp-iv .rm-strategy li { color: var(--ink-2); }

/* 무엇을 반영했는지 — 도장처럼 */
.rrp-iv .iv-based-tag { background: var(--green-bg); color: var(--green); border: 1px solid #BBDDD2;
  font-family: var(--mono); font-size: 10.5px; letter-spacing: .02em; }

/* 갈래 묶음 */
.rrp-iv .iv-group { margin-top: 22px; }
.rrp-iv .iv-group-h { color: var(--ink); font-family: var(--display); font-size: 16px; font-weight: 700;
  border-bottom: 1px solid var(--rule); padding-bottom: 7px; }
.rrp-iv .iv-group-h::before { background: var(--ink); }
.rrp-iv .iv-group-h i { color: var(--muted); font-family: var(--mono); font-size: 10.5px; }

/* 질문 한 장 — 종이 위 칸 */
.rrp-iv .iv-q { background: var(--paper); border: 1px solid var(--rule); border-radius: 4px;
  padding: 18px 20px; margin-bottom: 12px; }
.rrp-iv .iv-no { background: var(--ink); color: var(--paper); font-family: var(--mono);
  border-radius: 3px; font-weight: 500; }
.rrp-iv .iv-q-head p { color: var(--ink); font-family: var(--paper-face); font-weight: 600; line-height: 1.62; }
.rrp-iv .iv-risk { font-family: var(--mono); font-size: 10px; font-weight: 500; border-radius: 3px; }
.rrp-iv .iv-risk.hi { background: var(--red-bg); color: var(--red); border-color: #EBC5C8; }
.rrp-iv .iv-risk.mid { background: var(--amber-bg); color: var(--amber); border-color: var(--amber-line); }
.rrp-iv .iv-risk.low { background: var(--paper-2); color: var(--muted); border-color: var(--rule-soft); }

/* 답변 접기 */
.rrp-iv .iv-a-toggle summary, .rrp-iv details > summary { color: var(--ink-2); font-family: var(--mono); font-size: 11.5px; }
.rrp-iv .iv-why { background: var(--amber-bg); border: none; border-left: 3px solid var(--amber-line);
  border-radius: 0; color: var(--ink-2); }
.rrp-iv .iv-why b { color: var(--amber); font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em; }
.rrp-iv .iv-a b { color: var(--ink); font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em; }
.rrp-iv .iv-a li { color: var(--ink-2); font-family: var(--paper-face); line-height: 1.8; }
.rrp-iv .iv-ev { background: var(--green-bg); border: none; border-left: 3px solid var(--green);
  border-radius: 0; color: var(--ink-2); }
.rrp-iv .iv-ev b { color: var(--green); font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em; }
.rrp-iv .iv-follow { border-left: 3px solid var(--rule); background: var(--paper-2); border-radius: 0; }
.rrp-iv .iv-follow b { color: var(--muted); font-family: var(--mono); font-size: 10.5px; }
.rrp-iv .iv-follow span { color: var(--ink-2); font-family: var(--paper-face); }
.rrp-iv .iv-follow.deep { border-left-color: var(--red); }
.rrp-iv .iv-follow.deep b { color: var(--red); }

/* 예시 대답 — 학생이 소리 내어 읽을 문장이라 종이 위에서 가장 잘 읽혀야 한다 */
.rrp-iv .iv-sample { background: var(--paper); border: 1px solid var(--ink); border-left: 4px solid var(--ink);
  border-radius: 4px; padding: 16px 19px; }
.rrp-iv .iv-sample > b { color: var(--ink); font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em; }
.rrp-iv .iv-sample > b i { color: var(--muted); font-family: var(--paper-face); font-size: 11px; }
.rrp-iv .iv-sample p { color: var(--ink); font-family: var(--paper-face); font-size: 14.5px; line-height: 2.0; }
.rrp-iv .iv-sample-tip { color: var(--muted); font-family: var(--mono); font-size: 10.5px; }

/* 외워 갈 것 */
.rrp-iv .iv-memo-row { background: var(--paper); border: 1px solid var(--rule); border-left: 3px solid var(--ink);
  border-radius: 4px; }
.rrp-iv .iv-memo-no { background: var(--ink); color: var(--paper); font-family: var(--mono); font-weight: 500; }
.rrp-iv .iv-memo-body b { color: var(--ink); font-family: var(--paper-face); }
.rrp-iv .iv-memo-num { background: var(--amber-bg); border: 1px solid var(--amber-line); color: var(--amber);
  border-radius: 3px; font-family: var(--paper-face); }
.rrp-iv .iv-memo-why { color: var(--muted); }

/* 마지막으로 하고 싶은 말 — 원고지 위에 손으로 적은 한 장처럼 */
.rrp-iv .iv-closing { background: var(--paper); border: 1px solid var(--ink); border-radius: 4px;
  padding: 22px 24px; color: var(--ink); font-family: var(--paper-face); font-size: 15px; line-height: 2.05; }
.rrp-iv .iv-closing-tip { color: var(--muted); }
.rrp-iv .iv-closing-tip b { color: var(--ink-2); }

/* 안내·자료 기준 */
.rrp-iv .iv-note, .rrp-iv .muted { color: var(--muted); }
.rrp-iv .rm-basis { background: var(--paper-2); border: 1px solid var(--rule); border-radius: 4px; }
.rrp-iv .rm-basis-row { border-color: var(--rule-soft); }
.rrp-iv .rm-basis-row b { color: var(--ink); font-family: var(--mono); font-size: 10.5px; letter-spacing: .04em; }
.rrp-iv .rm-basis-row span { color: var(--ink-2); }
.rrp-iv .banner.warn { background: var(--amber-bg); border: 1px solid var(--amber-line); color: var(--amber); }

/* 찾기 바 */
.rrp-iv .rm-findbar input { background: var(--paper); border: 1px solid var(--rule); color: var(--ink); }

@media print {
  .rrp-iv .iv-q, .rrp-iv .iv-memo-row, .rrp-iv .iv-closing, .rrp-iv .iv-sample { break-inside: avoid; }
}

/* ══════════════════════════════════════════════════════════════════════
   면접 연습(프롬프터) 화면 — 2026-09-07 원장님 지시
   ★ 학생이 **휴대폰으로 혼자** 하는 화면이다. 글자를 크게, 누를 것을 적게.
   ★ 화면 전체를 덮는다(fixed) — 연습 중에는 결과지가 보이면 답을 훔쳐보게 된다.
   ⚠ 학생 링크(shared.html)에서도 열리므로 여기 색은 **직접 칠한다**(바깥 토큰에 기대지 않는다).
   ══════════════════════════════════════════════════════════════════════ */
.iv-practice-bar {
  display: flex; align-items: center; gap: 13px; flex-wrap: wrap;
  background: #10213d; color: #dfe7f7; border-radius: 12px; padding: 14px 17px; margin: 0 0 14px;
}
.iv-practice-bar span { flex: 1 1 240px; font-size: 12.5px; line-height: 1.6; }
.iv-practice-bar span b { color: #eacb78; }
.iv-practice-go {
  flex: none; background: linear-gradient(135deg, #eacb78, #cfa54e); color: #1a2340;
  border: none; border-radius: 999px; padding: 11px 22px; font-size: 14.5px; font-weight: 900; cursor: pointer;
}
.iv-practice-go:hover { filter: brightness(1.05); }

.ivp-stage { position: fixed; inset: 0; z-index: 3000; background: #0a1220; display: grid; place-items: center; padding: 14px; }
.ivp-box {
  width: min(940px, 100%); max-height: 100%; background: #101d33; color: #eaf0fb;
  border-radius: 18px; display: flex; flex-direction: column; overflow: hidden;
  font-family: 'Noto Sans KR', system-ui, sans-serif;
}
.ivp-top { display: flex; align-items: center; gap: 12px; padding: 15px 20px; border-bottom: 1px solid #24365a; }
.ivp-top b { font-size: 15.5px; }
.ivp-top span { flex: 1; font-size: 13px; color: #93a7cc; }
.ivp-x { background: transparent; border: 1px solid #354b76; color: #a9bcdd; border-radius: 8px; padding: 6px 13px; font-size: 12.5px; cursor: pointer; }
.ivp-body { padding: 20px; overflow: auto; }
.ivp-foot { display: flex; gap: 10px; justify-content: flex-end; padding: 14px 20px; border-top: 1px solid #24365a; }
.ivp-go { background: linear-gradient(135deg, #eacb78, #cfa54e); color: #1a2340; border: none; border-radius: 10px;
  padding: 12px 24px; font-size: 15px; font-weight: 900; cursor: pointer; text-decoration: none; display: inline-block; }
.ivp-ghost { background: transparent; border: 1px solid #354b76; color: #a9bcdd; border-radius: 10px; padding: 12px 18px; font-size: 14px; cursor: pointer; }

/* ① 고르기 */
.ivp-set { margin-bottom: 20px; }
.ivp-set > b { display: block; font-size: 13.5px; margin-bottom: 9px; color: #cfe0ff; }
.ivp-pills { display: flex; flex-wrap: wrap; gap: 8px; }
.ivp-pills button { background: #182a49; border: 1px solid #2d4470; color: #c3d3ef; border-radius: 999px;
  padding: 9px 16px; font-size: 13.5px; cursor: pointer; }
.ivp-pills button i { font-style: normal; color: #7d93bd; font-size: 12px; margin-left: 4px; }
.ivp-pills button.on { background: #eacb78; border-color: #eacb78; color: #1a2340; font-weight: 800; }
.ivp-pills button.on i { color: #6b5a2a; }
.ivp-chk { display: flex; align-items: center; gap: 9px; font-size: 14px; margin-bottom: 10px; cursor: pointer; }
.ivp-chk i { font-style: normal; font-size: 12px; color: #8ba1c8; }
.ivp-chk input { width: 17px; height: 17px; }
.ivp-note { font-size: 12.5px; color: #8ba1c8; line-height: 1.7; border-top: 1px solid #24365a; padding-top: 14px; }

/* ② 진행 */
.ivp-run { display: grid; grid-template-columns: 320px 1fr; gap: 18px; padding: 20px; overflow: auto; }
/* 카메라를 안 켜면 한 칸 — 안 그러면 질문이 320px 칸에 갇힌다 (2026-09-07 실측) */
.ivp-run.nocam { grid-template-columns: 1fr; }
.ivp-cam { position: relative; background: #000; border-radius: 14px; overflow: hidden; aspect-ratio: 3 / 4; }
.ivp-cam video { width: 100%; height: 100%; object-fit: cover; transform: scaleX(-1); }
.ivp-camoff { display: grid; place-items: center; height: 100%; padding: 18px; text-align: center; font-size: 12.5px; color: #8ba1c8; }
.ivp-recdot { position: absolute; top: 10px; left: 10px; background: #c0392b; color: #fff; font-size: 11.5px;
  font-weight: 800; padding: 4px 10px; border-radius: 999px; }
.ivp-qbox { min-width: 0; }
.ivp-risk { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; }
.ivp-tag { font-size: 11.5px; font-weight: 900; padding: 4px 11px; border-radius: 999px; }
.ivp-tag.hi { background: #4a1d24; color: #ffb3bd; }
.ivp-tag.mid { background: #4a3c19; color: #ffdb8f; }
.ivp-tag.low { background: #22314f; color: #9fb3d6; }
.ivp-kind { font-size: 12px; color: #8ba1c8; }
.ivp-q { font-size: 26px; line-height: 1.5; font-weight: 800; letter-spacing: -.03em; margin: 0 0 20px; color: #fff; }
.ivp-timer { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.ivp-bar { flex: 1; height: 8px; background: #22314f; border-radius: 999px; overflow: hidden; }
.ivp-bar i { display: block; height: 100%; background: linear-gradient(90deg, #eacb78, #cfa54e); transition: width 1s linear; }
.ivp-timer b { font-size: 22px; font-variant-numeric: tabular-nums; color: #eacb78; min-width: 40px; text-align: right; }
.ivp-timer b.end { color: #ff8b98; }

/* 답 */
.ivp-ans { display: grid; gap: 12px; }
.ivp-sample { background: #162a49; border: 1px solid #2d4470; border-left: 4px solid #eacb78; border-radius: 12px; padding: 16px 18px; }
.ivp-sample b { display: block; font-size: 12px; font-weight: 900; color: #eacb78; margin-bottom: 8px; }
.ivp-sample p { margin: 0; font-size: 15px; line-height: 1.95; color: #eaf0fb; }
.ivp-points { background: #16233d; border-radius: 12px; padding: 14px 17px; }
.ivp-points b { display: block; font-size: 12px; font-weight: 900; color: #9fb3d6; margin-bottom: 7px; }
.ivp-points ol, .ivp-points ul { margin: 0; padding-left: 18px; }
.ivp-points li { font-size: 13.5px; line-height: 1.7; color: #c3d3ef; margin-bottom: 4px; }
.ivp-follow { font-size: 13px; color: #a9bcdd; border-left: 3px solid #354b76; padding-left: 12px; line-height: 1.6; }
.ivp-follow b { color: #cfe0ff; }
.ivp-follow.deep { border-left-color: #b34a59; }
.ivp-follow.deep b { color: #ff9aa6; }

/* ⚠ 형광펜(.key-line)은 **밝은 종이 기준**이라 어두운 연습 화면에서는 글자가 배경에 묻힌다
   (2026-09-07 실측 — 「꼭 넣을 것」 줄이 파란 덩어리로만 보였다). 이 화면 안에서만 다시 칠한다. */
.ivp-stage .key-line {
  background: rgba(234, 203, 120, .18) !important;
  border-bottom: 2px solid rgba(234, 203, 120, .75) !important;
  color: #ffe6ac !important;
  padding: 0 2px; border-radius: 2px; font-weight: 800;
}

/* ③ 마무리 */
.ivp-done { text-align: center; padding: 26px 10px; display: grid; gap: 14px; justify-items: center; }
.ivp-done b { font-size: 21px; }
.ivp-done span { font-size: 13.5px; color: #a9bcdd; line-height: 1.7; max-width: 460px; }
.ivp-done .ivp-small { font-size: 12px; color: #8ba1c8; }

@media (max-width: 760px) {
  .ivp-stage { padding: 0; }
  .ivp-box { border-radius: 0; height: 100%; }
  .ivp-run { grid-template-columns: 1fr; gap: 14px; padding: 14px; }
  .ivp-cam { aspect-ratio: 4 / 3; max-height: 32vh; }
  .ivp-q { font-size: 21px; }
  .ivp-foot { padding: 12px 14px; }
  .ivp-go, .ivp-ghost { flex: 1; text-align: center; }
}
@media print { .iv-practice-bar, .ivp-stage { display: none !important; } }

/* ══════════════════════════════════════════════════════════════════════
   ★★ 01절 「이 자료를 쓰는 법」 · 02절 「이 대학이 보는 것」 (2026-09-09 원장님 지시)

   > "그 근거를 면접지 초반에 학교에서 이 학과에서 어떤 점을 강조하고 이런 거에 대한
   >  직접적인 근거를 제시해서 학생들이 납득할 수 있는 설명이 있으면 좋겠고
   >  이 면접지를 사용하는 사용방법에 대해서 설명이 필요해"

   ⚠ 종이(.rrp) 위이므로 색을 직접 칠한다 — 바깥 토큰(--text·--card)을 쓰지 않는다.
   ══════════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════════
   ★★ 활동의 질 · 개수 해명 (2026-09-09 원장님)

   > "세특에서 하는 활동의 질도 **다른 학생에 비해 높은지 아닌지**도 적어주면 너무 좋겠어"
   > "모든 학생이 잘된 게 20개 안된 게 10개 이렇지는 않잖아?"

   ⛔ 「상위 몇 %」를 쓰지 않는다 — 다른 학생 생기부가 우리에게 없다.
     **눈에 보이는 특징**(직접 해 봤나 · 수치가 있나 · 이어졌나)으로만 가른다.
   ══════════════════════════════════════════════════════════════════════ */

/* ⛔ 등급 배지(.rrp-lv / .rrp-lvsum / .rrp-lvwhy)는 **걷어냈다** (2026-09-09 원장님:
   "당연히 이 활동이 좋다 안 좋다를 평가하라는 건 아니야. 평가가 애매하니까 뺄까?").
   견줄 표본이 없는데 매긴 등급은 증명할 수 없는 평가다. **다시 만들지 말 것.**
   그 자리에 남은 것은 아래 `.rrp-obs` — 「원문에서 읽히는 것」이라는 **사실 서술**뿐이다. */

/* 원문에서 읽히는 것 — 인용 아래 한 줄 (평가가 아니라 관찰) */
.rrp-obs {
  margin: 6px 0 0; padding-left: 11px;
  border-left: 2px solid var(--rule-soft);
  font-size: 12.5px; line-height: 1.7; color: var(--muted);
}

/* 활동의 질 절 — 근거 목록 */
.rrp-qbasis { list-style: none; margin: 14px 0 0; padding: 0; display: grid; gap: 8px; }
.rrp-qbasis li {
  position: relative; padding: 10px 14px 10px 30px;
  background: var(--paper-2); border-left: 3px solid var(--green); border-radius: 0 4px 4px 0;
  font-size: 14px; line-height: 1.8; color: var(--ink-2);
}
.rrp-qbasis li::before {
  content: '✓'; position: absolute; left: 11px; top: 10px;
  color: var(--green); font-weight: 700; font-size: 13px;
}

/* 왜 이 개수인가 */
.rrp-cnt {
  margin-top: 16px; padding: 13px 16px;
  background: var(--paper-2); border-left: 3px solid var(--rule); border-radius: 0 4px 4px 0;
  font-size: 13.5px; line-height: 1.8; color: var(--ink-2);
}
.rrp-cnt > b {
  display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  color: var(--muted); margin-bottom: 5px;
}

@media print {
  .rrp-qbasis li, .rrp-cnt { break-inside: avoid; }
}

/* ══ 절과 절 사이 (2026-09-09 원장님: "1번 내용 다음 2번 내용 넘어갈 때 너무 붙어 있어서
      1번 내용 끝나고 2번 내용 나오는 사이의 간격이 좀 있으면 좋겠어") ══

   `.rrp-sec` 은 **위쪽 여백이 0**이었다(`margin: 0 0 18px`). 판독지는 절마다 `.rrp-card` 로
   싸여 카드 여백이 대신해 줬는데, **면접지는 카드 없이 절만 이어 붙는다** — 그래서 앞 절의
   마지막 문장에 다음 절 제목이 그대로 달라붙었다.
   ⚠ `.rrp-sec` 을 통째로 고치면 판독지 간격까지 바뀐다 — `.rrp-iv` 안에서만 손댄다. */
.rrp-iv .rrp-sec {
  margin-top: 44px;
  padding-top: 30px;
  border-top: 1px solid var(--rule-soft);   /* 어디서 끊기는지 눈에 보이게 */
  /* 제목이 두 줄로 넘어가도 번호·영문 라벨이 어긋나지 않게 (긴 대학 이름) */
  align-items: flex-start;
  flex-wrap: wrap;
}
.rrp-iv .rrp-sec .rrp-sec-no { margin-top: 3px; }
.rrp-iv .rrp-sec .rrp-sec-title { line-height: 1.35; }
.rrp-iv .rrp-sec .rrp-sec-en { margin-top: 7px; }
/* 첫 절은 맨 위 강조 띠 바로 아래다 — 거기까지 벌리면 허전하다 */
.rrp-iv .iv-top-note + .rrp-sec,
.rrp-iv > .rrp-sec:first-child { margin-top: 6px; padding-top: 0; border-top: 0; }

/* 좁은 화면에서는 영문 장식 라벨을 감춘다 — 긴 것(WHAT THIS UNIVERSITY LOOKS FOR)이
   제목을 밀어 「이화여자대학교가 / 보는 것」처럼 어색하게 꺾였다 (2026-09-09 원장님 지적) */
@media (max-width: 820px) {
  .rrp-iv .rrp-sec .rrp-sec-en { display: none; }
  .rrp-iv .rrp-sec { margin-top: 36px; padding-top: 24px; }
}
@media print {
  .rrp-iv .rrp-sec { break-after: avoid; }
}

/* ── 맨 위 강조 — 이 자료가 무엇인지 먼저 못박는다 (2026-09-09 원장님 지시) ──
   ⚠ 학생이 50문항을 「나올 문제」로 오해하면 없는 질문이 나왔을 때 그 자리에서 무너진다.
     그래서 01절보다도 위에 두고, 종이 위에서 **가장 먼저 눈에 들어오게** 칠한다. */
.rrp-iv .iv-top-note {
  margin: 0 0 22px; padding: 20px 24px;
  background: var(--amber-bg); border: 1.5px solid var(--amber-line);
  border-left: 5px solid var(--amber); border-radius: 4px;
}
.rrp-iv .iv-top-note > b {
  display: block; font-family: var(--display); font-weight: 700;
  font-size: 20px; line-height: 1.45; color: var(--amber); margin-bottom: 10px;
}
.rrp-iv .iv-top-note p { margin: 0; font-size: 14.5px; line-height: 1.9; color: var(--ink-2); }
.rrp-iv .iv-top-note p + p { margin-top: 9px; }
.rrp-iv .iv-top-note em {
  font-style: normal; font-weight: 700; color: var(--ink);
  background: rgba(234, 203, 120, .35); padding: 0 3px; border-radius: 2px;
}
.rrp-iv .iv-top-note .iv-top-sub { padding-top: 9px; border-top: 1px solid var(--amber-line); font-size: 13.5px; }
.rrp-iv .iv-top-note .iv-top-sub b { color: var(--ink); }

/* ⛔ 「내용이 추가되었습니다」 업데이트 띠는 없앴다 (2026-09-16 원장님:
     "누가봐도 AI가 채운것같잖아 그냥 삭제해버려"). 결과지에 우리가 언제 무엇을 고쳤는지 적지 않는다.
     되살리지 말 것 — 뼈대(result-render.js)에서도 그리지 않는다. */

/* ── 「반드시 나옵니다 — 가장 먼저 준비하세요」 (2026-09-13 원장님) ──
   자기소개·지원동기·왜 우리 대학. 면접의 첫 3분이라 **먹색 꽉 찬 머리**로 가장 먼저 눈에 들게 한다.
   ⚠ 아래 「이것부터 준비하세요」는 흰 바탕 + 먹 테두리다 — 두 칸이 나란히 오므로 모양을 다르게 둘 것. */
.rrp-iv .iv-basic { margin: 0 0 22px; border: 2px solid var(--ink); border-radius: 4px; overflow: hidden; background: var(--paper); }
.rrp-iv .iv-basic-h { padding: 14px 20px; background: var(--ink); color: #fff; }
.rrp-iv .iv-basic-h > b { display: block; font-family: var(--display); font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
.rrp-iv .iv-basic-h > span { display: block; margin-top: 4px; font-size: 13px; line-height: 1.7; color: #d7dbe2; }
.rrp-iv .iv-basic .iv-q { margin: 0; padding: 16px 20px; border-top: 1px solid var(--rule-soft); }
.rrp-iv .iv-basic .iv-q:first-of-type { border-top: none; }

/* ── 「이것부터 준비하세요」 — 위험도 높음만 추려 질문 절 맨 앞에 (2026-09-09 원장님 승인) ──
   42문항을 처음부터 훑지 않게. 시간이 없으면 이것만이라도 잡게. 번호를 누르면 그 질문으로 간다. */
.rrp-iv .iv-first {
  margin: 0 0 22px; padding: 18px 20px 14px;
  background: var(--paper); border: 1.5px solid var(--ink); border-radius: 4px;
}
.rrp-iv .iv-first-h { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.rrp-iv .iv-first-h > b { font-family: var(--display); font-size: 19px; font-weight: 700; color: var(--ink); }
.rrp-iv .iv-first-h > span { font-size: 13px; line-height: 1.7; color: var(--ink-2); }
.rrp-iv .iv-first-list { list-style: none; margin: 0; padding: 0; }
.rrp-iv .iv-first-list li {
  display: flex; align-items: baseline; gap: 10px;
  padding: 8px 0; border-top: 1px solid var(--rule-soft);
}
.rrp-iv .iv-first-list li:first-child { border-top: none; }
.rrp-iv .iv-first-list a { display: flex; align-items: baseline; gap: 10px; flex: 1 1 auto; min-width: 0;
  color: var(--ink); text-decoration: none; }
.rrp-iv .iv-first-list a:hover .iv-first-q { text-decoration: underline; }
.rrp-iv .iv-first-no { flex: none; font-family: var(--mono); font-size: 11.5px; font-weight: 500;
  color: var(--paper); background: #9E3B45; padding: 1px 7px; border-radius: 3px; }
.rrp-iv .iv-first-q { font-size: 14px; line-height: 1.7; }
.rrp-iv .iv-first-list li > i { flex: none; font-style: normal; font-family: var(--mono); font-size: 10.5px;
  color: var(--muted); letter-spacing: .04em; }
@media (max-width: 760px) {
  .rrp-iv .iv-first-list li { flex-wrap: wrap; }
  .rrp-iv .iv-first-list li > i { flex-basis: 100%; padding-left: 44px; }
}
@media print { .rrp-iv .iv-first { break-inside: avoid; } }

/* 생기부 밖 갈래 — 성격이 다르다는 것을 그 자리에서 알린다 */
.rrp-iv .iv-group.outside .iv-group-h::before { background: var(--amber); }
.rrp-iv .iv-group-note {
  margin: -4px 0 12px; padding: 10px 14px;
  background: var(--amber-bg); border-left: 3px solid var(--amber-line); border-radius: 0 4px 4px 0;
  font-size: 13px; line-height: 1.8; color: var(--ink-2);
}
.rrp-iv .iv-group-note b { color: var(--amber); font-weight: 700; }

/* ── 쓰는 법 ── */
.rrp-iv .iv-how { margin-top: 14px; }
.rrp-iv .iv-how-lead { font-size: 14.5px; line-height: 1.85; color: var(--ink-2); margin-bottom: 16px; }
.rrp-iv .iv-how-lead b { color: var(--ink); font-weight: 700; }

.rrp-iv .iv-how-steps { list-style: none; margin: 0; padding: 0; counter-reset: ivhow;
  display: grid; gap: 0; border: 1px solid var(--rule); border-radius: 4px; background: var(--paper); overflow: hidden; }
.rrp-iv .iv-how-steps > li { counter-increment: ivhow; position: relative;
  padding: 14px 18px 14px 54px; border-top: 1px solid var(--rule-soft); }
.rrp-iv .iv-how-steps > li:first-child { border-top: none; }
.rrp-iv .iv-how-steps > li::before { content: counter(ivhow); position: absolute; left: 16px; top: 14px;
  width: 24px; height: 24px; border-radius: 50%; background: var(--ink); color: var(--paper);
  font-family: var(--mono); font-size: 12px; font-weight: 500; display: grid; place-items: center; }
.rrp-iv .iv-how-steps > li > b { display: block; font-size: 15px; font-weight: 700; color: var(--ink); line-height: 1.55; }
.rrp-iv .iv-how-steps > li > span { display: block; margin-top: 5px; font-size: 13.5px; line-height: 1.8; color: var(--ink-2); }
.rrp-iv .iv-how-steps > li > span b { color: var(--ink); font-weight: 700; }

/* 위험도 안내 */
.rrp-iv .iv-how-order { margin-top: 14px; padding: 14px 18px; background: var(--paper-2);
  border-left: 3px solid var(--ink); border-radius: 0 4px 4px 0; }
.rrp-iv .iv-how-order > b { display: block; font-family: var(--mono); font-size: 11px; letter-spacing: .1em;
  color: var(--muted); margin-bottom: 7px; }
.rrp-iv .iv-how-order > span { font-size: 13.5px; line-height: 1.9; color: var(--ink-2); }
.rrp-iv .iv-how-order > span b { color: var(--ink); font-weight: 700; }
/* 실전 온라인 시험 안내 (2026-09-11) — 연습(무료)과 실전(유료)을 학생이 헷갈리지 않게.
   ⚠ 2판: 원장님 "박스를 보면 눈에 잘 안 띄니까 눈에 띄는 색으로" → 먹색 머리 + 금색 테두리로 띄웠다.
   종이 톤(리서치 리포트)을 깨지 않으면서 이 한 칸만 도드라지게 하는 게 목적이다. */
.rrp-iv .iv-how-live { margin-top: 20px; border: 2px solid var(--amber); border-radius: 8px; overflow: hidden;
  background: var(--paper); box-shadow: 0 2px 0 var(--amber-line), 0 10px 26px -18px rgba(28,39,51,.5); }
.rrp-iv .iv-how-live > b { display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 14px 20px; background: var(--ink); color: #fff;
  font-family: var(--display); font-size: 19px; font-weight: 700; letter-spacing: -.01em; }
.rrp-iv .iv-how-live > b em { font-style: normal; font-family: var(--mono); font-size: 11px; letter-spacing: .08em;
  padding: 3px 10px; border-radius: 999px; background: var(--amber); border: 0; color: #fff; font-weight: 700; }
.rrp-iv .iv-how-live > p { margin: 0; padding: 15px 20px; font-size: 14px; line-height: 1.9; color: var(--ink-2);
  background: var(--amber-bg); border-bottom: 1px solid var(--amber-line); }
.rrp-iv .iv-how-live > p b { color: var(--ink); font-weight: 700; }
.rrp-iv .iv-live-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--amber-line); }
.rrp-iv .iv-live-grid > div { background: var(--paper); padding: 14px 20px; }
.rrp-iv .iv-live-grid > div > b { display: block; font-size: 13.5px; font-weight: 700; color: var(--amber); margin-bottom: 6px; }
.rrp-iv .iv-live-grid > div > span { display: block; font-size: 13px; line-height: 1.85; color: var(--ink-2); }
.rrp-iv .iv-live-grid > div > span b { color: var(--ink); font-weight: 700; }
/* 비용 — 이 줄이 가장 먼저 보여야 한다 */
.rrp-iv .iv-live-cost { padding: 14px 20px; background: var(--red); color: #fff;
  font-size: 14px; line-height: 1.85; font-weight: 500; }
.rrp-iv .iv-live-cost b { color: #fff; font-weight: 800; }
.rrp-iv .iv-live-cost > b:first-child { display: inline-block; margin-right: 9px; font-family: var(--mono);
  font-size: 11.5px; letter-spacing: .08em; font-weight: 700; padding: 2px 9px; border-radius: 999px;
  background: rgba(255,255,255,.22); }
@media (max-width: 640px) {
  .rrp-iv .iv-live-grid { grid-template-columns: 1fr; }
  .rrp-iv .iv-how-live > b { font-size: 17px; padding: 12px 15px; }
  .rrp-iv .iv-how-live > p, .rrp-iv .iv-live-grid > div, .rrp-iv .iv-live-cost { padding-left: 15px; padding-right: 15px; }
}

/* 판독 결과가 응시 현황 줄 아래에 바로 펼쳐진다 (2026-09-11) */
.mock-coach { margin: 6px 0 14px; }
.mock-coach .mock-coach-msg { margin: 8px 0; }

/* 설명문 안의 위험도 표식 — 실제 배지와 같은 색이라야 알아본다 */
.rrp-iv .iv-how em.iv-risk { font-style: normal; display: inline-block; font-size: 11.5px; font-weight: 700;
  padding: 1px 7px; border-radius: 3px; vertical-align: 1px; }
.rrp-iv .iv-how em.iv-risk.high { background: var(--red-bg); color: #9E3B45; border: 1px solid #E6C4C8; }
.rrp-iv .iv-how em.iv-risk.mid  { background: var(--amber-bg); color: var(--amber); border: 1px solid var(--amber-line); }
.rrp-iv .iv-how em.iv-risk.low  { background: var(--paper-2); color: var(--muted); border: 1px solid var(--rule); }

.rrp-iv .iv-how-warn { margin-top: 14px; padding: 14px 18px; background: var(--red-bg);
  border: 1px solid #E6C4C8; border-radius: 4px; }
.rrp-iv .iv-how-warn > b { display: block; font-size: 14px; font-weight: 700; color: #9E3B45; margin-bottom: 8px; }
.rrp-iv .iv-how-warn ul { list-style: none; margin: 0; padding: 0; }
.rrp-iv .iv-how-warn li { position: relative; padding-left: 15px; font-size: 13.5px; line-height: 1.85;
  color: var(--ink-2); margin-bottom: 5px; }
.rrp-iv .iv-how-warn li:last-child { margin-bottom: 0; }
.rrp-iv .iv-how-warn li::before { content: '·'; position: absolute; left: 3px; color: #9E3B45; font-weight: 900; }
.rrp-iv .iv-how-warn li b { color: var(--ink); font-weight: 700; }

/* 전형방법·수능최저 — 근거와 함께 */
.rrp-iv .iv-how-fact { margin-top: 16px; border: 1px solid var(--rule); border-radius: 4px;
  background: var(--paper); overflow: hidden; }
.rrp-iv .iv-fact-row { display: grid; grid-template-columns: minmax(78px, 96px) 1fr; gap: 14px;
  padding: 13px 17px; border-top: 1px solid var(--rule-soft); align-items: start; }
.rrp-iv .iv-fact-row:first-child { border-top: none; }
.rrp-iv .iv-fact-row > b { font-family: var(--mono); font-size: 11px; letter-spacing: .06em;
  color: var(--muted); padding-top: 2px; min-width: 0; }
.rrp-iv .iv-fact-row > div { min-width: 0; }
.rrp-iv .iv-fact-main { display: block; font-size: 14px; line-height: 1.75; color: var(--ink); font-weight: 700; }
.rrp-iv .iv-fact-main.muted { color: var(--muted); font-weight: 500; }
.rrp-iv .iv-fact-src { display: block; margin-top: 3px; font-family: var(--mono); font-size: 10.5px;
  letter-spacing: .04em; color: var(--muted); }
.rrp-iv .iv-fact-quote { margin-top: 8px; padding: 9px 12px; background: var(--paper-2);
  border-left: 2px solid var(--rule); font-size: 12.5px; line-height: 1.75; color: var(--ink-2);
  font-family: var(--paper-face); }
/* 전형방법 단계별 줄 · 「중요 — 직접 확인」 (2026-09-11 원장님) */
.rrp-iv .iv-fact-line { display: block; }
.rrp-iv .iv-fact-line + .iv-fact-line { margin-top: 3px; padding-top: 3px; border-top: 1px dashed var(--rule-soft); }
.rrp-iv .iv-fact-warn { margin-top: 9px; padding: 8px 11px; border: 1px solid var(--red); border-left-width: 4px;
  border-radius: 3px; background: var(--red-bg); font-size: 12.5px; line-height: 1.7; color: var(--ink); }
.rrp-iv .iv-fact-warn > b { display: inline-block; margin-right: 7px; font-family: var(--mono); font-size: 11px;
  letter-spacing: .06em; color: var(--red); font-weight: 700; }
.rrp-iv .iv-fact-warn b { color: var(--red); }

/* ── 이 대학이 보는 것 ── */
.rrp-iv .iv-lens { display: grid; gap: 0; border: 1px solid var(--rule); border-radius: 4px;
  background: var(--paper); overflow: hidden; margin-top: 12px; }
.rrp-iv .iv-lens-row { display: grid; grid-template-columns: 32px 1fr; gap: 14px;
  padding: 16px 18px; border-top: 1px solid var(--rule-soft); align-items: start; }
.rrp-iv .iv-lens-row:first-child { border-top: none; }
.rrp-iv .iv-lens-no { width: 26px; height: 26px; border-radius: 50%; background: var(--green-bg);
  color: var(--green); border: 1px solid #BBDDD2; font-family: var(--mono); font-size: 12px; font-weight: 500;
  display: grid; place-items: center; }
.rrp-iv .iv-lens-body { min-width: 0; }
.rrp-iv .iv-lens-body > b { display: block; font-size: 15.5px; font-weight: 700; color: var(--ink); line-height: 1.6; }
/* ★ 요강 원문이 주인공이다 — 판독지 인용과 같은 옷(읽는 서체·큰 글씨) */
.rrp-iv .iv-lens-quote { margin-top: 9px; padding: 12px 15px; background: var(--paper-2);
  border-left: 3px solid var(--green); border-radius: 0 4px 4px 0;
  font-family: var(--paper-face); font-size: 14.5px; line-height: 1.9; color: var(--ink); }
.rrp-iv .iv-lens-quote > span { display: block; margin-top: 6px; font-family: var(--mono); font-size: 10.5px;
  letter-spacing: .08em; color: var(--muted); }
.rrp-iv .iv-lens-so { margin-top: 9px; font-size: 13.5px; line-height: 1.85; color: var(--ink-2); }

@media (max-width: 760px) {
  .rrp-iv .iv-how-steps > li { padding: 13px 14px 13px 46px; }
  .rrp-iv .iv-how-steps > li::before { left: 12px; }
  .rrp-iv .iv-fact-row { grid-template-columns: 1fr; gap: 5px; }
  .rrp-iv .iv-lens-row { grid-template-columns: 26px 1fr; gap: 11px; padding: 14px; }
}
@media print {
  .rrp-iv .iv-how-steps > li,
  .rrp-iv .iv-lens-row,
  .rrp-iv .iv-fact-row,
  .rrp-iv .iv-how-warn { break-inside: avoid; }
}

/* ★ 수행 판독지 (2026-09-10) — 첨삭 밑줄 E · 고친 문장 상자 · 학생 생각/확인 목록 */
.rrp .rr-mark.edit { border-color: var(--amber); background: var(--amber-bg); }
.rrp .rr-mark.edit sup { color: var(--amber); }
.rrp-fix.edit { border-left-color: var(--amber); }
.rrp-fix.edit .rrp-fix-k b { color: var(--amber); }
.rrp-ed-where { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
.rrp-ed-sug { margin-top: 8px; padding: 10px 12px; background: var(--amber-bg); border: 1px solid var(--amber-line); border-radius: 6px; }
.rrp-ed-sug b { display: block; font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: .08em; color: var(--amber); margin-bottom: 4px; }
.rrp-ed-sug p { margin: 0; font-family: 'Noto Serif KR', serif; font-size: 14.5px; line-height: 1.8; color: var(--ink); }
.rrp-leg.e i { color: var(--amber); }
.rrp-op li .rrp-quo, .rrp-chk li .rrp-quo { margin-bottom: 4px; }
.rrp-op li .rrp-why, .rrp-chk li .rrp-why { margin: 0; }

/* ★ 첨삭 표기 — 달라진 부분만 취소선 + 그 위에 고친 말 (2026-09-10 원장님) */
.rrp .rr-mark.edit { background: transparent; border-bottom-color: var(--amber); }
.rrp .rr-fixwrap { display: inline-flex; flex-direction: column; align-items: flex-start; vertical-align: bottom; line-height: 1.35; margin: 0 2px; }
.rrp .rr-fixtxt { font-size: 12.5px; color: var(--red); background: var(--red-bg); border: 1px solid var(--red); border-radius: 4px; padding: 0 6px; white-space: normal; max-width: 42em; }
.rrp .rr-fixwrap s { text-decoration: line-through; text-decoration-color: var(--red); text-decoration-thickness: 1.5px; color: var(--ink-2); }
@media print { .rrp .rr-fixtxt { border-color: var(--red); } }
.rrp .rr-fixwrap.ins::before { content: '＋'; font-size: 11px; color: var(--red); }


/* ★ 판독지 「핵심 요약」 절 — 수시 결과지 ①절과 같은 꼴을 원고지 옷으로 (2026-09-15 원장님) */
.rrp-core-diag { background: var(--paper-2); border-left: 3px solid var(--ink); color: var(--ink);
  font-family: var(--paper-face); font-size: 16.5px; font-weight: 600; line-height: 1.7; padding: 14px 18px; margin: 0 0 14px; }
.rrp-core-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.rrp-core-box { background: var(--paper); border: 1px solid var(--rule); border-radius: 4px; padding: 14px 16px 12px; min-width: 0; }
.rrp-core-box.good { border-left: 3px solid var(--green); }
.rrp-core-box.warn { border-left: 3px solid var(--red); }
.rrp-core-box b { display: block; color: var(--ink); font-family: var(--display); font-size: 15px; margin-bottom: 8px; }
.rrp-core-box.good b { color: var(--green); }
.rrp-core-box.warn b { color: var(--red); }
.rrp-core-box ul { margin: 0; padding-left: 18px; }
.rrp-core-box li { color: var(--ink-2); font-family: var(--paper-face); font-size: 14.5px; line-height: 1.75; margin: 4px 0; }
@media (max-width: 720px) { .rrp-core-grid { grid-template-columns: 1fr; } }
@media print { .rrp-core-grid, .rrp-core-box { break-inside: avoid; } }


/* ══════════════════════════════════════════════════════════════
   인문논술 첨삭 결과지 (2026-09-26) — 판독지 옷 위에 이 결과지만의 부품.
   .rrp 안에서는 바깥 토큰을 쓰지 않는다(원장님 화면은 어두운 테마) — 색을 직접 칠한다.
   ══════════════════════════════════════════════════════════════ */
.rrp-ns .rrp-ns-h { font-family: var(--mono); font-size: 11px; letter-spacing: .12em; color: var(--muted); text-transform: uppercase; margin: 14px 0 8px; }
.rrp-ns .rrp-ns-reqs { margin-top: 18px; }
.rrp-ns .rrp-ns-req { display: grid; grid-template-columns: 58px 1fr; gap: 12px; padding: 11px 0; border-top: 1px solid var(--rule-soft); }
.rrp-ns .rrp-ns-req > * { min-width: 0; }
.rrp-ns .rrp-ns-req b { font-size: 14px; color: var(--ink); }
.rrp-ns .rrp-ns-cmt { font-size: 13.5px; color: var(--ink-2); margin-top: 3px; line-height: 1.7; }
.rrp-ns .rrp-ns-badge { display: inline-grid; place-items: center; height: 26px; padding: 0 8px; border-radius: 3px; font-family: var(--mono); font-size: 11.5px; font-weight: 500; border: 1px solid var(--rule); color: var(--ink-2); background: var(--paper-2); }
.rrp-ns .rrp-ns-badge.ok { color: var(--green); border-color: var(--green); background: var(--green-bg); }
.rrp-ns .rrp-ns-badge.part { color: var(--amber); border-color: var(--amber); background: var(--amber-bg); }
.rrp-ns .rrp-ns-badge.no { color: var(--red); border-color: var(--red); background: var(--red-bg); }
.rrp-ns .rrp-ns-prompt { font-family: var(--paper-face); font-size: 15.5px; line-height: 1.95; padding: 14px 16px; border: 1px solid var(--rule); background: var(--paper); border-radius: 4px; color: var(--ink); }
.rrp-ns .rrp-ns-prompt .rrp-ns-h { margin: 0 0 6px; }
.rrp-ns .rrp-ns-rule { font-family: var(--mono); font-size: 11.5px; color: var(--muted); margin-top: 8px; }
.rrp-ns details.rrp-ns-passage { border: 1px solid var(--rule-soft); border-radius: 4px; margin: 6px 0; background: var(--paper); }
.rrp-ns details.rrp-ns-passage summary { cursor: pointer; padding: 9px 14px; font-family: var(--paper-face); color: var(--ink); }
.rrp-ns details.rrp-ns-passage summary i { font-style: normal; font-weight: 400; color: var(--muted); font-size: 12px; margin-left: 6px; }
.rrp-ns .rrp-ns-ptext { font-family: var(--paper-face); font-size: 14.5px; line-height: 1.95; padding: 0 16px 14px; color: var(--ink); }
.rrp-ns .rrp-ns-works { margin-top: 10px; font-size: 13px; }
.rrp-ns .rrp-ns-works a { color: var(--blue); }
.rrp-ns .rrp-ns-rub .rrp-scitem { grid-template-columns: 52px 1fr; }
.rrp-ns .rrp-ns-rub .rrp-sccell { width: 52px; height: 46px; font-size: 18px; }
.rrp-ns .rrp-ns-struct { display: grid; gap: 8px; }
.rrp-ns .rrp-ns-srow { display: grid; grid-template-columns: 82px 1fr; gap: 12px; padding: 10px 12px; border: 1px solid var(--rule-soft); border-radius: 4px; background: var(--paper); font-size: 13.5px; color: var(--ink-2); }
.rrp-ns .rrp-ns-srow > * { min-width: 0; }
.rrp-ns .rrp-ns-srow b { font-family: var(--mono); font-size: 12px; color: var(--ink); }
.rrp-ns .rrp-ns-issue { color: var(--red); margin-top: 3px; }
.rrp-ns .rrp-why { font-size: 13.5px; color: var(--ink-2); line-height: 1.7; margin-top: 4px; }
.rrp-ns .rrp-ed-where s { color: var(--red); text-decoration-thickness: 2px; font-family: var(--paper-face); }
.rrp-ns .rrp-notice { background: var(--amber-bg); border: 1px solid #ecd9a8; color: var(--amber); padding: 10px 12px; border-radius: 4px; font-size: 13px; margin-bottom: 10px; }
.rrp-ns .rrp-foot { font-size: 12px; color: var(--muted); line-height: 1.7; padding: 10px 2px 0; }
.rrp-ns .rrp-keychecks { margin: 0; padding-left: 22px; display: grid; gap: 8px; }
.rrp-ns .rrp-kc-t { font-size: 14px; color: var(--ink); line-height: 1.7; }
.rrp-ns .rrp-miss { margin: 0; padding-left: 22px; display: grid; gap: 10px; }
.rrp-ns .rrp-miss b { font-size: 14px; color: var(--ink); }
@media (max-width: 640px) {
  .rrp-ns .rrp-ns-req { grid-template-columns: 1fr; gap: 6px; }
  .rrp-ns .rrp-ns-srow { grid-template-columns: 1fr; gap: 4px; }
}
@media print {
  .rrp-ns details.rrp-ns-passage { break-inside: avoid; }
  .rrp-ns details.rrp-ns-passage[open] summary { list-style: none; }
}
