/* Original image overlay; all cards, inputs and state remain real HTML/server data. */
.ritual-experience { position: relative; isolation: isolate; overflow: clip; padding: .75rem clamp(.75rem, 2vw, 1.5rem) 1.5rem; border: 1px solid #65552e; border-radius: 1.25rem;
  --ink: #0c100e; --ink-soft: #18211a; --coal: #101611; --ivory: #f2eadb; --ivory-muted: #d0c6ac; --gold: #d5b737; --gold-light: #efd990; --line: #736238; --line-soft: #494436; --forest: #152c23;
  color: var(--ivory); background: radial-gradient(ellipse at 50% 30%, #203b2d88, transparent 65%), repeating-linear-gradient(100deg, #ffffff02 0 1px, transparent 1px 4px), #0c1511; }
.ritual-experience > :not(.ritual-v2-backdrop) { position: relative; z-index: 1; }
.ritual-v2-toolbar { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: .5rem; border-bottom: 1px solid var(--line-soft); padding-bottom: .5rem; }
.ritual-v2-toolbar p { margin: 0; color: var(--ivory-muted); font-size: .75rem; }
.ritual-v2-toolbar button { min-height: 44px; padding: .5rem .75rem; color: var(--ivory); border: 1px solid var(--line); background: #101a14; border-radius: .4rem; cursor: pointer; font: inherit; font-size: .8rem; }
body[data-theme] .ritual-experience .primary-action { background: #d5b737; color: #101611; }
.ritual-v2-backdrop { position: absolute; inset: 4rem 0 auto; height: clamp(300px, 43vw, 540px); pointer-events: none; z-index: 0; overflow: hidden; }
.ritual-v2-hands { position: absolute; width: 108%; max-width: none; height: auto; bottom: 0; left: -4%; opacity: .78; filter: saturate(.65); transform-origin: 50% 100%; }
.ritual-v2-orbit { position: absolute; width: min(70%, 510px); aspect-ratio: 1; top: 5%; left: 50%; translate: -50% 0; border: 1px solid #c6a95730; border-radius: 50%; box-shadow: inset 0 0 70px #ceac4910, 0 0 90px #ceac4908; }
.ritual-experience .ritual-state { padding-block: 1.5rem; }
.ritual-experience .ritual-state h1, .ritual-experience .daily-intro h1 { font: 400 var(--type-display)/1.15 var(--serif); letter-spacing: -.025em; }
.ritual-v2-intro { max-width: 40rem; margin: 1rem auto; color: var(--ivory-muted); line-height: 1.65; }
.ritual-experience[data-scene-state="shuffle"] .ritual-v2-hands { animation: ritual-hands-shuffle 520ms ease-in-out; }
.ritual-experience[data-scene-state="reveal"] .ritual-v2-hands { animation: ritual-hands-reveal 460ms ease-out; }
.ritual-experience[data-scene-state="interpretation"] .ritual-v2-backdrop { opacity: .25; height: 300px; }
.ritual-v2-reflection { margin-top: 1.5rem; padding: 1rem 1.25rem; border: 1px solid var(--line); border-radius: .6rem; background: #162118; }
.ritual-v2-reflection summary { min-height: 44px; cursor: pointer; color: var(--gold-light); font: 400 var(--type-card)/1.4 var(--serif); }
.ritual-v2-reflection p { line-height: 1.7; color: var(--ivory); }.ritual-v2-new a { display: inline-flex; min-height: 44px; align-items: center; color: var(--gold-light); }
.ritual-experience :is(button, a, summary):focus-visible { outline: 2px solid var(--gold-light); outline-offset: 3px; }
.interpretation-question { margin-block: 1.25rem; }.interpretation-question h2 { font-size: var(--type-card); }.interpretation-question li { overflow-wrap: anywhere; }.interpretation-question small { font-size: .75rem; }
@keyframes ritual-hands-shuffle { 0%,100% { transform: translateY(0); } 40% { transform: translateY(-12px) rotate(-1deg); } 70% { transform: translateY(-6px) rotate(1deg); } }
@keyframes ritual-hands-reveal { from { transform: translateY(-10px); opacity: .95; } to { transform: translateY(0); opacity: .78; } }
@media(max-width: 600px) { .ritual-v2-backdrop { inset-block-start: 7rem; height: 320px; }.ritual-v2-hands { width: 135%; left: -17.5%; opacity: .6; }.ritual-experience .reading-progress { gap: .5rem; }.ritual-experience .reading-progress span { font-size: .7rem; }.ritual-experience .ritual-state { padding-block: 1rem; } }
@media(prefers-reduced-motion: reduce) { .ritual-experience *, .ritual-experience *::before { animation: none !important; transition: none !important; } }
.ritual-experience[data-ritual-motion="off"] *, body[data-reduced-motion="true"] .ritual-experience * { animation: none !important; transition: none !important; }
