/* Quiet, opaque reading surface above the animated sky. */
.theme-page .natal-portrait{max-width:960px;margin:3rem auto;padding:clamp(22px,5vw,64px);border:1px solid #514b40;border-radius:12px;background:#11131f;color:#f4eee2;overflow-wrap:anywhere;scroll-margin-top:95px;text-align:left}
#calculator-block .natal-portrait h2{font-size:clamp(30px,4vw,46px);line-height:1.15;margin:0 0 18px;text-align:left;text-wrap:balance;color:#f4eee2}
#calculator-block .natal-portrait h3{font-size:clamp(27px,3vw,36px);line-height:1.25;margin:0 0 25px;text-align:left;color:#e4c989}
#calculator-block .natal-portrait p{margin:0 0 1.15em;font-size:20px;line-height:1.8;color:#f4eee2;text-align:left}
#calculator-block .natal-portrait .portrait-meta{font-size:16px;line-height:1.65;color:#cbc6bc}
#calculator-block .natal-portrait .portrait-invitation{font-size:17px;color:#e4c989;margin:24px 0 0}
.theme-page .portrait-head{margin-bottom:32px}
.theme-page .portrait-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:20px 0 12px}
.theme-page .portrait-counter{font-size:16px;font-variant-numeric:tabular-nums;color:#cbc6bc}
.theme-page .portrait-progress{height:2px;background:#45443f;margin-bottom:35px}
.theme-page .portrait-progress span{display:block;height:100%;background:#e4c989;transition:width .2s ease}
.theme-page .portrait-reader{max-width:65ch;margin:auto;touch-action:pan-y}
.theme-page .portrait-page{padding:0;margin:0;animation:portrait-arrive .2s ease-out}
.theme-page .portrait-page+.portrait-page{margin-top:45px;padding-top:35px;border-top:1px solid #45443f}
.theme-page .portrait-controls{display:flex;justify-content:space-between;gap:16px;margin:0 0 30px;padding:0}
.theme-page .natal-portrait button{font:inherit;font-size:16px;line-height:1.4;min-height:48px;padding:12px 18px;border:1px solid #8c7952;border-radius:6px;background:transparent;color:#e4c989;cursor:pointer;white-space:normal}
.theme-page .natal-portrait button:hover:not(:disabled){background:#29283a;border-color:#e4c989}
.theme-page .natal-portrait button:disabled{opacity:.4;cursor:default}
.theme-page .natal-portrait .portrait-next{background:#e4c989;color:#11131f}
.theme-page .natal-portrait .portrait-next:hover:not(:disabled){background:#f0dab0;color:#11131f}
.theme-page .natal-portrait .portrait-toggle,.theme-page .natal-portrait .portrait-download{border:0;padding:10px 0;text-decoration:underline;text-underline-offset:5px}
.theme-page .portrait-actions{margin-top:28px}
#calculator-block .natal-portrait .portrait-note{font-size:14px;line-height:1.65;color:#cbc6bc;margin:10px 0 0}
#calculator-block .natal-portrait .portrait-notice{font-size:16px;border-left:2px solid #e4c989;padding-left:18px;color:#cbc6bc}
.theme-page .natal-portrait :focus-visible{outline:2px solid #e4c989;outline-offset:5px}
.theme-page .natal-portrait [hidden]{display:none!important}
@keyframes portrait-arrive{from{opacity:.4;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.theme-page .natal-portrait{padding:24px 20px;margin:28px 0}.theme-page .portrait-head{margin-bottom:24px}#calculator-block .natal-portrait p{font-size:18px;line-height:1.8}.theme-page .natal-portrait button{font-size:15px;padding:12px}.theme-page .portrait-progress{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){.theme-page .portrait-page{animation:none}.theme-page .portrait-progress span{transition:none}}
@media print{.portrait-toolbar,.portrait-controls,.portrait-actions,.portrait-progress{display:none}.theme-page .natal-portrait{border:0;padding:0;background:white;color:black}#calculator-block .natal-portrait p,#calculator-block .natal-portrait h3,#calculator-block .natal-portrait h2{color:black}}
