@keyframes card-picker-in{0%{opacity:0;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(0)}60%{opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1.05)}to{opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1)}}.tarot-card{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;opacity:0;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(0);will-change:transform, opacity;contain:layout style;background:0 0;border:0;outline:none;padding:0;position:absolute;top:50%;left:50%}.tarot-card img{-webkit-user-drag:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;pointer-events:none}.tarot-card[data-spread=true]{animation:.45s cubic-bezier(.34,1.56,.64,1) forwards card-picker-in;animation-delay:var(--card-delay)}.tarot-card[data-ready=true]:not([data-shuffling=true]){opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1);will-change:auto;transition:transform .35s cubic-bezier(.34,1.2,.64,1);animation:none}.tarot-card[data-ready=true][data-selected=true]{transform:translate(var(--card-x-selected), var(--card-y-selected)) rotate(var(--card-rotation)) scale(1)}.tarot-card[data-shuffling=true]{opacity:1;will-change:transform, opacity;transition:none;transform:translate(0)scale(.35)}.tarot-card-inner{border-radius:var(--card-br,18px);background:linear-gradient(145deg,#f5ede3,#e8dfd3);width:100%;height:100%;transition:border-color .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:-2px 0 4px #0000001f,2px 0 4px #00000014,0 2px 6px #00000026,0 0 1px #0003}.tarot-card-inner:hover{border-color:#c4a87c;box-shadow:-3px 0 8px #00000026,3px 0 8px #0000001a,0 4px 12px #0000002e,0 0 1px #00000040}.tarot-card[data-selected=true] .tarot-card-inner{border-color:#c4a87c;box-shadow:-3px 0 8px #c4a87c40,3px 0 8px #c4a87c33,0 4px 14px #c4a87c59,0 0 1px #0003}.card-circle{will-change:transform;contain:layout style;position:absolute;left:50%}@keyframes card-shuffle{0%{opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1)}15%{opacity:1;transform:translate(calc(var(--card-x) * .2), calc(var(--card-y) * .2)) rotate(calc(var(--card-rotation) + 200deg)) scale(.6)}28%{opacity:1;transform:translate(0px, 0px) rotate(calc(var(--card-rotation) + 400deg)) scale(.35)}42%{opacity:1;transform:translate(calc(var(--scatter-x) * 1.15), calc(var(--scatter-y) * 1.15)) rotate(calc(var(--scatter-rot) * .7)) scale(.85)}50%{opacity:1;transform:translate(calc(var(--scatter-x) * .95), calc(var(--scatter-y) * .95)) rotate(var(--scatter-rot)) scale(.8)}58%{opacity:1;transform:translate(var(--scatter-x), var(--scatter-y)) rotate(var(--scatter-rot)) scale(.75)}80%{opacity:1;transform:translate(calc(var(--scatter-x) * .1), calc(var(--scatter-y) * .1)) rotate(calc(var(--scatter-rot) + 280deg)) scale(.5)}to{opacity:0;transform:translate(0px, 0px) rotate(calc(var(--scatter-rot) + 540deg)) scale(0)}}.tarot-card[data-shuffling=true]{animation:2.8s cubic-bezier(.4,0,.2,1) both card-shuffle;animation-delay:calc(var(--card-delay) * .15)}@keyframes circle-shuffle-spin{0%{transform:rotate(var(--circle-start-rotation,0deg))}30%{transform:rotate(calc(var(--circle-start-rotation,0deg) + 120deg))}60%{transform:rotate(calc(var(--circle-start-rotation,0deg) + 120deg))}to{transform:rotate(calc(var(--circle-start-rotation,0deg) + 360deg))}}.card-circle[data-shuffling=true]{animation:2.8s cubic-bezier(.4,0,.2,1) both circle-shuffle-spin}@keyframes card-collapse{0%{opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1)}to{opacity:0;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(0)}}.tarot-card[data-collapsing=true]:not([data-selected=true]){animation:.3s ease-in forwards card-collapse;animation-delay:calc(var(--card-delay) * .5)}@keyframes card-fadeout{0%{opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1)}to{opacity:0;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(.5)}}.tarot-card[data-fadeout=true]{animation:.4s ease-in forwards card-fadeout!important}@keyframes card-spin-shrink{0%{opacity:1;transform:translate(var(--card-x), var(--card-y)) rotate(var(--card-rotation)) scale(1)}50%{opacity:1;transform:translate(0, 0) rotate(calc(var(--card-rotation) + 360deg)) scale(.6)}to{opacity:0;transform:translate(0, 0) rotate(calc(var(--card-rotation) + 720deg)) scale(0)}}.tarot-card[data-collapsing=true][data-selected=true]{animation:.6s cubic-bezier(.4,0,.2,1) forwards card-spin-shrink}.spread-reveal-heading{transition:opacity .5s;top:clamp(78px,15vh,150px)}.spread-reveal-stage{align-items:stretch;transition:opacity .9s,transform .9s cubic-bezier(.4,0,.2,1),filter .9s;display:flex;top:clamp(145px,24vh,220px);bottom:clamp(76px,10vh,110px);overflow:auto}.spread-reveal-scroll-content{box-sizing:border-box;flex:none;justify-content:center;align-items:center;width:100%;height:max-content;min-height:100%;display:flex}.spread-reveal-stage.is-loading{pointer-events:none;opacity:0;filter:blur(6px);transform:scale(.88)}.spread-reveal-stage.is-grand-tableau{align-items:flex-start;padding-top:16px;overflow-y:auto}.spread-reveal-stage.is-lenormand-nine{padding-top:0;bottom:0;overflow:hidden}.spread-reveal-board{flex:none}.spread-reveal-slot{z-index:1;transform:translate(-50%,-50%)}.spread-reveal-slot.is-unrevealed{z-index:2}.spread-reveal-slot.is-revealed{pointer-events:none}.spread-reveal-card-wrap{transition:opacity .5s;animation:.6s cubic-bezier(.34,1.2,.64,1) both spread-reveal-card-in}@keyframes spread-reveal-card-in{0%{opacity:0;transform:translateY(20px)scale(.84)}to{opacity:1;transform:translateY(0)scale(1)}}.spread-reveal-card-name,.spread-reveal-position{pointer-events:none;color:#7b5ea7;width:135%;min-height:18px;font-family:var(--font-serif);text-align:center;justify-content:center;align-items:center;font-weight:600;line-height:1.1;transition:opacity .35s,transform .35s;display:flex;overflow:hidden}.spread-reveal-position{color:#9b805a;margin-top:5px;font-weight:500}.spread-reveal-card-wrap.is-flipped .spread-reveal-card-name{animation:.52s cubic-bezier(.16,1,.3,1) .28s both spread-reveal-name-in}@keyframes spread-reveal-name-in{0%{opacity:0;filter:blur(4px);transform:translateY(8px)scale(.96)}to{opacity:1;filter:blur();transform:translateY(0)scale(1)}}.spread-reveal-card-wrap:not(.is-flipped) .spread-reveal-position{opacity:.55}.spread-reveal-card{background:0 0;border:0;padding:0;transition:transform .2s,filter .2s}.spread-reveal-card:not(:disabled):hover,.spread-reveal-card:not(:disabled):focus-visible{z-index:5;filter:drop-shadow(0 12px 18px #7b5ea738);outline:none;transform:translateY(-5px)scale(1.03)}.spread-reveal-card:focus-visible{box-shadow:0 0 0 3px #7b5ea752}.spread-grand-scroll{scrollbar-width:thin;scrollbar-color:#7b5ea759 transparent;touch-action:pan-x pan-y}.spread-grand-scroll-button{z-index:20;aspect-ratio:1;color:#7b5ea7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffe0;border:1px solid #c4a87c47;border-radius:50%;place-items:center;width:44px;transition:background-color .18s,transform .18s;display:grid;position:absolute;top:50%;translate:0 -50%;box-shadow:0 5px 16px #5b442a2e}.spread-grand-scroll-button:hover,.spread-grand-scroll-button:focus-visible{background:#fff;outline:none;transform:scale(1.06)}.spread-grand-board{padding-inline:8px}.shared-reading-loader{background:radial-gradient(circle,#ffffffb8,#0000 48%);transition:opacity .8s .25s}.shared-reading-loader-orb{aspect-ratio:1;border:1px solid #7b5ea726;border-radius:50%;width:min(58vw,440px);animation:32s linear infinite loading-spin-cw;position:absolute;top:50%;left:50%;translate:-50% -50%}.shared-reading-loader-orb:before,.shared-reading-loader-orb:after,.shared-reading-loader-orb>span{content:"";border-radius:50%;position:absolute}.shared-reading-loader-orb:before{border:1px dashed #c4a87c52;inset:10%}.shared-reading-loader-orb:after{border:1px solid #7b5ea72e;inset:24%}.shared-reading-loader-orb>span{aspect-ratio:1;background:#c4a87c;width:8px;box-shadow:0 0 15px #c4a87c8c}.shared-reading-loader-orb>span:first-child{top:-4px;left:50%}.shared-reading-loader-orb>span:nth-child(2){bottom:17%;right:8%}.shared-reading-loader-orb>span:nth-child(3){bottom:17%;left:8%}@media (max-width:767px){.spread-reveal-heading{top:max(66px, env(safe-area-inset-top))}.spread-reveal-stage{align-items:flex-start;padding-top:18px;top:132px;bottom:76px}.spread-reveal-stage.is-grand-tableau{padding-top:8px}.spread-reveal-card-name,.spread-reveal-position{min-height:14px}.spread-grand-scroll{width:100%;padding-top:4px;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 18px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 18px calc(100% - 18px),#0000 100%)}}@media (prefers-reduced-motion:reduce){.spread-reveal-card-wrap,.shared-reading-loader-orb{animation:none}.spread-reveal-stage,.spread-reveal-card,.reveal-card-3d-inner{transition-duration:1ms!important}.spread-reveal-card-wrap.is-flipped .spread-reveal-card-name{animation:none}}@keyframes reveal-card-in{0%{opacity:0;transform:scale(0)rotate(180deg)}70%{opacity:1;transform:scale(1.05)rotate(-5deg)}to{opacity:1;transform:scale(1)rotate(0)}}@keyframes card-glow{0%,to{box-shadow:0 0 8px #c4a87c4d}50%{box-shadow:0 0 20px #c4a87c99,0 0 40px #7b5ea733}}@keyframes reveal-shoot-roman{0%{transform:translateY(var(--roman-start-y,100px)) scale(.8);opacity:0}50%{opacity:.8;transform:translateY(-30px)scale(1.1)}65%{opacity:.4;transform:translateY(2px)scale(1)}80%{opacity:.15;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(0)scale(1)}}@keyframes reveal-shoot-name{0%{opacity:0;transform:translateY(130px)scale(.8)}20%{opacity:.3;transform:translateY(40px)scale(1)}60%{opacity:.95;transform:translateY(-3px)scale(1.02)}80%{opacity:1;transform:translateY(1px)scale(1)}to{opacity:1;transform:translateY(0)scale(1)}}.reveal-card-glow{border-radius:.5rem;animation:2s ease-in-out infinite card-glow}.backface-hidden{backface-visibility:hidden}.reveal-arc-circle{opacity:0;animation:1s ease-out .3s forwards arc-fade-in}@keyframes arc-fade-in{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.reveal-loading-zoom{will-change:transform;transition:transform 1s cubic-bezier(.4,0,.2,1),opacity .5s}.loading-ring{pointer-events:none;opacity:0;border-radius:50%;transition:opacity .8s .4s;position:absolute;top:50%;left:50%}.loading-ring[data-visible=true]{opacity:1}.loading-center-text{opacity:0}.reveal-card-flip-back .reveal-card-3d-inner{transition:transform .7s cubic-bezier(.4,0,.2,1)!important;transform:rotateY(0)!important}.reveal-card-flip-back .reveal-card-label{opacity:0!important;transition:opacity .3s!important}@keyframes loading-card-shimmer{0%,to{box-shadow:0 0 4px #7b5ea714}50%{box-shadow:0 0 10px #7b5ea740,0 0 20px #c4a87c1a}}.reveal-card-flip-back .reveal-card-glow{animation:3.5s ease-in-out infinite loading-card-shimmer!important;box-shadow:0 0 4px #7b5ea714!important}.card-circle.reveal-card-flip-back>[data-orbit-index]{transition:margin 1.2s cubic-bezier(.25,1,.5,1)!important;animation:none!important}.card-circle.reveal-card-fading>[data-orbit-index]{opacity:0;transition:opacity 1.2s ease-out!important}@keyframes loading-spin-cw{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes loading-spin-ccw{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.loading-ring-outer[data-visible=true]{animation:28s linear infinite loading-spin-cw}.loading-ring-inner[data-visible=true]{animation:22s linear infinite loading-spin-ccw}@keyframes loading-ring-breathe{0%,to{opacity:.35;transform:scale(.97)}50%{opacity:.7;transform:scale(1.04)}}.loading-ring-mid[data-visible=true]{animation:5s ease-in-out .4s infinite both loading-ring-breathe}@keyframes loading-orb-breathe{0%,to{opacity:.15;transform:scale(.85)}50%{opacity:.5;transform:scale(1.12)}}.loading-center-orb{pointer-events:none;opacity:0;background:radial-gradient(circle,#7b5ea738 0%,#c4a87c1f 30%,#7b5ea70f 55%,#0000 100%);border-radius:50%}.loading-center-orb[data-visible=true]{animation:4.5s ease-in-out .5s infinite both loading-orb-breathe}.loading-sparkles{pointer-events:none;opacity:0;border-radius:50%;transition:opacity .8s .6s;position:absolute}.loading-sparkles[data-visible=true]{opacity:1;animation:35s linear infinite loading-spin-cw}@keyframes loading-sparkle-pulse{0%,to{opacity:.1;box-shadow:0 0 2px #c4a87c26}50%{opacity:.85;box-shadow:0 0 6px #c4a87c99,0 0 12px #7b5ea733}}.loading-sparkle-dot{background:#c4a87c99;border-radius:50%;width:3px;height:3px;animation:2.5s ease-in-out infinite both loading-sparkle-pulse;position:absolute;top:50%;left:50%}.loading-sparkle-dot:nth-child(odd){background:#7b5ea780;width:2.5px;height:2.5px}.loading-sparkle-dot:nth-child(3n){width:4px;height:4px}@keyframes loading-text-breathe{0%,to{opacity:.5;filter:drop-shadow(0 0 4px #c4a87c14);transform:translate(-50%,-50%)scale(.97)}50%{opacity:1;filter:drop-shadow(0 0 12px #c4a87c59);transform:translate(-50%,-50%)scale(1.03)}}.loading-center-text[data-visible=true]{animation:3.5s ease-in-out 1.2s infinite both loading-text-breathe}@keyframes loading-dot-bounce{0%,80%,to{opacity:.15;transform:scale(.4)}40%{opacity:.9;transform:scale(1.2)}}.loading-dot{background:#c4a87c80;border-radius:50%;width:4px;height:4px;animation:1.4s ease-in-out infinite both loading-dot-bounce}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes modal-dismiss{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.modal-dismissing{pointer-events:none;animation:2s cubic-bezier(.4,0,.2,1) forwards modal-dismiss}@keyframes modal-dismiss-content{0%{transform:translateY(0)}to{transform:translateY(-200px)}}.modal-dismissing>.modal-dismiss-inner{animation:2s cubic-bezier(.4,0,.2,1) forwards modal-dismiss-content}.center-info-container{transition:transform .6s cubic-bezier(.4,0,.2,1)}.center-info-label{transition:color .8s cubic-bezier(.4,0,.2,1),text-shadow .8s cubic-bezier(.4,0,.2,1),opacity .6s}.center-info-number{transition:transform .6s cubic-bezier(.4,0,.2,1),color .8s cubic-bezier(.4,0,.2,1),border-color .8s cubic-bezier(.4,0,.2,1)}@keyframes center-number-bounce{0%{transform:scale(1)}40%{transform:scale(1.18)}70%{transform:scale(.96)}to{transform:scale(1)}}.center-info-number-bounce{animation:.9s cubic-bezier(.4,0,.2,1) center-number-bounce}@keyframes center-info-pick-pulse{0%{transform:scale(1)translateY(0)}35%{transform:scale(1.03)translateY(-2px)}70%{transform:scale(1)translateY(-1px)}to{transform:scale(1)translateY(0)}}.center-info-picked{animation:.9s cubic-bezier(.4,0,.2,1) center-info-pick-pulse}@keyframes center-info-complete-enter{0%{opacity:0;filter:blur(6px);transform:scale(.6)translateY(8px)}50%{opacity:1;filter:blur();transform:scale(1.06)translateY(-2px)}75%{transform:scale(.98)translateY(0)}to{transform:scale(1)translateY(0)}}.center-info-complete-entrance{animation:.9s cubic-bezier(.22,1,.36,1) forwards center-info-complete-enter}.center-info-complete-text{background:linear-gradient(90deg,#7b5ea7 0%,#c4a87c 40%,#7b5ea7 60%,#c4a87c 100%) 0 0/250% 100%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:3s ease-in-out .9s infinite center-info-shimmer}@keyframes center-info-shimmer{0%,to{background-position:0%}50%{background-position:100%}}.center-info-complete-star{color:#c4a87c;opacity:0;font-size:1.25rem;animation:.6s ease-out forwards center-info-star-appear}.center-info-complete-star-left{animation-delay:.4s}.center-info-complete-star-right{animation-delay:.55s}@keyframes center-info-star-appear{0%{opacity:0;transform:scale(0)rotate(-90deg)}60%{opacity:1;transform:scale(1.3)rotate(10deg)}to{opacity:1;animation:2.5s ease-in-out infinite center-info-star-pulse;transform:scale(1)rotate(0)}}.center-info-complete-star-left,.center-info-complete-star-right{animation:.6s ease-out forwards center-info-star-appear,2.5s ease-in-out 1.1s infinite center-info-star-pulse}@keyframes center-info-star-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}@keyframes reveal-card-reject{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.7)translateY(20px)}}.reveal-card-rejected{pointer-events:none;animation:.8s cubic-bezier(.4,0,.2,1) .4s forwards reveal-card-reject}
