.chart-reading{margin:32px 0;padding:28px clamp(18px,4vw,32px);border:1px solid #c7a77955;background:linear-gradient(140deg,#c7a77908,transparent 65%);border-radius:3px}
.chart-reading .eyebrow{font-size:10px;letter-spacing:2px;margin-bottom:14px}
.chart-reading h2{font:400 clamp(32px,4vw,40px)/1.1 'Cormorant Garamond',Georgia,serif;color:var(--ink);margin:0 0 16px}
.chart-reading h2 em{color:var(--gold);font-weight:400}
.reading-intro{font-size:14px;line-height:1.8;color:var(--muted);margin:0}
.reading-button{display:block;border:1px solid var(--gold);border-radius:3px;background:var(--gold);color:var(--bg);font:500 14px 'DM Sans',sans-serif;padding:13px 20px;margin-top:20px;cursor:pointer}
.reading-button:hover:enabled{background:#dec298}
.reading-button:disabled{cursor:default;opacity:.55}
.chart-reading[aria-busy=true] .reading-button{opacity:.8}
.reading-status{font-size:13px;color:var(--gold);line-height:1.7;min-height:22px}
.reading-time-note{font-size:13px;line-height:1.7;color:var(--muted);border-left:2px solid var(--gold);padding-left:12px}
.reading-output{margin-top:28px;border-top:1px solid var(--line);padding-top:4px}
.reading-output section{margin-top:28px}
.reading-output h3{font:500 26px/1.15 'Cormorant Garamond',Georgia,serif;color:var(--gold);margin:0 0 14px}
.reading-output p{font-size:15px;line-height:1.9;margin:0 0 16px;overflow-wrap:anywhere}
.reading-output .reading-basis{font-size:11px;color:var(--muted);line-height:1.8;margin-top:18px}
.reading-reflection{margin-top:30px;padding:22px 0 0;border-top:1px solid var(--line)}
.reading-reflection p{font-family:'Cormorant Garamond',Georgia,serif;font-size:24px;font-style:italic;line-height:1.4;color:var(--ink)}
.reading-privacy,.reading-disclaimer{font-size:11px;line-height:1.7;color:var(--muted)}
.reading-disclaimer{margin:24px 0 0;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:850px){main{grid-template-columns:minmax(0,1fr)}.row>div,.controls,.result{min-width:0}.row input{min-width:0}.placements{grid-template-columns:repeat(3,minmax(0,1fr))}.placement strong{overflow-wrap:anywhere}}
@media(max-width:400px){.placement strong{font-size:20px}.placement b{display:block;margin:0 0 4px}}
