/* Mindelune ritual motion: decorative, optional, and independent of draw state. */
.hero-art:before{display:block;inset:5% 4%;filter:none;background:radial-gradient(ellipse at 55% 45%,#edbf6d45,transparent 64%);opacity:.35;animation:moon-breath 7s ease-in-out infinite;pointer-events:none}
@keyframes moon-breath{0%,100%{opacity:.25;transform:scale(.97)}50%{opacity:.65;transform:scale(1.04)}}
.hero-art.offscreen:before,.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}
.deck-enter{animation:deck-arrive .55s var(--ease) both}
@keyframes deck-arrive{from{opacity:.45;translate:0 14px}to{opacity:1;translate:0 0}}
.pill,.pick{position:relative}
.pill:after{content:'';position:absolute;inset:-1px;border:1px solid #ffe8b2;border-radius:inherit;opacity:0;pointer-events:none}
.pill.spark:after{animation:focus-ring .65s ease-out}
@keyframes focus-ring{0%{opacity:0;transform:scale(.98)}30%{opacity:.8}100%{opacity:0;transform:scale(1.045)}}
.question.spark{animation:question-arrive .35s ease-out}
@keyframes question-arrive{from{opacity:.35;translate:0 3px}to{opacity:1;translate:0 0}}
.pick:after{content:'';position:absolute;inset:0;border-radius:inherit;background:linear-gradient(115deg,transparent 30%,#fff2ca77 48%,transparent 66%);opacity:0;pointer-events:none;z-index:2}
.pick.spark:after{animation:chosen-light .7s ease-out}
@keyframes chosen-light{0%{opacity:0;transform:scaleX(.7)}35%{opacity:.65}100%{opacity:0;transform:scaleX(1)}}
.flip{transition:transform .3s var(--ease)}
.flip-inner{transition-duration:.85s;transition-timing-function:cubic-bezier(.3,.05,.2,1)}
.flip:before{content:'';position:absolute;inset:-12%;border-radius:50%;background:radial-gradient(ellipse,#f3c97866,transparent 67%);opacity:0;pointer-events:none}
.flip:after{content:'';position:absolute;inset:0;border:1px solid #ffe7ad;border-radius:inherit;opacity:0;pointer-events:none}
.flip.spark:before{animation:reveal-aura 1.25s ease-out}
.flip.spark:after{animation:reveal-edge 1.25s ease-out}
@keyframes reveal-aura{0%{opacity:0;transform:scale(.85)}40%{opacity:.85}100%{opacity:0;transform:scale(1.12)}}
@keyframes reveal-edge{0%,20%{opacity:0}55%{opacity:.8}100%{opacity:0}}
.card-name{display:block;font:16px/1.4 Georgia,serif;color:#f0d393;margin-top:14px;opacity:0;translate:0 5px;transition:opacity .4s ease .45s,translate .4s ease .45s}
.card-name.visible{opacity:1;translate:0 0}
.reveal-grid{position:relative;isolation:isolate}
.reveal-grid:before{content:'';position:absolute;inset:5% -2% -8%;z-index:-1;pointer-events:none;opacity:0;background:center/100% 100% no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 900 480' preserveAspectRatio='none'%3E%3Cpath d='M35 270L145 48L450 12L760 48L865 270L670 455L450 420L230 455Z M145 48L450 420L760 48 M230 455L450 12L670 455' fill='none' stroke='%23edcb8b' stroke-opacity='.65' stroke-width='1'/%3E%3Cg fill='%23fff0c8'%3E%3Ccircle cx='35' cy='270' r='3'/%3E%3Ccircle cx='145' cy='48' r='3'/%3E%3Ccircle cx='450' cy='12' r='4'/%3E%3Ccircle cx='760' cy='48' r='3'/%3E%3Ccircle cx='865' cy='270' r='3'/%3E%3Ccircle cx='670' cy='455' r='3'/%3E%3Ccircle cx='450' cy='420' r='4'/%3E%3Ccircle cx='230' cy='455' r='3'/%3E%3C/g%3E%3C/svg%3E")}
.reveal-grid.constellation:before{animation:constellation-awake 2.6s ease-out .45s both}
@keyframes constellation-awake{0%{opacity:0;transform:scale(.96)}30%,55%{opacity:.75}100%{opacity:0;transform:scale(1.025)}}
@media(max-width:700px){.card-name{font-size:12px;margin-top:10px}.reveal-grid:before{inset:7% -1% -8%}.reading-page>.eyebrow{margin-bottom:12px}.reading-page .steps{margin-bottom:18px}.reading-page .focuses{margin:14px 0}.reading-page .question{margin:12px 0}.reading-page .position-hint{margin:12px 0}}
/* Explicit base states ensure Motion off never leaves a decoration frozen onscreen. */
body.reduce .hero-art:before{opacity:.3}body.reduce .spark:before,body.reduce .spark:after,body.reduce .reveal-grid:before{opacity:0}
@media(prefers-reduced-motion:reduce){.hero-art:before{opacity:.3}.spark:before,.spark:after,.reveal-grid:before{opacity:0}}
/* One deliberate moment: a question held inside a circle of light. */
.intention-page{max-width:760px;margin:auto;min-height:calc(100svh - 210px);padding:24px 0 45px;text-align:center}
.intention-page h1{font-size:clamp(34px,4vw,58px);max-width:700px;margin:0 auto 22px;line-height:1.12}
.intention-invitation{font:20px/1.7 Georgia,serif;color:#f1e6d6;text-shadow:0 2px 14px #020918;margin:0 auto 25px}
.intention-page .focuses{justify-content:center;margin:22px 0 30px}
.question-chamber{position:relative;isolation:isolate;max-width:610px;margin:auto;padding:25px 28px 15px;border:1px solid #d6b77e70;border-radius:18px;background:#0c1831e6;box-shadow:0 18px 40px #02081755}
.question-chamber label{display:block;font:18px/1.5 Georgia,serif;text-align:left;color:#f6dfb4;margin-bottom:12px}
#private-question{display:block;position:relative;z-index:1;width:100%;min-height:110px;resize:vertical;padding:15px 16px;font:17px/1.65 Arial,sans-serif;color:#fff2dc;background:#111f3ab3;border:1px solid #c9ac7866;border-radius:10px;caret-color:#f5d28d}
#private-question::placeholder{color:#c6c5d0;opacity:1}#private-question:focus-visible{outline:2px solid #f0d398;outline-offset:4px}
#question-help{font:14px/1.6 Arial,sans-serif;color:#d2d0de;margin:14px 0 5px;text-align:left}
.intention-privacy{font:12px/1.5 Arial,sans-serif;color:#ded6ce;margin:15px 0 24px}.intention-page .gold{position:relative;z-index:2}
#intention-status{font:15px/1.6 Georgia,serif;color:#f3d69d;min-height:25px;margin:18px 0 0}.intention-closing{font:italic 16px/1.6 Georgia,serif;color:#e6d6bb;margin:12px auto 0}
.question-orbit{position:absolute;pointer-events:none;left:50%;top:50%;width:390px;max-width:100%;aspect-ratio:1;translate:-50% -50%;z-index:3;opacity:0}
.question-orbit svg{display:block;width:100%;height:100%;overflow:visible;fill:none;stroke:#ffe3a5;stroke-width:1.2;filter:drop-shadow(0 0 5px #f5ca7b99)}
.orbit-echo{stroke-width:.7;opacity:.45}.orbit-trace{stroke-dasharray:981;stroke-dashoffset:981;transform:rotate(-90deg);transform-origin:center}.orbit-seed{fill:#fff3ce;stroke:none;opacity:0}
.question-held .question-orbit{animation:question-orbit-light 1.2s ease-out both}
.question-held .orbit-trace{animation:question-circle-trace 1s cubic-bezier(.2,.55,.2,1) both}
.question-held .orbit-echo{animation:question-circle-echo 1.2s ease-out both}
.question-held .orbit-seed{animation:question-seed-light 1.2s ease-out both}
.question-held{border-color:#f1d18b}
@keyframes question-orbit-light{0%{opacity:0;scale:.95}18%{opacity:.9}72%{opacity:1}100%{opacity:0;scale:1.04}}
@keyframes question-circle-trace{0%{stroke-dashoffset:981}80%,100%{stroke-dashoffset:0}}
@keyframes question-circle-echo{0%{opacity:0}35%{opacity:.55}100%{opacity:0}}
@keyframes question-seed-light{0%{opacity:0;transform:rotate(0deg);transform-origin:200px 200px}18%{opacity:1}85%{opacity:1}100%{opacity:0;transform:rotate(360deg);transform-origin:200px 200px}}
.held-question{max-width:610px;margin:18px auto;color:#f6e3c0;font:italic 20px/1.6 Georgia,serif;overflow-wrap:anywhere;white-space:pre-wrap;border:0;padding:0 16px}
.revisit-question{display:block;margin:10px auto 22px;font-size:14px;min-height:44px}.result-question{max-width:700px;font-size:19px;margin-top:20px}.reading-page h1{max-width:880px;margin-left:auto;margin-right:auto}
body[data-view=focus]{--world-image:url('assets/responsive/selection-world.webp')}
body.reduce .question-orbit{display:none}body.reduce .question-held{border-color:#f1d18b}
@media(prefers-reduced-motion:reduce){.question-orbit{display:none}}
@media(max-width:700px){.intention-page{padding:15px 0 30px}.intention-page h1{font-size:35px}.intention-invitation{font-size:18px;margin-bottom:20px}.intention-page .focuses{margin:18px auto 24px}.question-chamber{padding:22px 18px 14px}.question-chamber label{font-size:17px}#private-question{font-size:16px;min-height:120px}#question-help{font-size:13px}.question-orbit{width:310px}.held-question{font-size:18px}.intention-page .steps{font-size:11px}}
.question-orbit:before{content:'';position:absolute;inset:8%;border-radius:50%;background:radial-gradient(circle,#ffe2a926,transparent 67%);pointer-events:none}
