/* Reading additions keep the existing white result page and compact app shell. */
.result-reading{--reading-accent:#896832;--reading-wash:#faf6ef}
.result-reading[data-guide="doyun"]{--reading-accent:#3c6884;--reading-wash:#f1f6fa}
.result-reading[data-guide="seorin"]{--reading-accent:#80548e;--reading-wash:#f8f2fa}
.result-reading[data-guide="jiwoon"]{--reading-accent:#396e5c;--reading-wash:#eff7f3}
.result-reading[data-guide="haeon"]{--reading-accent:#926128;--reading-wash:#fcf6ed}
.result-reading .result-voice{color:var(--reading-accent);font-size:15px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere;margin:0 0 20px;padding-left:14px;border-left:2px solid var(--reading-accent)}
.result-reading .chapter-voice{margin:15px 0 20px}
.result-reading .report-section{scroll-margin-top:80px}
.result-reading .letter{background:var(--reading-wash)}
.result-reading .letter-signature{margin-top:30px;text-align:right;color:var(--reading-accent);font-size:14px;line-height:1.9}
.timeline-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:14px;margin-top:24px;color:#656565}
.timeline-heading a{color:var(--reading-accent);text-decoration:underline;text-underline-offset:4px;padding:12px 0}
.result-reading .timeline-hint{font-size:14px;color:#6b6b6b;margin:10px 0 16px}
.timeline-scroll{overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#b5ada0 transparent;padding:5px 0 14px}
.timeline-scroll:focus-visible{outline:2px solid var(--reading-accent);outline-offset:5px}
.flow-timeline{list-style:none;padding:0;margin:0;display:flex;align-items:stretch;min-width:100%}
.flow-stop{position:relative;flex:0 0 245px;max-width:85vw;padding:30px 20px 18px 0;border-top:1px solid #d6d1c9;scroll-snap-align:start;scroll-margin-left:0}
.timeline-dot{position:absolute;top:-5px;left:0;width:9px;height:9px;border-radius:50%;background:#fff;border:1px solid #b4aba0}
.flow-stop.is-current .timeline-dot{background:var(--reading-accent);border-color:var(--reading-accent);box-shadow:0 0 0 4px var(--reading-wash)}
.flow-stop.is-current{border-top:2px solid var(--reading-accent);background:linear-gradient(var(--reading-wash),transparent)}
.flow-stop.is-current .flow-status{color:var(--reading-accent);font-weight:700}
.flow-status{display:block;font-size:14px;color:#777;margin-bottom:12px;min-height:17px}
.flow-stop h3{font-size:20px;margin:0 0 9px}.flow-stop>small{display:block;font-size:14px;line-height:1.6;color:#666}
.result-reading .flow-stop p{font-size:14px;line-height:1.9;margin:15px 0 0;word-break:keep-all;overflow-wrap:anywhere}
.result-reading .age-caption{font-size:14px;margin:23px 0 14px}.age-caption b{color:var(--reading-accent);font-size:20px;padding-left:5px}.age-caption span{font-size:14px;color:#666}
.daeun-timeline .flow-stop{flex-basis:170px}.daeun-timeline h3{font-size:17px}.daeun-timeline b{display:block;font-size:21px;margin:13px 0 6px}
.age-position{position:relative;margin:23px 8px 0 0;border-top:2px solid #c6bcae;padding-top:9px;font-size:14px;color:var(--reading-accent)}
.age-position i{position:absolute;top:-5px;left:var(--position);width:8px;height:8px;border-radius:50%;background:var(--reading-accent);transform:translateX(-50%)}
@media(max-width:360px){.flow-stop{flex-basis:230px}.result-reading .result-voice{font-size:14px}}
@media(prefers-reduced-motion:reduce){.result-reading *, .timeline-scroll{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{
 .result-reading .report-section:has(.timeline-scroll){break-inside:auto}
 .timeline-scroll{overflow:visible;padding:0}
 .flow-timeline{display:block}
 .flow-stop,.daeun-timeline .flow-stop{max-width:none;width:100%;padding:15px 0 15px 20px;border-top:0;border-left:1px solid #aaa;break-inside:avoid}
 .flow-stop.is-current{border-top:0;border-left:2px solid #555;background:none}
 .timeline-dot{left:-5px;top:22px}.flow-status{margin-bottom:5px}
 .age-position{max-width:160px}.timeline-heading a{display:none}
}

/* Illustrated reading scenes: real text stays selectable and accessible. */
.speaking-guide{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;margin:24px 0;min-height:176px;border:1px solid #ebe4d8;border-radius:18px;background:#f8f5ee;overflow:hidden}
.speaking-portrait{align-self:stretch;display:flex;align-items:flex-end;overflow:hidden}
.speaking-portrait img{display:block;width:100%;height:100%;min-height:176px;max-height:260px;object-fit:cover;object-position:50% 15%;mix-blend-mode:multiply}
.speaking-bubble{position:relative;padding:20px 16px 20px 6px;min-width:0}
.speaker-name{display:block;color:var(--reading-accent);font-size:16px;font-weight:700;letter-spacing:.01em}
.speaker-topic{display:block;font-size:15px;color:#777064;margin-top:5px}
.result-reading .speaking-guide .result-voice{border:0;padding:0;margin:12px 0 0;font-size:15px;line-height:1.85;color:#393a35;word-break:keep-all}
.speaking-guide.without-portrait{grid-template-columns:1fr}.without-portrait .speaking-bubble{padding:20px}
.report-guide{padding:0 24px}.report-guide .speaking-guide{margin:6px 0 24px}
.element-garden{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:26px 0 30px;align-items:start}
.element-object{text-align:center;background:linear-gradient(#f8f5ee,#fff);border-radius:40px 40px 10px 10px;padding:6px 0 10px}
.element-object img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:contain;mix-blend-mode:multiply;margin:0 0 6px}
.element-object b,.element-object small,.element-object span{display:block}.element-object b{font-size:15px;font-weight:600}.element-object small{font-size:14px;color:#625f56;margin-top:7px}.element-object span{font-size:14px;color:#8c8371;margin-top:3px}
.result-reading .illustrated-toc{padding:26px 24px;background:#faf8f2;border-block:1px solid #eee7da}
.toc-heading>span{font-size:14px;letter-spacing:.19em;color:#9a8252}.toc-heading h2{font-size:21px;margin:10px 0}.toc-heading p{font-size:14px;color:#80786b;margin:0 0 18px}
.result-reading .illustrated-toc>a{display:flex;align-items:center;gap:12px;padding:13px 0;border-top:1px solid #e9e2d5;text-decoration:none;min-height:82px}
.toc-emblem{position:relative;flex:0 0 54px;height:54px;display:grid;place-items:center;color:var(--reading-accent)}.toc-emblem>img{position:absolute;width:100%;height:100%;object-fit:contain}.toc-emblem svg{position:relative;width:40px;height:40px;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.toc-label{min-width:0;flex:1}.toc-label small{display:block;font-size:14px;letter-spacing:.13em;color:#9d895f;margin-bottom:7px}.toc-label b{font-size:14px;font-weight:500;line-height:1.5;word-break:keep-all}.toc-arrow{color:#9a8252;font-size:19px}
.illustrated-toc a:hover,.illustrated-toc a:focus-visible{background:#f0ebdf;outline-offset:3px}
@media(min-width:600px){.speaking-guide{grid-template-columns:150px minmax(0,1fr)}.speaking-bubble{padding:26px}.result-reading .speaking-guide .result-voice{font-size:16px}}
@media(max-width:359px){.speaking-guide{grid-template-columns:90px minmax(0,1fr)}.speaking-bubble{padding-right:12px}.result-reading .speaking-guide .result-voice{font-size:14px}}
@media print{.speaking-guide{break-inside:avoid}.speaking-portrait img{max-height:190px}.element-object img{max-height:100px}}

.topic-summary{background:linear-gradient(145deg,var(--reading-wash),#fff)}
.result-reading .topic-summary>h2{font-size:25px;line-height:1.5;letter-spacing:-.04em;word-break:keep-all}.result-reading .topic-lead{color:#76756c;font-size:14px}
.topic-points{margin-top:28px}.topic-point{display:flex;align-items:baseline;gap:15px;padding:22px 0;border-top:1px solid #e6e1d8}.topic-number{flex-shrink:0;min-width:18px;white-space:nowrap;font-size:14px;color:var(--reading-accent);font-variant-numeric:tabular-nums}.topic-point h3{margin:0 0 10px;font-size:16px}.result-reading .topic-point p{font-size:15px;line-height:1.9;margin:0}.topic-point small{display:block;margin-top:12px;color:#7b786e;font-size:14px;line-height:1.8}
.reading-reference{margin:24px;border:1px solid #e4e0d7;border-radius:12px;overflow:hidden}.reading-reference>summary{padding:21px 18px;font-size:14px;color:#6e7066;cursor:pointer;background:#f8f7f3}.reference-intro{padding:0 18px;font-size:14px!important;color:#838278}.reading-reference>.report-section{padding:24px 16px}.chapter-evidence{margin-top:20px}.chapter-evidence>summary{font-size:14px;color:#87857c;cursor:pointer;padding:12px 0}.chapter-evidence .basis{margin-top:10px}.chapter-evidence p{font-size:14px!important}
@media print{.reading-reference>summary,.chapter-evidence>summary{display:none}.reading-reference,.chapter-evidence{display:block}details.reading-reference>*,details.chapter-evidence>*{display:block!important}}
