.access-card{isolation:isolate;aspect-ratio:1.65;border:1px solid var(--vibe-edge);background:radial-gradient(ellipse at 88% 8%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 62%), linear-gradient(125deg, var(--vibe-tint), var(--surface) 75%);border-radius:20px;margin:24px 0;padding:20px;position:relative;overflow:hidden;box-shadow:0 12px 28px #00000008,inset 0 1px #ffffff18}.access-card-brand{color:var(--accent-ink);letter-spacing:-1px;font-size:20px;font-weight:600}.access-card-art{object-fit:contain;width:44%;height:60%;position:absolute;top:10px;right:10px;transform:rotate(-12deg)}.access-card-person{align-items:center;gap:10px;display:flex;position:absolute;bottom:43px;left:20px;right:20px}.access-card-person>span{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.access-card-person .lounge-avatar,.access-card-person .lounge-avatar-fallback{border-radius:50%;flex-shrink:0}.access-card-caption{color:var(--muted);letter-spacing:1.7px;font-size:9px;position:absolute;bottom:20px;left:20px}.access-card-check{background:var(--accent);width:24px;height:24px;color:var(--surface);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:16px;right:18px}.access-card[data-state=preparing]:after{content:"";background:linear-gradient(110deg, transparent 25%, color-mix(in srgb, var(--accent) 10%, transparent) 50%, transparent 75%);animation:2.4s ease-in-out infinite pass-arrival;position:absolute;inset:0}.access-card.has-price{aspect-ratio:1.5;min-height:270px}.access-card.has-price .access-card-art{height:48%}.access-card.has-price .access-card-person{bottom:100px}.access-card.has-price .access-card-caption{bottom:76px}.access-card-price{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding-top:12px;display:flex;position:absolute;bottom:18px;left:20px;right:20px}.access-card-price-label{color:var(--muted);font-size:12px}.access-card-price .eth-amount{font-size:20px;font-weight:500}.access-card-price .skeleton{width:100px;height:22px}@keyframes pass-arrival{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){.access-card[data-state=preparing]:after{animation:none}}.access-card:before{content:"";border:1px solid color-mix(in srgb, var(--accent) 16%, transparent);border-radius:var(--vibe-arch-radius);width:44%;height:90%;box-shadow:0 0 0 12px color-mix(in srgb, var(--accent) 3%, transparent), 0 0 0 26px color-mix(in srgb, var(--accent) 2%, transparent);pointer-events:none;z-index:-1;position:absolute;top:-18%;right:-5%;transform:rotate(18deg)}.access-card[data-state=ready]{border-color:color-mix(in srgb, var(--accent) 35%, var(--border));animation:.64s cubic-bezier(.16,1,.3,1) both vibe-pass-arrive}.access-card[data-state=ready]:after{content:"";pointer-events:none;background:linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--accent) 9%, transparent) 45%, #ffffff24 50%, transparent 65%);animation:.95s ease-out .12s both vibe-pass-light;position:absolute;inset:0;transform:translate(110%)}@keyframes vibe-pass-arrive{0%{opacity:0;transform:perspective(900px)translateY(14px)rotateX(7deg)rotate(-1deg)scale(.97)}to{opacity:1;transform:perspective(900px)translateY(0)rotateX(0)rotate(0)scale(1)}}@keyframes vibe-pass-light{0%{transform:translate(-110%)}to{transform:translate(110%)}}@media (prefers-reduced-motion:reduce){.access-card[data-state=ready],.access-card[data-state=ready]:after{animation:none}}
