:root{--cw:80px;--ch:136px}@media (max-width:600px){:root{--cw:66px;--ch:112px}}@keyframes glowPulse{0%,to{box-shadow:0 0 #c89b5c4d}50%{box-shadow:0 0 14px 4px #c89b5c26}}.card-container-3d{width:var(--cw);height:var(--ch);perspective:1000px;cursor:pointer}.card-inner-3d{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s;position:relative}.card-inner-3d.flipped{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;border-radius:10px;width:100%;height:100%;position:absolute;overflow:hidden}.card-face-front{transform:rotateY(180deg)}.card-face-front img{object-fit:cover;width:100%;height:100%;display:block}.card-face-front img.reversed{transform:rotate(180deg)}.card-face-back{background:url(/images/tarot/card-back.png) 50%/cover no-repeat}.card-fallback{background:linear-gradient(135deg, var(--indigo-deep,#15122b), var(--indigo,#2a2552));text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;padding:6px;display:flex}.card-orient{white-space:nowrap;opacity:0;z-index:2;border-radius:3px;padding:1px 5px;font-size:.65rem;transition:opacity .3s;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.card-orient.show{opacity:1}.card-orient.orient-up{color:#90ee90;background:#2c782ccc}.card-orient.orient-rev{color:#faa;background:#782c2ccc}.fan-card{cursor:pointer;transform:rotate(var(--rot,0deg));will-change:transform;background:url(/images/tarot/card-back.png) 50%/cover no-repeat;border-radius:7px;transition:transform .16s,box-shadow .16s;position:absolute;overflow:hidden}.fan-card:hover,.fan-card.touch-active{box-shadow:0 0 20px #c89b5c8c;z-index:200!important;transform:translateY(-26px)rotate(0)!important}.fan-card.fan-picked{opacity:0;pointer-events:none;transition:opacity .28s}.spread-slot{position:absolute}.spread-slot .slot-num{color:var(--gold-deep,#8b6914);z-index:1;background:#00000059;border-radius:4px;padding:1px 6px;font-size:.7rem;position:absolute;top:-18px;left:50%;transform:translate(-50%)}.spread-slot .slot-label{white-space:nowrap;color:var(--ink-2,#9a917e);text-align:center;width:130px;font-size:.68rem;position:absolute;bottom:-22px;left:50%;transform:translate(-50%)}@media (max-width:600px){.spread-slot .slot-label{width:100px;font-size:.6rem}}.slot-empty{width:var(--cw);height:var(--ch);border:2px dashed #c89b5c40;border-radius:10px;justify-content:center;align-items:center;display:flex}.slot-empty.slot-next{border-color:#c89b5cd9;animation:1.4s ease-in-out infinite glowPulse}.slot-card-back{width:var(--cw);height:var(--ch);background:url(/images/tarot/card-back.png) 50%/cover no-repeat;border-radius:10px;flex-shrink:0;overflow:hidden}.spread-vertical{flex-direction:column;align-items:flex-start;gap:10px;padding:20px 30px;display:flex}.spread-vertical .slot-row{align-items:center;gap:12px;display:flex;position:relative}.spread-vertical .spread-slot,.spread-vertical .slot-card-back,.spread-vertical .slot-empty{position:static!important}.spread-vertical .vert-label{color:var(--ink-2,#9a917e);font-size:.8rem;line-height:1.3}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.phase-enter{animation:.5s forwards fadeSlideIn}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.reading-shimmer{background:linear-gradient(90deg, var(--bg-sunken) 25%, var(--bg-elevated) 50%, var(--bg-sunken) 75%);background-size:200% 100%;border-radius:8px;animation:1.5s infinite shimmer}@keyframes brandPulse{0%,to{opacity:.55;filter:drop-shadow(0 0 #c89b5c00);transform:scale(1)}50%{opacity:1;filter:drop-shadow(0 0 12px #c89b5c80);transform:scale(1.06)}}@keyframes orbitDot{0%{transform:rotate(0)translate(38px)rotate(0)}to{transform:rotate(360deg)translate(38px)rotate(-360deg)}}@keyframes msgFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes softBlink{0%,to{opacity:1}50%{opacity:.25}}.reading-wait-symbol{animation:3s ease-in-out infinite brandPulse}.reading-wait-orbit{background:var(--gold,#c89b5c);border-radius:50%;width:6px;height:6px;animation:4s linear infinite orbitDot;position:absolute;top:calc(50% - 3px);left:calc(50% - 3px)}.reading-wait-msg{animation:.5s forwards msgFadeIn}.reading-wait-msg-blink{animation:1.8s ease-in-out infinite softBlink}.guest-mask{position:relative;overflow:hidden}.guest-mask:after{content:"";background:linear-gradient(to bottom, transparent 0%, var(--bg-elevated) 60%);pointer-events:none;height:40%;position:absolute;bottom:0;left:0;right:0}
