/* Bronze edges, restrained foil and a spring-like lift. No animation changes game state. */
.portrait:has(>.atlas-art){background-image:none;overflow:hidden}
.atlas-art{display:block;width:100%;height:100%;overflow:hidden;pointer-events:none}
.game-card{--tilt-x:0deg;--tilt-y:0deg;--pan-x:0px;--pan-y:0px;--fan-angle:0deg;--fan-y:0px;transform:perspective(950px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition:transform .46s cubic-bezier(.16,1,.3,1),box-shadow .35s,border-color .25s;backface-visibility:hidden}
.game-card.pointer-lit{transition:transform .12s linear,box-shadow .35s,border-color .25s}
.game-card .card-art{transform:scale(1.035) translate(var(--pan-x),var(--pan-y));transition:filter .4s,transform .3s ease-out}
.game-card:hover .card-art{transform:scale(1.075) translate(var(--pan-x),var(--pan-y));filter:saturate(1.06) contrast(1.03)}
.card-shine{background:radial-gradient(ellipse at var(--mx) var(--my),#fff6d926 0%,#c9b6830a 34%,transparent 66%),linear-gradient(115deg,transparent 25%,#f7e7b010 42%,#ffffdc32 47%,#bcdbd51c 51%,transparent 63%);background-size:100% 100%,240% 240%;background-position:center,var(--mx) var(--my);transition:opacity .4s;mix-blend-mode:screen}
.rarity-3 .card-shine{background-image:radial-gradient(ellipse at var(--mx) var(--my),#fff6d939,transparent 68%),repeating-linear-gradient(115deg,transparent 0%,#e9d4a510 20%,#dcbd7742 26%,#9ebdb82c 29%,transparent 39%)}
.game-card:before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:7;box-shadow:inset 0 1px 0 #fff4d642,inset 0 -2px 0 #0008;opacity:.7}
.game-card:hover{box-shadow:0 18px 35px #000b,0 2px 5px #0009,0 0 0 1px #e4cb8e44,0 0 25px #bcac7c16}
.game-card.selected{box-shadow:0 18px 40px #000b,0 0 0 1px #d9c38b,0 0 25px #b7a77930;outline:none}
.hand-cards{perspective:1200px;overflow:visible;gap:0;padding-top:20px;padding-bottom:13px}
.hand-card{transform:translateY(var(--fan-y)) rotate(var(--fan-angle));transform-origin:50% 130%;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .4s,filter .3s}
.hand-card:hover,.hand-card.selected,.hand-card:focus-visible{transform:translateY(-38px) rotate(0deg) perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.2);z-index:14}
.hand-card:hover .card-text,.hand-card.selected .card-text{color:#d0d4c6}
.hand-cards:has(.hand-card:hover) .hand-card:not(:hover):not(.selected){filter:brightness(.84)}
.field-card:hover{transform:perspective(900px) rotateX(calc(var(--tilt-x)*.35)) rotateY(calc(var(--tilt-y)*.35)) translateY(-3px);z-index:8}
.field-card.playable{box-shadow:0 2px 10px #0007,inset 0 0 0 1px #aec4a852,0 0 14px #7fa89020}
.slot.legal{background:radial-gradient(ellipse at center,#82b69a13,transparent 72%);border-color:#9bbb9760;box-shadow:inset 0 0 20px #87bd9a0b}
.slot.legal .slot-cross{color:#b9cdb29c;animation:slotBreath 2.3s ease-in-out infinite}
@keyframes slotBreath{50%{opacity:.4;transform:scale(.85)}}
.motion-concealed{visibility:hidden!important}
.motion-ghost{position:fixed!important;pointer-events:none!important;z-index:10!important;transform-origin:center!important;transition:none!important;outline:none!important;box-shadow:0 16px 35px #000a!important;will-change:transform,opacity}
.motion-ghost .card-shine{opacity:.45}.motion-shard{box-shadow:none!important}
.motion-ring{position:fixed;border:1px solid var(--effect-color);border-radius:50%;box-shadow:0 0 15px color-mix(in srgb,var(--effect-color) 40%,transparent),inset 0 0 15px color-mix(in srgb,var(--effect-color) 30%,transparent);z-index:15;pointer-events:none}
.motion-ring:before{content:'';position:absolute;inset:10%;border:1px dashed var(--effect-color);border-radius:50%;opacity:.6}
.motion-ring:after{content:'✦';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:26px;color:var(--effect-color)}
.motion-spark{position:fixed;width:3px;height:8px;box-shadow:0 0 7px #dfc09190;z-index:25;border-radius:50%;pointer-events:none}
.motion-trail{position:fixed;height:3px;background:linear-gradient(90deg,transparent,#dcc28780,#fff0c2);box-shadow:0 0 8px #c5a967;transform-origin:left center;z-index:9}
.motion-trail.mental{height:5px;background:linear-gradient(90deg,transparent,#7fbdbb,#d4d0ff);box-shadow:0 0 16px #a999dd}
.motion-impact{position:fixed;z-index:20;background:radial-gradient(ellipse,#fff7d9b0,transparent 68%);mix-blend-mode:screen}
.motion-number{position:fixed;font:700 38px Georgia,serif;letter-spacing:-2px;color:#fff1d3;text-shadow:0 2px 0 #2e190f,0 0 3px #2e190f,0 4px 14px #000,0 0 24px #d68b4a60;z-index:35}
.motion-number.heal{color:#b8f3d6;text-shadow:0 2px 0 #142c22,0 0 16px #6ab39870}
.motion-heal-aura{position:fixed;background:linear-gradient(0deg,#93d8b040,transparent 80%);border-bottom:2px solid #b5ecc5;box-shadow:0 10px 25px #87cca327;z-index:20}
.motion-environment{position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 12%,#83aea230 50%,#768ea345);box-shadow:inset 0 0 160px #9ab5ab60;z-index:5}
.motion-turn{position:fixed;left:50%;top:42%;transform:translateX(-50%);width:min(440px,85vw);padding:22px 45px;background:linear-gradient(90deg,transparent,#0a1212f2 20%,#0a1212f2 80%,transparent);text-align:center;z-index:40;border-block:1px solid #c4ae7845}
.motion-turn small{display:block;color:#a89c7a;font-size:8px;letter-spacing:4px;margin-bottom:10px}.motion-turn strong{font:26px var(--serif);letter-spacing:10px;color:#e0d0a8}
.motion-playing .turn-actions .primary{filter:saturate(.7)}
.motion-modal{max-width:820px;width:100%;background:radial-gradient(ellipse at 50% 55%,#34433955,transparent 65%),#101a19}
.motion-modal>p{color:#96a59a;font-size:12px}.motion-arena{display:flex;justify-content:center;align-items:center;gap:100px;min-height:335px;padding:20px;perspective:1200px;background:radial-gradient(ellipse,#bcad6c0c,transparent 68%)}
.motion-arena .game-card{width:172px;height:255px}.motion-arena>span{color:#8a8268;font:20px Georgia}.motion-demo-controls{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:12px}.motion-demo-controls button{min-width:110px}.motion-modal footer{text-align:center;color:#7b8a80;font-size:10px;margin-top:20px}
.conquest-hand .hand-cards{overflow:visible;gap:10px}.conquest-hand .game-card{transform:translateY(var(--fan-y)) rotate(var(--fan-angle))!important}.conquest-hand .game-card:hover,.conquest-hand .game-card.selected{transform:translateY(-22px) perspective(900px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.1)!important}
@media(max-width:760px){.hand-cards,.conquest-hand .hand-cards{overflow-x:auto;padding:20px 6px 12px;gap:8px}.hand-card{transform:none}.hand-card:hover,.hand-card.selected,.hand-card:focus-visible{transform:translateY(-7px) scale(1.03)}.motion-arena{gap:20px;min-height:270px;padding:15px 0}.motion-arena .game-card{width:130px;height:195px}.motion-arena .card-body h3{font-size:12px}.motion-arena .card-text{font-size:7px}.motion-arena>span{display:none}.motion-demo-controls button{min-width:0;font-size:11px}.motion-number{font-size:30px}.conquest-hand .game-card,.conquest-hand .game-card:hover,.conquest-hand .game-card.selected{transform:none!important}}
@media(prefers-reduced-motion:reduce){.game-card,.hand-card:hover,.hand-card.selected,.field-card:hover{transform:none!important}.game-card .card-art{transform:none!important}.slot-cross{animation:none!important}}
.reduce-motion .game-card,.reduce-motion .hand-card:hover,.reduce-motion .hand-card.selected,.reduce-motion .conquest-hand .game-card{transform:none!important}.reduce-motion .game-card .card-art{transform:none!important}
.game-card.hand-card.pointer-lit{transition:transform .46s cubic-bezier(.2,.8,.25,1),box-shadow .38s,filter .3s}
.hand-card.resting:not(.selected),.hand-card.resting:not(.selected):hover,.hand-card.resting:not(.selected):focus-visible{transform:translateY(var(--fan-y)) rotate(var(--fan-angle));z-index:1;box-shadow:0 6px 22px #0008}
.conquest-hand .hand-card.resting:not(.selected),.conquest-hand .hand-card.resting:not(.selected):hover{transform:translateY(var(--fan-y)) rotate(var(--fan-angle))!important}
.hand-card.resting:not(.selected) .card-shine{opacity:.12}.hand-card.resting:not(.selected) .card-art{transform:scale(1.035);filter:saturate(.85)}
@media(max-width:760px){.hand-card.resting:not(.selected),.hand-card.resting:not(.selected):hover{transform:none}}
