:root{--card-back-light:#e8e9eb;--card-back-dark:#c8c9cb;--card-back-stripe:#0000000f;--card-back-border:#00000014;--card-back-inner-border:#0000000a;--card-back-glare:#0000004d;--card-back-gradient-a:#00000026;--card-back-gradient-b:#ffffff1a}.dark{--card-back-light:#2a2d30;--card-back-dark:#1a1c1e;--card-back-stripe:#ffffff0a;--card-back-border:#ffffff1a;--card-back-inner-border:#ffffff0f;--card-back-glare:#ffffff80;--card-back-gradient-a:#00000040;--card-back-gradient-b:#ffffff26}.card-scene{perspective:800px;perspective-origin:50%}.card-inner{width:100%;height:100%;transform-style:preserve-3d;will-change:transform;transition:transform .6s cubic-bezier(.4,.2,.2,1);position:relative}.card-inner.flipped{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;border-radius:10px;position:absolute;inset:0;overflow:hidden}.card-front{transform:rotateY(0)}.card-back{transform:rotateY(180deg)}.card-back-inner:before{content:"";border:1px solid var(--card-back-inner-border);pointer-events:none;border-radius:6px;position:absolute;inset:6px}.card-tilt-host{flex-shrink:0}.card-tilt-host::part(container),.card-tilt-host::part(shadow){border-radius:10px}.card-front .card-glare{border-radius:inherit;pointer-events:none;z-index:20;opacity:var(--hover-tilt-opacity,0);position:absolute;inset:0}@keyframes sparkle-float{0%{opacity:0;transform:translate(0)scale(0)}20%{opacity:1;transform:translate(var(--tx1),var(--ty1))scale(1)}to{opacity:0;transform:translate(var(--tx2),var(--ty2))scale(0)}}.sparkle{animation:1.4s ease-out forwards sparkle-float;box-shadow:0 0 8px 3px}@keyframes card-pulse{0%,to{box-shadow:0 0 #fbbf2466}50%{box-shadow:0 0 0 8px #fbbf2400}}.card-tray-btn-pulse{animation:2s ease-in-out infinite card-pulse}@keyframes card-idle-float{0%,to{transform:rotateX(var(--idle-rx-start,0deg))rotateY(var(--idle-ry-start,0deg))rotateZ(var(--idle-rz,0deg))}50%{transform:rotateX(var(--idle-rx-end,2deg))rotateY(var(--idle-ry-end,3deg))rotateZ(var(--idle-rz,0deg))}}.card-idle-animate{animation:card-idle-float var(--idle-duration,6s)ease-in-out infinite;transform-style:preserve-3d}.card-idle-animate:hover{animation-play-state:paused}
