/* The reading itself ("풀이"): night surface like the storefront, numbered chapters as cards. Scoped to .frame.night. */
.frame.night{--paper:#0d1d1f;--ink:#ece4d0;--muted:#a3b0a6;--line:rgba(244,234,209,.14);--gold:#d2b072;background:var(--s-night);color:var(--ink);padding-bottom:0;overflow-x:clip}
.frame.night .foot{margin-top:0}
.rp{padding:0 0 28px;font-size:15.5px;line-height:1.9}
.rp-ribbon{margin:0;padding:9px 18px;background:#1b3a36;color:#d9e6d6;font-size:12.5px;line-height:1.6;text-align:center}
.rp-hero{position:relative;min-height:400px;display:flex;align-items:flex-end;overflow:hidden}
.rp-hero-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.rp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,29,31,.15) 0,rgba(13,29,31,.55) 45%,var(--s-night) 96%)}
.rp-hero-copy{position:relative;z-index:1;width:100%;padding:190px 22px 8px}
.rp-kicker{font-size:12.5px;letter-spacing:1.5px;color:var(--gold)}.rp-kicker span{opacity:.6;margin:0 4px}
.rp-hero h1{margin:8px 0 6px;font-family:var(--serif);font-size:27px;line-height:1.45;letter-spacing:-.6px;color:var(--s-cream);text-wrap:balance}
.rp-for{font-size:13.5px;color:var(--s-soft)}
.rp-keys{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0;padding:0;list-style:none}
.rp-keys li{padding:4px 11px;border-radius:999px;background:rgba(244,234,209,.09);border:1px solid rgba(244,234,209,.16);font-size:12.5px;color:var(--s-cream)}
.rp-story{margin:18px 18px 0;padding:16px 18px;border-radius:14px;background:rgba(234,177,166,.08);border:1px solid rgba(234,177,166,.25)}
.rp-story span{display:block;font-size:12px;color:var(--s-peach);margin-bottom:4px}
.rp-story p{font-size:14.5px;line-height:1.8;color:var(--s-cream)}
.rp-card{margin:14px 18px 0;padding:20px 18px;border-radius:16px;background:var(--s-panel);border:1px solid var(--line)}
.rp-summary h2{font-size:inherit;line-height:1.4;margin-bottom:8px}.rp-summary h2 small{font-family:var(--sans);font-size:12.5px;letter-spacing:1px;color:var(--gold)}
.rp-summary p{color:var(--ink)}
.rp-jump{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.rp-jump a{display:flex;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:0 10px;border-radius:12px;font-size:13.5px;background:var(--s-cream);color:#16302f;font-weight:600}
.rp-jump a+a{background:none;border:1px solid rgba(244,234,209,.3);color:var(--s-cream);font-weight:500}
html:has(.rp-cta){scroll-padding-bottom:112px}
/* Chart partials were drawn for paper; restate them on the night surface. */
.rp-chart .chart-block,.rp-chart .elements-card{background:none;border:0;padding:0;margin:0}
.rp-chart .elements-card{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
.rp-chart .chart-heading{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}
.rp-chart .chart-heading span,.rp-chart .chart-heading h3{font-family:var(--sans);font-size:12.5px;letter-spacing:1px;color:var(--gold)}
.rp-chart .chart-heading small,.rp-chart p,.rp-chart summary,.rp-chart li small{font-size:12.5px;color:var(--muted)}
.rp-chart .pillar{background:rgba(244,234,209,.05);border:1px solid var(--line);border-radius:10px}
.rp-chart .pillar.day-pillar{border-color:rgba(210,176,114,.6);background:rgba(210,176,114,.08)}
.rp-chart .pillar>span,.rp-chart .pillar small{font-size:12px;color:var(--muted)}
.rp-chart .pillar strong.unknown{color:var(--muted)}
.rp-chart .element-counts strong{color:var(--s-cream)}
.frame.night .element-목{color:#8fc49a}.frame.night .element-화{color:#eaa184}.frame.night .element-토{color:#d8c07a}.frame.night .element-금{color:#c3cfd4}.frame.night .element-수{color:#8fbdd3}
.rp-toc{margin:26px 18px 0}.rp-toc>p{font-size:12.5px;letter-spacing:1px;color:var(--gold);margin-bottom:10px}
.rp-toc ol{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.rp-toc a{display:flex;align-items:center;gap:14px;min-height:62px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(244,234,209,.03)}
.rp-toc b{font-family:var(--serif);font-size:19px;font-weight:400;color:var(--gold);min-width:28px}
.rp-toc span{font-size:14.5px;line-height:1.5;color:var(--s-cream)}.rp-toc small{display:block;font-size:12px;color:var(--muted)}
.rp-ch{margin:34px 18px 0;padding-top:26px;border-top:1px solid var(--line);scroll-margin-top:64px}
.rp-ch-no{display:flex;align-items:baseline;gap:10px;font-size:13px;color:var(--muted)}
.rp-ch-no b{font-family:var(--serif);font-size:30px;font-weight:400;line-height:1;color:var(--gold)}
.rp-ch h2{margin:10px 0 16px;font-family:var(--serif);font-size:23px;line-height:1.5;letter-spacing:-.5px;color:var(--s-cream);text-wrap:balance}
.rp-ch>p+p{margin-top:14px}.rp-ch>p:not(.rp-ch-no){color:var(--ink)}
.rp-do{margin-top:20px;padding:16px 18px;border-radius:14px;background:linear-gradient(180deg,rgba(210,176,114,.14),rgba(210,176,114,.06));border:1px solid rgba(210,176,114,.35)}
.rp-do span{display:block;font-size:12.5px;font-weight:600;color:var(--gold);margin-bottom:4px}
.rp-do p{font-size:15px;line-height:1.8;color:var(--s-cream)}
.rp>.comic-scene{margin:34px 18px 0}
.frame.night .comic-speech{background:var(--s-panel);border-color:var(--line)}.frame.night .comic-speech p{color:var(--s-cream)}.frame.night .comic-speech span{color:var(--gold)}
.rp-closing{margin:34px 18px 0;padding:22px 20px;border-radius:16px;background:var(--s-panel);border:1px solid var(--line)}
.rp-closing span{display:block;font-size:12.5px;letter-spacing:1px;color:var(--gold);margin-bottom:6px}
.rp-closing p{font-family:var(--serif);font-size:16px;line-height:1.95;color:var(--s-cream)}
.rp-evidence{margin:22px 18px 0;font-size:13px;color:var(--muted)}
.rp-evidence summary{min-height:44px;display:flex;align-items:center;color:var(--s-soft);cursor:pointer}
.rp-evidence>div{margin-top:14px}.rp-evidence h3{font-size:13px;color:var(--s-cream)}.rp-evidence h3 a{text-decoration:underline;text-underline-offset:3px}
.rp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:26px 18px 0}
.rp-btn{min-height:50px;border-radius:12px;border:1px solid rgba(244,234,209,.3);background:none;color:var(--s-cream);font-size:14px}
.rp-note{margin:12px 22px 0;font-size:12.5px;line-height:1.7;color:var(--muted);text-align:center}.rp-note:empty{display:none}
.rp-share{margin:30px 18px 0;padding-top:22px;border-top:1px solid var(--line);text-align:center;font-size:14px;color:var(--s-soft)}
.rp-share a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);text-decoration:underline;text-underline-offset:4px}
.rp-cta{position:sticky;bottom:0;z-index:20;margin-top:26px;padding:12px 18px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(13,29,31,0),var(--s-night) 38%)}
.rp-cta a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:54px;border-radius:14px;background:var(--s-gold);color:#1a1408;font-size:15.5px;font-weight:700;box-shadow:0 10px 30px -12px #000}
.rp-chart .element-dot{background:rgba(244,234,209,.07);border:1px solid var(--line)}
.frame.night .element-dot.element-목{color:#8fc49a}.frame.night .element-dot.element-화{color:#eaa184}.frame.night .element-dot.element-토{color:#d8c07a}.frame.night .element-dot.element-금{color:#c3cfd4}.frame.night .element-dot.element-수{color:#8fbdd3}
@media print{.frame.night{--ink:#1d2a28;--muted:#55615a;--line:#d8dbd0;--gold:#7a5f2a;color:#1d2a28}.rp-hero{min-height:0}.rp-hero-art,.rp-hero::after,.rp-ribbon,.rp-jump,.rp-actions,.rp-share,.rp-cta,.rp-toc,.rp>.comic-scene{display:none!important}
.rp-hero-copy{padding:0 18px}.rp-hero h1,.rp-ch h2,.rp-closing p,.rp-do p,.rp-toc span,.rp-story p,.rp-keys li,.rp-evidence h3,.rp-chart .element-counts strong{color:#1d2a28}.rp-for{color:#55615a}
.rp-card,.rp-closing,.rp-do,.rp-story{background:none;border-color:#d8dbd0}.rp-ch{break-inside:auto}.rp-do{break-inside:avoid}
.rp-hero{min-height:0}.rp-hero-copy{padding:0 18px}.rp-story span,.rp-kicker{color:#7a5f2a}
.frame.night .element-목,.frame.night .element-dot.element-목{color:#2f6b45}.frame.night .element-화,.frame.night .element-dot.element-화{color:#a1402f}.frame.night .element-토,.frame.night .element-dot.element-토{color:#7a5a1e}.frame.night .element-금,.frame.night .element-dot.element-금{color:#4f5963}.frame.night .element-수,.frame.night .element-dot.element-수{color:#2f5f7a}
.rp-chart .pillar,.rp-chart .pillar.day-pillar,.rp-chart .element-dot{background:none;border-color:#d8dbd0}}
.frame.night .comic-speech::before{background:var(--s-panel);border-color:var(--line)}
