.event-card-upload{margin:10px 0 12px}.event-card-upload-row{display:grid;grid-template-columns:2fr 1fr;gap:7px}.event-card-upload-row button{min-height:36px;border:1px solid #a8b5a1;border-radius:9px;background:#eff1e5;color:#3b5543;display:flex;align-items:center;justify-content:center;gap:6px;transition:background .16s,box-shadow .16s}.event-card-upload-row button:hover:not(:disabled){background:#e0e9d8;box-shadow:0 3px 9px #233d2412}.event-card-upload-row button[aria-expanded=true]{background:#d6e5d9;border-color:#64967b}.event-card-upload small{display:block;font-size:11px;color:#70836b;margin-top:4px;line-height:1.4}.event-card-upload input[hidden]{display:none}
.event-art-card{position:relative;width:100%;aspect-ratio:var(--card-ratio,100 / 143);perspective:1400px;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none;-webkit-tap-highlight-color:transparent;flex-shrink:0}
.event-art-arrival,.event-art-tilt,.event-art-flip{position:absolute;inset:0;transform-style:preserve-3d}
.event-art-tilt{transform:rotateZ(var(--card-rest-angle,0deg)) rotateX(var(--card-tilt-x,0deg)) rotateY(var(--card-tilt-y,0deg)) skewX(var(--card-shear,0deg)) scale(var(--card-lift,.9));transition:transform 300ms cubic-bezier(.2,.7,.25,1)}
.event-art-flip{transform:rotateY(var(--card-flip-angle,0deg));transition:transform 700ms cubic-bezier(.45,0,.2,1)}
.event-art-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;filter:drop-shadow(0 18px 15px #17261e45) drop-shadow(0 3px 2px #0b171838);transition:filter 300ms ease}
.event-art-front{transform:translateZ(.3px)}.event-art-back{transform:rotateY(180deg) translateZ(.3px)}
.event-art-face img{display:block;width:100%;height:100%;object-fit:fill;pointer-events:none;border:0!important;border-radius:0!important;box-shadow:none!important;user-select:none;-webkit-user-drag:none}
.event-art-back-mask{position:absolute;inset:0;transform:scaleX(-1);mask-image:var(--card-shape);mask-size:100% 100%;mask-repeat:no-repeat;mask-mode:alpha;-webkit-mask-image:var(--card-shape);-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat}.event-art-back-mask img{transform:scaleX(-1)}
.event-art-card.is-dragging{cursor:grabbing;z-index:3;--card-lift:1}.is-dragging .event-art-face{filter:drop-shadow(14px 36px 23px #17261e66) drop-shadow(3px 10px 8px #17261e30)}
.event-card-deal{position:fixed;inset:0;z-index:125;display:flex;align-items:center;justify-content:center;pointer-events:none;background:none}.event-card-deal .event-art-card{pointer-events:auto;width:min(63vw,504px,calc(73.8dvh * 100 / 143))}
.library-art-stage{position:relative;min-width:0;min-height:640px;display:flex;align-items:center;justify-content:center;padding:50px 30px 65px;isolation:isolate;background:radial-gradient(ellipse at center,#68746116,transparent 68%)}
.library-art-stage .event-art-card{width:min(100%,360px,calc(65dvh * 100 / 143))}.library-art-hint{position:absolute;bottom:19px;left:0;right:0;text-align:center;font-size:12px;letter-spacing:.12em;color:#818473;pointer-events:none}
.library-card-fallback{width:min(100%,300px);aspect-ratio:100/143;background:linear-gradient(145deg,#e9e3d0,#d3cdbb);border:1px solid #aaa58f;outline:1px solid #aaa58f;outline-offset:-12px;border-radius:18px;box-shadow:3px 20px 25px #28362525;display:flex;flex-direction:column;gap:20px;align-items:center;justify-content:center;text-align:center;padding:25px;color:#465546;transform:rotate(-2deg)}.library-card-fallback>span{font-size:50px;color:#758369}.library-card-fallback>strong{font:28px Georgia,'Songti SC',serif}.library-card-fallback>small{color:#7c816f}.library-card-fallback button{padding:10px;background:#eee9d9;border:1px solid #aaa58f;color:#465546;cursor:pointer}
@media(max-width:680px){.event-card-deal .event-art-card{width:min(77.4vw,calc(73.8dvh * 100 / 143))}.library-art-stage{min-height:380px;padding:35px 45px 45px}.library-art-stage .event-art-card{width:min(65vw,260px)}.library-card-fallback{max-width:210px}.library-art-hint{bottom:5px}}


.event-art-card.is-dragging .event-art-tilt{transform:rotateZ(0deg) rotateY(var(--card-tilt-y,0deg)) skewX(var(--card-shear,0deg)) scale(1);transition:transform 160ms ease-out}
.event-art-card:focus-visible:not(.is-pointer-focused) .event-art-tilt{outline:2px solid #bcac73;outline-offset:6px;border-radius:4%}
.event-art-card *{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.event-art-card:is(.is-dragging,.is-sliding){will-change:transform}
