:root{--bg: #0F0A1A;--violet: #B14EFF;--turquoise: #3DFDFF;--text: #EAE6F5;--card-bg: #17102b;--font-heading: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);overflow-x:hidden}h1,h2,h3,h4{font-family:var(--font-heading);margin:0 0 8px}.app-shell{position:relative;min-height:100vh;padding:20px 16px 40px;display:flex;flex-direction:column;gap:20px}.stardust-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(1px 1px at 10% 20%,rgba(234,230,245,.8),transparent),radial-gradient(1.5px 1.5px at 80% 10%,rgba(61,253,255,.7),transparent),radial-gradient(1px 1px at 60% 70%,rgba(177,78,255,.7),transparent),radial-gradient(1.5px 1.5px at 30% 85%,rgba(234,230,245,.6),transparent),radial-gradient(1px 1px at 90% 60%,rgba(61,253,255,.5),transparent),linear-gradient(160deg,#0f0a1a,#180f2e,#0f0a1a);background-size:200% 200%;animation:drift 40s ease-in-out infinite alternate}@keyframes drift{0%{background-position:0% 0%}to{background-position:100% 100%}}.content-layer{position:relative;z-index:1}.neon-btn{font-family:var(--font-heading);font-weight:600;font-size:15px;color:#0f0a1a;background:linear-gradient(90deg,var(--violet),var(--turquoise));border:none;border-radius:999px;padding:14px 24px;cursor:pointer;box-shadow:0 0 12px #b14eff99,0 0 24px #3dfdff40;animation:pulse-glow 2.4s ease-in-out infinite;transition:transform .15s ease}.neon-btn:active{transform:scale(.97)}.neon-btn:disabled{opacity:.5;cursor:default;animation:none}@keyframes pulse-glow{0%,to{box-shadow:0 0 10px #b14eff80,0 0 20px #3dfdff33}50%{box-shadow:0 0 18px #b14effd9,0 0 34px #3dfdff73}}.ghost-btn{background:transparent;border:1px solid rgba(177,78,255,.5);color:var(--text);border-radius:999px;padding:10px 18px;font-family:var(--font-body);cursor:pointer}.picker-grid{display:grid;gap:10px}.picker-option{background:var(--card-bg);border:1px solid rgba(177,78,255,.25);border-radius:14px;padding:14px 16px;color:var(--text);text-align:left;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.picker-option:hover,.picker-option.selected{border-color:var(--turquoise);box-shadow:0 0 14px #3dfdff4d}.deck-stage{position:relative;height:220px;display:flex;align-items:center;justify-content:center}.deck-card-back{position:absolute;width:90px;height:140px;border-radius:10px;background:linear-gradient(160deg,#241542,#120a22);border:1px solid rgba(177,78,255,.5);box-shadow:0 0 16px #b14eff73}.deck-shuffling .deck-card-back{animation:fan-shuffle 1.1s ease-in-out infinite}.deck-card-back:nth-child(1){animation-delay:0s}.deck-card-back:nth-child(2){animation-delay:.05s}.deck-card-back:nth-child(3){animation-delay:.1s}.deck-card-back:nth-child(4){animation-delay:.15s}.deck-card-back:nth-child(5){animation-delay:.2s}@keyframes fan-shuffle{0%{transform:translate(0) rotate(0);filter:brightness(1)}30%{transform:translate(-26px) rotate(-14deg);filter:brightness(1.3)}60%{transform:translate(26px) rotate(14deg);filter:brightness(1.3)}to{transform:translate(0) rotate(0);filter:brightness(1)}}.spread-row{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;perspective:1200px}.tarot-card{position:relative;width:96px;height:152px;cursor:pointer}.tarot-card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.8,.2,1)}.tarot-card.flying .tarot-card-inner{animation:fly-to-position .5s ease-out}@keyframes fly-to-position{0%{transform:translateY(60px) scale(.7) rotate(6deg);opacity:0}to{transform:translateY(0) scale(1) rotate(0);opacity:1}}.tarot-card.revealed .tarot-card-inner{transform:rotateY(180deg)}.tarot-card-face{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;border-radius:10px;display:flex;align-items:center;justify-content:center;text-align:center;padding:6px;font-size:11px;font-family:var(--font-heading)}.tarot-card-back{background:linear-gradient(160deg,#241542,#120a22);border:1px solid rgba(177,78,255,.6);box-shadow:0 0 14px #b14eff66}.tarot-card-front{transform:rotateY(180deg);background:var(--card-bg);flex-direction:column;gap:4px}.tarot-card-front.major{border:1px solid var(--violet);box-shadow:0 0 18px #b14eff8c}.tarot-card-front.minor{border:1px solid var(--turquoise);box-shadow:0 0 18px #3dfdff80}.tarot-card-front.reversed{transform:rotateY(180deg) rotate(180deg)}.tarot-card.revealed.bloom .tarot-card-inner:after{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9),transparent 60%);animation:bloom-flash .5s ease-out forwards;pointer-events:none}@keyframes bloom-flash{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(1.6)}}.position-label{margin-top:6px;font-size:11px;text-align:center;color:#eae6f5b3}.particle{position:absolute;width:4px;height:4px;border-radius:50%;pointer-events:none;animation:particle-burst .7s ease-out forwards}@keyframes particle-burst{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}.reading-block{background:var(--card-bg);border-radius:14px;padding:16px 18px;border:1px solid rgba(177,78,255,.25);opacity:0;transform:translateY(16px);animation:fade-slide-up .5s ease-out forwards;white-space:pre-wrap;line-height:1.5}@keyframes fade-slide-up{to{opacity:1;transform:translateY(0)}}.advice-line{color:var(--turquoise);font-weight:600}@media (prefers-reduced-motion: reduce){.stardust-bg,.deck-shuffling .deck-card-back{animation:none}.tarot-card-inner{transition:transform .25s linear}.tarot-card.flying .tarot-card-inner{animation:none}.tarot-card.revealed.bloom .tarot-card-inner:after{animation:none;display:none}.neon-btn{animation:none}.reading-block{animation:none;opacity:1;transform:none}}.low-power .stardust-bg,.low-power .deck-shuffling .deck-card-back,.low-power .tarot-card.flying .tarot-card-inner{animation:none}.low-power .tarot-card.revealed.bloom .tarot-card-inner:after{display:none}.low-power .neon-btn{animation:none}.footer-note{text-align:center;font-size:12px;color:#eae6f580;margin-top:auto}
