/* 엔딩 블록(그때 그 선택 · 장래일보 스크랩 · 한 줄 도전)과 탭 묶음. js/endhooks.js, js/fork.js, js/scrap.js, js/challenge.js */
.end-blk { margin: 14px 0; padding: 14px 16px; border: 2px solid var(--ink); border-radius: 16px; background: var(--bg); }
.end-blk .eb-h { margin: 0 0 10px; font: var(--hw) 17px var(--head); display: flex; align-items: baseline; gap: 8px; }
.end-blk .eb-h small { font: 800 12.5px var(--body); }

.fork-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.fork-list li { padding: 10px 12px; border-radius: 12px; background: var(--card); border: 1px solid var(--line); min-width: 0; }
.fork-list small { display: block; font-size: 11.5px; font-weight: 800; }
.fork-list b { display: block; font: var(--hw) 15px var(--head); margin: 1px 0 4px; }
.fork-list .fk-pick { margin: 0; font-size: 13.5px; }
.fork-list .fk-pick::before { content: '✓ '; color: var(--good); font-weight: 800; }
.fork-list .fk-alt { margin: 4px 0 0; font-size: 13px; color: var(--muted); font-style: italic; }

/* 신문 조각: 종이색은 부고 기사(.paper-obit)와 같게, 밝게·어둡게 모두 같은 종이 */
.scrap-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 8px; }
.scrap-strip { display: grid; grid-template-columns: repeat(auto-fill, minmax(12px, 1fr)); gap: 3px; margin: 0 0 10px; }   /* 칸 수가 늘어도 줄바꿈(결말 도감) */
.scrap-strip i { height: 10px; border-radius: 2px; background: var(--soft); border: 1px solid var(--line); }
.scrap-strip i.got { background: #F3EBDD; border-color: #1A1714; } .scrap-strip i.new { background: var(--stamp); border-color: var(--stamp); }
.scrap .note { margin: 8px 0 0; font-size: 12px; }
.clip { position: relative; min-height: 76px; padding: 7px 8px 8px; border-radius: 4px; border: 1px dashed var(--line); background: var(--soft); color: var(--muted); display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.clip small { font: 800 9.5px var(--head); letter-spacing: .2em; color: inherit; }
.clip p { margin: 0; font: 700 11.5px/1.35 var(--head); word-break: keep-all; }
.clip:not(.got) { min-height: 52px; } .clip:not(.got) p { font-size: 16px; text-align: center; margin: auto 0; opacity: .5; }
.clip.ghost p { font-size: 11.5px; opacity: .7; }   /* 못 본 결말: 실루엣 + 힌트 한 줄 */
.clip.got { border: 1px solid #1A1714; background: #F3EBDD; color: #1A1714; box-shadow: 1px 2px 0 rgba(0,0,0,.08); }
.clip.got small { border-bottom: 2px double #1A1714; padding-bottom: 2px; color: #5C5248; }
.clip.got:nth-child(3n) { transform: rotate(-.6deg); } .clip.got:nth-child(3n+1) { transform: rotate(.5deg); }
.clip-stamp { position: absolute; right: 4px; bottom: 4px; padding: 1px 6px; border: 2px solid var(--stamp); border-radius: 4px; color: var(--stamp); font: 800 11px var(--head); background: rgba(243,235,221,.85); transform: rotate(-8deg); }

.challenge .ch-text { margin: 0; font: var(--hw) 16px/1.45 var(--head); text-wrap: balance; }
.challenge .ch-hint { margin: 8px 0 0; font-size: 13px; color: var(--muted); display: flex; gap: 6px; align-items: flex-start; }

/* 탭 묶음 */
.pane-tabs { display: flex; gap: 6px; margin: 0 0 12px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }   /* 탭이 많아지면 줄바꿈 대신 옆으로 민다 */
.pane-tabs::-webkit-scrollbar { display: none; }
.pane-tab { appearance: none; flex: none; white-space: nowrap; border: 0; background: none; padding: 8px 10px; font: 800 13.5px var(--head); color: var(--muted); border-bottom: 3px solid transparent; margin-bottom: -1px; cursor: pointer; }
.pane-tab.on { color: var(--ink); border-bottom-color: var(--acc); }
/* 실제 전성기 한 줄(js/peak.js) */
.end-blk.peak-blk { padding: 10px 16px; }
.peak-line { margin: 0; font: 700 15px var(--body); text-align: center; }
/* 다음 판 길잡이: 대통령까지 못 간 판의 막힌 이유(js/end-hint.js) */
.end-blk.end-hint { border-color: var(--acc); }
.end-hint .eh-why { margin: 0 0 6px; font: 800 15px/1.5 var(--body); }
.end-hint .eh-next { margin: 0; font: 600 14px/1.55 var(--body); color: var(--muted); }
.peak-line b { font-weight: 900; }
/* 결말 도감 층 제목 · 여생 몽타주(js/epimontage.js): 한 줄씩 차례로 나타난다(한 번만) */
.scrap-h { margin: 14px 0 6px; font: 800 14px var(--head); }
.scrap-h small { font: 600 12px var(--body); opacity: .7; }
.mont { margin: 0 0 12px; padding: 0; list-style: none; display: grid; gap: 8px; }
.mont li { padding: 8px 10px; border-left: 3px solid var(--ink); background: var(--soft); font: 600 13.5px/1.45 var(--body); animation: montIn .35s ease-out both; animation-delay: var(--d, 0s); }
@keyframes montIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .mont li { animation: none; } }
/* 타이틀의 결말 도감 버튼(js/scrap.js scrapCount): 추모관 줄을 3칸으로 */
.ts-row:has(.dex) { grid-template-columns: repeat(3, 1fr); }
.ts-btn.dex small { display: block; font-size: 11px; opacity: .8; }
.mont-paths { margin-top: 10px; }
/* 창(시트) 스크롤 막대: 브라우저 기본 대신 게임 색의 얇은 막대(결말 도감·추모관처럼 긴 창) */
.sheet-card { scrollbar-width: thin; scrollbar-color: color-mix(in srgb, var(--ink) 30%, transparent) transparent; }
.sheet-card::-webkit-scrollbar { width: 10px; }
.sheet-card::-webkit-scrollbar-track { background: transparent; margin: 18px 0; }
.sheet-card::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--ink) 30%, transparent); border-radius: 10px; border: 3px solid var(--card); }
.sheet-card::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--ink) 45%, transparent); }
/* 사건 장면(js/evart.js): 아기·반려동물은 주인공 오른쪽 아래 */
.e-scene.evart .e-critter { position: absolute; left: 63%; bottom: 4px; transform: translateX(-50%); z-index: 1; line-height: 0; }
