/* English typography and wrapping, after the shared visual styles. */
:root{--serif:Georgia,Cambria,"Times New Roman",serif}
body{font-family:system-ui,-apple-system,"Segoe UI",sans-serif}
.brand>span{letter-spacing:1px}.brand small{letter-spacing:1.5px;font-size:10px}
#history{font-size:12px}
#intro .intro-copy h1{white-space:normal;text-wrap:balance;font-size:clamp(27px,6.7vw,34px);line-height:1.25;letter-spacing:0;max-width:480px;margin-inline:auto}
#intro .moon-label{letter-spacing:0;font-size:11px}
#intro .section-heading h2{font-size:clamp(16px,4.3vw,19px);letter-spacing:0;text-wrap:balance;line-height:1.5}
#intro .meditation>span{white-space:normal;font-size:13px;line-height:1.7;max-width:310px;margin-inline:auto}
#intro .fixed-spread .quiet{gap:7px;font-size:11px;white-space:normal}
#intro .spread-label h2,#intro .spread-label small{font-size:13px;letter-spacing:0}
#intro #start{font-size:14px;letter-spacing:0}
#reading>#reading-title{font-size:clamp(25px,6.3vw,31px);line-height:1.35;letter-spacing:0;text-wrap:balance}
#reading.choosing>#reading-title{font-size:clamp(25px,6.3vw,29px);line-height:1.3}
#reading .moon-label{letter-spacing:0}
.fan-hint span{font-size:12px;white-space:normal}
.result-card .position{font-size:12px;letter-spacing:0}
#reading:not(.deep-answer-page):not(.reveal-stage) .result-card.revealed h3{font-size:20px;line-height:1.35;letter-spacing:0}
.result-card.revealed h3 .card-orientation{margin-left:6px;font-size:11px}
#reading.reveal-stage .result-card.revealed h3{font-size:15px;line-height:1.4;letter-spacing:0}
.answer-card-link small{font-size:15px;line-height:1.4;letter-spacing:0}
.answer-card-link span{font-size:12px;letter-spacing:0;white-space:normal}
.answer-card-link .answer-orientation{font-size:12px}
#reading.deep-answer-page .answer-card-caption small{font-size:21px;letter-spacing:0;white-space:normal}
.answer-card-badge-text{max-width:78px}.answer-card-badge-text strong{font-size:11px;overflow-wrap:normal;line-height:1.4}.answer-card-badge-text>span{font-size:10px}
.answer-footer-meta{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.answer-footer-meta h3{font-size:12px;letter-spacing:0}.answer-footer-meta p,.answer-footer-meta time{font-size:12px;line-height:1.7}
.answer-footer-brand{font-size:17px;letter-spacing:.5px}
.reading-actions #save,.reading-actions #restart{font-size:13px;letter-spacing:0}
.wait-heading h1{font-size:25px;letter-spacing:0;line-height:1.35}.wait-heading p,.wait-status>p{font-size:14px}
.wait-label{letter-spacing:2px}
textarea{font-family:inherit}
footer span{letter-spacing:0}
@media(max-width:620px){
 header{gap:8px}.brand{gap:5px}.brand>span{font-size:20px}#history{font-size:12px}
 #intro .hero-art{height:clamp(245px,34svh,310px)}
 #question-form .section-heading h2{font-size:19px}
 #question-form .topics{flex-wrap:nowrap;gap:6px}#question-form .topics button{font-size:12px;padding:8px 10px}
 #reading.deep-answer-page .answer-card-caption small{font-size:19px}
 #reading.deep-answer-page .answer-card-caption small:before{width:32px;height:36px;margin-right:7px}
 .answer-card-heading{gap:7px}.answer-card-badge{padding-left:7px;gap:6px}.answer-card-thumb{width:29px}
}
@media(max-width:360px){
 .brand>span{font-size:18px}.brand small{font-size:9px}#history{font-size:11px}
 #intro .fixed-spread .quiet{font-size:10px;gap:5px}.fixed-spread .quiet i{width:7px}
 #reading.deep-answer-page .answer-card-caption small{font-size:18px}
 .answer-card-badge-text{max-width:62px}
}
/* A clearly defined writing area, with a quiet gold focus state. */
#question-form .question-label{display:block;margin:8px 0 10px;color:#eed7a6;font-size:16px;font-weight:600;letter-spacing:.02em}
#question-form textarea{box-sizing:border-box;width:100%;margin:0;background:#2a2235;border:1.5px solid #b89a62;border-radius:8px;color:#fff5e8;caret-color:#ffe0a0;padding:18px 20px;font-size:17px;line-height:1.6;box-shadow:inset 0 1px 8px #0b071a30;transition:border-color .2s,box-shadow .2s,background .2s}
#question-form textarea::placeholder{color:#c5bdcf;opacity:1}
#question-form textarea:focus{outline:2px solid #edcf8b;outline-offset:3px;border-color:#edcf8b;background:#30263d;box-shadow:0 0 18px #d9b56b26}
#question-form .question-example{margin:9px 0 16px;color:#bdb3c8;font-size:13px;line-height:1.6;letter-spacing:0}
@media(max-width:620px){#question-form textarea{font-size:16px;padding:15px 16px}#question-form .question-label{font-size:15px}}
#deep-answer .answer-details-toggle{display:flex;align-items:center;justify-content:center;min-height:46px;min-width:168px;margin:16px 0 0;padding:11px 20px;background:linear-gradient(110deg,#e5ce98,#c4a56b);color:#251a2c;border:1px solid #f1dba6;border-radius:6px;font:600 15px/1.4 system-ui,sans-serif;letter-spacing:.01em;box-shadow:0 3px 14px #d8b86c24;cursor:pointer}
#deep-answer .answer-details-toggle:hover{background:#f0dba9;box-shadow:0 3px 20px #d8b86c45}
#deep-answer .answer-details-toggle:focus-visible{outline:2px solid #fff1ce;outline-offset:4px}
#deep-answer .answer-overview>p[hidden],#deep-answer .answer-card-detail>p[hidden]{display:none!important}
#deep-answer .details-open>.answer-details-toggle{background:#30263a;color:#f1dba6;box-shadow:none}
#deep-answer .answer-fold-row{display:flex;align-items:center;justify-content:space-between;gap:14px;cursor:pointer;min-height:44px}
#deep-answer .answer-fold-row>h2,#deep-answer .answer-fold-row>.answer-card-heading{margin:0;min-width:0}
#deep-answer .answer-fold-row>h2{font-size:23px;text-align:left;letter-spacing:0}
#deep-answer .answer-fold-row .answer-details-toggle{flex:none;min-width:0;min-height:36px;margin:0;padding:8px 12px;font-size:13px;line-height:1.3;box-shadow:0 2px 8px #d8b86c20}
#deep-answer .answer-card-detail{padding:14px 0}
#deep-answer .answer-overview{padding:8px 0 14px}
#deep-answer .answer-fold-content[hidden]{display:none!important}
#deep-answer .answer-fold-content>p{font-size:16px;line-height:1.95;color:#ded3df;margin:14px 0 0;white-space:pre-line;overflow-wrap:anywhere}
#deep-answer .answer-fold-content>.answer-card-badge{justify-content:flex-start;border:0;padding:0;margin:16px 0 0;gap:12px}
#deep-answer .answer-fold-content .answer-card-badge-text{max-width:none}
#deep-answer .answer-fold-content .answer-card-badge-text strong{font-size:14px}
#deep-answer .answer-fold-content .answer-card-badge-text>span{font-size:12px}
#deep-answer .details-open .answer-details-toggle{background:#30263a;color:#f1dba6}
@media(max-width:620px){#deep-answer .answer-fold-row{gap:8px}#deep-answer .answer-fold-row>h2,#deep-answer .answer-fold-row .answer-card-caption small{font-size:18px}#deep-answer .answer-fold-row .answer-details-toggle{padding:8px;font-size:11px}#deep-answer .answer-fold-row h2:before,#deep-answer .answer-fold-row .answer-card-caption small:before{width:28px;height:28px;margin-right:7px}#deep-answer .answer-fold-content>p{font-size:14px}}
#question-form>.section-heading{margin-bottom:12px}
.reading-actions{flex-wrap:wrap}
.reading-actions>button{flex:1 1 180px}
#restart:disabled{opacity:.55;cursor:not-allowed}
.share-platforms,.share-image-actions{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}
.share-platforms .secondary,.share-image-actions .secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 16px;text-decoration:none;min-height:44px;box-sizing:border-box}
.share-status{color:#ead39f;line-height:1.6}
#modal-content>input{width:100%;box-sizing:border-box;padding:12px;background:#2a2235;color:#fff5e8;border:1px solid #b89a62;border-radius:6px}
#reading.deep-answer-page .reading-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:stretch}
#reading.deep-answer-page .reading-actions>button{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:52px;height:100%;margin:0;padding:12px 14px;font:500 14px/1.5 system-ui,sans-serif;letter-spacing:0;box-sizing:border-box;border-radius:4px;white-space:normal;overflow-wrap:normal;text-align:center}
@media(max-width:620px){#reading.deep-answer-page .reading-actions{grid-template-columns:minmax(0,1fr);gap:10px}#reading.deep-answer-page .reading-actions>button{height:auto;min-height:52px;font-size:14px}}
#modal-content .share-platforms{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:20px 0}
#modal-content .share-icon-item{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:7px;width:100%;min-width:0;margin:0;padding:4px 0;border:0;background:none;text-decoration:none;color:#e8ce99;cursor:pointer;font:inherit;letter-spacing:0}
.share-icon-circle{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border:1px solid #b89a6270;border-radius:50%;background:#17101f;transition:background .2s,border-color .2s}
.share-icon-circle svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.share-icon-label{font:500 11px/1.4 system-ui,sans-serif;white-space:nowrap}
.share-icon-item:hover .share-icon-circle{background:#423149;border-color:#e8ce99}
#modal-content .share-image-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}
#modal-content .share-image-actions .secondary{width:100%;min-width:0;margin:0;padding:12px 8px;font-size:13px;letter-spacing:0;text-align:center}
#modal-content .share-image-actions [hidden]{display:none!important}
@media(max-width:380px){#modal-content .share-platforms{gap:3px}.share-icon-circle{width:40px;height:40px}.share-icon-label{font-size:10px}}
.share-platform-image{display:block;width:46px;height:46px;object-fit:contain;transition:transform .2s}
.share-icon-item:hover .share-platform-image{transform:translateY(-2px)}
@media(max-width:380px){.share-platform-image{width:40px;height:40px}}
#toast{width:calc(100vw - 32px);max-width:540px;bottom:calc(20px + env(safe-area-inset-bottom,0px));padding:14px 18px;border-radius:10px;font:500 14px/1.6 system-ui,sans-serif;text-align:center;white-space:normal;overflow-wrap:break-word;box-shadow:0 8px 30px #0005}
#modal-content .share-copy-status:empty{display:none}
#modal-content .share-copy-status{margin:12px 0 8px;padding:10px 12px;border:1px solid #d6b77a70;border-radius:6px;background:#d6b77a18;color:#f4dfb1;font-size:13px;line-height:1.5;text-align:center}
#modal-content .share-copy-status.copy-failed{color:#f1c7bb;border-color:#bc8175}
#question-form .topics{display:flex;gap:8px}
#question-form .topics button{min-width:0;white-space:nowrap}
#question-form .topics button[data-topic="Love"]{flex:1 1 0}
#question-form .topics button[data-topic="Career"]{flex:.78 1 0}
#question-form .topics button[data-topic="Growth"]{flex:1.22 1 0}
#reading.choosing .fan-hint>div>svg{width:115px;height:55px;stroke-width:1.9}
@media(max-width:620px){#reading.choosing .fan-hint>div>svg{width:94px;height:48px}}
#waiting .wait-card:has(.wait-flip-inner){background:none;perspective:900px}
.wait-flip-inner{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(0deg);transition:transform .85s cubic-bezier(.25,.65,.3,1);transition-delay:var(--flip-delay,0ms)}
.wait-flip-back,.wait-flip-front{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;overflow:hidden;background:url('assets/card-back-celestial.webp') center/contain no-repeat}
.wait-flip-front{transform:rotateY(180deg);background:none}
.wait-flip-front img{display:block;width:100%;height:100%;object-fit:contain}
.wait-flipped .wait-flip-inner{transform:rotateY(180deg)}
@media(prefers-reduced-motion:reduce){.wait-flip-inner{transition:none}}
