.card{--card-hue: 142;--rotate-x: 0deg;--rotate-y: 0deg;--shine-x: 50%;--shine-y: 50%;--scaled-radius: var(--card-radius);position:relative;width:var(--card-width);height:var(--card-height);border-radius:var(--scaled-radius);cursor:pointer;transform-style:preserve-3d;transition:transform .2s ease-in-out,box-shadow .2s ease-in-out;flex-shrink:0;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.hand .card{z-index:1;transition:transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s ease-out,filter .3s ease-out,margin .3s ease-out,z-index 0s}.hand .card:hover{z-index:100}.card-inner{position:relative;width:100%;height:100%;border-radius:var(--scaled-radius);transform-style:preserve-3d}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--scaled-radius);overflow:hidden;background:linear-gradient(135deg,hsl(var(--card-hue),60%,25%),hsl(var(--card-hue),70%,15%),hsl(var(--card-hue),60%,20%));border:4px solid hsl(var(--card-hue),50%,40%);box-shadow:inset 0 0 0 2px hsl(var(--card-hue),60%,10%),inset 0 0 30px #00000080,0 10px 30px #00000080,0 0 20px hsla(var(--card-hue),70%,50%,.3)}.card-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--scaled-radius);transform:rotateY(180deg);background:repeating-linear-gradient(45deg,var(--rift-purple) 0px,var(--rift-purple) 3px,var(--bg-dark) 3px,var(--bg-dark) 12px);border:4px solid var(--rift-purple);box-shadow:inset 0 0 30px #6b21a880,0 10px 30px #00000080;display:flex;align-items:center;justify-content:center}.card-back:after{content:"⬡";font-size:4rem;color:var(--rift-cyan);text-shadow:0 0 20px var(--rift-cyan);animation:backGlow 2s ease-in-out infinite}@keyframes backGlow{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.card:before,.card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--scaled-radius);pointer-events:none;z-index:10}.card:before{background:linear-gradient(115deg,transparent 0%,transparent 20%,rgba(255,0,128,.2) 35%,rgba(0,255,255,.25) 45%,rgba(255,255,0,.15) 50%,rgba(0,255,128,.2) 55%,rgba(128,0,255,.15) 65%,transparent 80%,transparent 100%);background-size:300% 300%;animation:shimmer 4s ease-in-out infinite;mix-blend-mode:color-dodge;opacity:.6}@keyframes shimmer{0%{background-position:200% 50%}50%{background-position:0% 50%}to{background-position:-200% 50%}}.card:after{background:radial-gradient(circle at 30% 20%,rgba(255,255,255,.3) 0%,transparent 8%),radial-gradient(circle at 70% 40%,rgba(255,255,255,.2) 0%,transparent 6%),radial-gradient(circle at 50% 80%,rgba(255,255,255,.25) 0%,transparent 10%),radial-gradient(circle at 20% 60%,rgba(255,255,255,.15) 0%,transparent 5%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.2) 0%,transparent 7%);opacity:0;transition:opacity .3s ease}.card:hover:after{opacity:1;animation:sparkle 1.5s ease-in-out infinite}.hand .card:hover{box-shadow:0 25px 50px #0009,0 0 40px hsla(var(--card-hue),70%,50%,.5)}.hand .card:hover:before{opacity:1;animation:shimmer 2s ease-in-out infinite}.card.holo-active{transform:perspective(1000px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) scale(1.05)}.hand .card.holo-active{transform:perspective(1000px) rotateX(var(--rotate-x)) rotateY(var(--rotate-y)) translateY(-30px) scale(1.08);z-index:100}.card.holo-active:before{background:radial-gradient(circle at var(--shine-x) var(--shine-y),rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 20%,transparent 50%),linear-gradient(115deg,transparent 0%,transparent 20%,rgba(255,0,128,.3) 35%,rgba(0,255,255,.35) 45%,rgba(255,255,0,.2) 50%,rgba(0,255,128,.3) 55%,rgba(128,0,255,.25) 65%,transparent 80%,transparent 100%);background-size:100% 100%,300% 300%;animation:shimmer 2s ease-in-out infinite;opacity:1}.card-particle{position:fixed;width:4px;height:4px;background:var(--rift-cyan);border-radius:50%;pointer-events:none;z-index:1000;animation:floatParticle 1s ease-out forwards;box-shadow:0 0 6px var(--rift-cyan)}@keyframes floatParticle{0%{transform:scale(0) translateY(0);opacity:1}50%{opacity:1}to{transform:scale(1.5) translateY(-30px);opacity:0}}@keyframes sparkle{0%,to{opacity:.5}50%{opacity:1}}.card-content{position:relative;display:flex;flex-direction:column;height:100%;padding:8px;z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none}.card-header{display:flex;justify-content:space-between;align-items:flex-start;padding:6px 8px;background:linear-gradient(180deg,hsla(var(--card-hue),70%,30%,.9),hsla(var(--card-hue),60%,20%,.9));border-radius:4px 4px 0 0;border-left:2px solid hsla(var(--card-hue),50%,50%,.5);border-right:2px solid hsla(var(--card-hue),50%,50%,.5);border-top:2px solid hsla(var(--card-hue),50%,50%,.5);border-bottom:none}.card-name{font-family:var(--font-pixel);font-size:.55rem;color:var(--text-primary);text-shadow:2px 2px 0 rgba(0,0,0,.5);line-height:1.3;max-width:110px;word-wrap:break-word}.card-cost{display:flex;align-items:center;justify-content:center;width:26px;height:26px;background:var(--bg-dark);border:3px solid var(--text-accent);border-radius:50%;font-family:var(--font-pixel);font-size:.7rem;color:var(--text-accent);text-shadow:0 0 8px var(--text-accent);flex-shrink:0}.card-art{flex:1;background:var(--bg-dark);border-left:2px solid hsla(var(--card-hue),50%,50%,.5);border-right:2px solid hsla(var(--card-hue),50%,50%,.5);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;min-height:80px;background-image:linear-gradient(45deg,hsla(var(--card-hue),30%,20%,.5) 25%,transparent 25%),linear-gradient(-45deg,hsla(var(--card-hue),30%,20%,.5) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,hsla(var(--card-hue),30%,20%,.5) 75%),linear-gradient(-45deg,transparent 75%,hsla(var(--card-hue),30%,20%,.5) 75%);background-size:8px 8px;background-position:0 0,0 4px,4px -4px,-4px 0}.card-art:has(img){background-image:none}.card-art:has(img):before{display:none}.card-art img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:pixelated;image-rendering:crisp-edges;display:block;pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.card-art:before{content:attr(data-type-icon);font-size:3rem;color:hsla(var(--card-hue),60%,50%,.4);text-shadow:0 0 20px hsla(var(--card-hue),60%,50%,.3)}.card-type{display:flex;justify-content:center;padding:4px;background:hsla(var(--card-hue),60%,25%,.9);border-left:2px solid hsla(var(--card-hue),50%,50%,.5);border-right:2px solid hsla(var(--card-hue),50%,50%,.5)}.card-type span{font-family:var(--font-pixel);font-size:.45rem;color:hsla(var(--card-hue),60%,70%,1);letter-spacing:2px;text-transform:uppercase}.card-text{padding:8px;background:linear-gradient(180deg,hsla(var(--card-hue),60%,20%,.9),hsla(var(--card-hue),70%,15%,.95));border-radius:0 0 4px 4px;border-left:2px solid hsla(var(--card-hue),50%,50%,.5);border-right:2px solid hsla(var(--card-hue),50%,50%,.5);border-bottom:2px solid hsla(var(--card-hue),50%,50%,.5);border-top:none;min-height:50px}.card-effect{font-family:var(--font-retro);font-size:.9rem;color:var(--text-primary);line-height:1.2;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.card-stats{position:absolute;bottom:8px;right:8px;display:flex;gap:4px;z-index:5}.stat-power{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:linear-gradient(135deg,#dc2626,#991b1b);border:3px solid #fca5a5;border-radius:4px;font-family:var(--font-pixel);font-size:.8rem;color:#fff;text-shadow:2px 2px 0 rgba(0,0,0,.5);box-shadow:0 4px #7f1d1d,0 0 10px #dc262680}.card[data-type=creature]{--card-hue: 142}.card[data-type=creature] .card-art:before{content:"🐉"}.card[data-type=spell]{--card-hue: 217}.card[data-type=spell] .card-art:before{content:"✨"}.card[data-rarity=common]:before{opacity:.3}.card[data-rarity=uncommon]:before{opacity:.5}.card[data-rarity=rare]:before{opacity:1;background:linear-gradient(115deg,transparent 0%,transparent 20%,rgba(255,0,128,.3) 35%,rgba(0,255,255,.3) 40%,rgba(255,255,0,.2) 45%,rgba(0,255,128,.3) 50%,rgba(128,0,255,.2) 55%,transparent 70%,transparent 100%)}.card[data-rarity=legendary]{animation:legendaryGlow 2s ease-in-out infinite}.card[data-rarity=legendary]:before{opacity:1;animation:prismatic 2s linear infinite;background:linear-gradient(115deg,#f006,#ff800066,#ff06,#0f06,#0ff6,#00f6,#8000ff66 90%,#f0f6);background-size:300% 300%}@keyframes prismatic{0%{background-position:0% 50%;filter:hue-rotate(0deg)}to{background-position:100% 50%;filter:hue-rotate(360deg)}}@keyframes legendaryGlow{0%,to{box-shadow:0 0 30px #ffd70080,0 10px 30px #00000080}50%{box-shadow:0 0 50px #ffd700cc,0 10px 30px #00000080}}.card.mini{--card-width: 80px;--card-height: 112px;--scaled-radius: 6px}.card.mini .card-face,.card.mini .card-back{border-width:2px}.card.mini .card-content{padding:4px}.card.mini .card-header{padding:3px 5px;border-radius:3px 3px 0 0;border-left-width:1px;border-right-width:1px;border-top-width:1px}.card.mini .card-name{font-size:.35rem;max-width:50px}.card.mini .card-cost{width:16px;height:16px;font-size:.45rem;border-width:2px}.card.mini .card-art{border-left-width:1px;border-right-width:1px;min-height:40px}.card.mini .card-type{padding:2px;border-left-width:1px;border-right-width:1px}.card.mini .card-type span{font-size:.3rem;letter-spacing:1px}.card.mini .card-text{padding:4px;border-radius:0 0 3px 3px;border-left-width:1px;border-right-width:1px;border-bottom-width:1px;min-height:30px}.card.mini .card-effect{font-size:.55rem;line-height:1.1}.card.mini .card-stats{bottom:4px;right:4px}.card.mini .stat-power{width:18px;height:18px;font-size:.45rem;border-width:2px;border-radius:3px;box-shadow:0 2px #7f1d1d,0 0 6px #dc262680}@media (min-width: 768px){.card.mini{--card-width: 90px;--card-height: 126px;--scaled-radius: 7px}.card.mini .card-name{font-size:.38rem;max-width:55px}.card.mini .stat-power{width:22px;height:22px;font-size:.55rem}}@media (min-width: 1024px){.card.mini{--card-width: 100px;--card-height: 140px;--scaled-radius: 8px}.card.mini .card-name{font-size:.4rem;max-width:60px}.card.mini .card-cost{width:20px;height:20px;font-size:.55rem}.card.mini .card-type span{font-size:.35rem}.card.mini .card-effect{font-size:.7rem}.card.mini .stat-power{width:24px;height:24px;font-size:.6rem}}@media (min-width: 1440px){.card.mini{--card-width: 120px;--card-height: 168px;--scaled-radius: 10px}.card.mini .card-name{font-size:.45rem;max-width:75px}.card.mini .card-cost{width:22px;height:22px;font-size:.6rem}.card.mini .card-type span{font-size:.4rem}.card.mini .card-effect{font-size:.8rem}.card.mini .stat-power{width:28px;height:28px;font-size:.7rem}}@media (min-width: 1920px){.card.mini{--card-width: 140px;--card-height: 196px;--scaled-radius: 12px}.card.mini .card-name{font-size:.5rem;max-width:90px}.card.mini .card-cost{width:24px;height:24px}.card.mini .stat-power{width:32px;height:32px;font-size:.75rem}}.card.selected{box-shadow:0 0 0 4px var(--text-accent),0 0 30px var(--text-accent),0 10px 30px #00000080}.card.tapped{transform:rotate(90deg);opacity:.7}.card.disabled{filter:grayscale(70%);opacity:.5;pointer-events:none}@keyframes drawCard{0%{transform:translateY(-120px) translate(200px) rotateY(180deg) rotate(15deg) scale(.3);opacity:0;filter:blur(4px)}30%{transform:translateY(-60px) translate(50px) rotateY(90deg) rotate(5deg) scale(.7);opacity:.8;filter:blur(1px)}60%{transform:translateY(15px) translate(-10px) rotateY(0) rotate(-3deg) scale(1.05);opacity:1;filter:blur(0)}80%{transform:translateY(-5px) translate(0) rotateY(0) rotate(var(--base-rotation, 0deg)) scale(1.02)}to{transform:translateY(0) translate(0) rotateY(0) rotate(var(--base-rotation, 0deg)) scale(1)}}@keyframes dealGlow{0%{box-shadow:0 0 #a855f700,0 0 #06b6d400}40%{box-shadow:0 0 25px 5px #a855f780,0 0 40px 10px #06b6d44d}to{box-shadow:0 10px 30px #00000080,0 0 20px hsla(var(--card-hue),70%,50%,.3)}}.card.drawing{animation:drawCard .7s cubic-bezier(.34,1.56,.64,1) forwards,dealGlow .7s ease-out forwards;transform-origin:center bottom}.card.drawing:nth-child(1){animation-delay:0ms}.card.drawing:nth-child(2){animation-delay:80ms}.card.drawing:nth-child(3){animation-delay:.16s}.card.drawing:nth-child(4){animation-delay:.24s}.card.drawing:nth-child(5){animation-delay:.32s}.card.drawing:nth-child(6){animation-delay:.4s}.card.drawing:nth-child(7){animation-delay:.48s}.card.drawing:nth-child(8){animation-delay:.56s}.card.drawing{opacity:0}@keyframes playCard{0%{transform:translateY(0) scale(1);opacity:1}30%{transform:translateY(-50px) scale(1.2);opacity:1}60%{transform:translateY(-200px) scale(.8);opacity:.8}to{transform:translateY(-300px) scale(.6);opacity:0}}.card.playing{animation:playCard .5s cubic-bezier(.55,.055,.675,.19) forwards;pointer-events:none}@keyframes enterField{0%{transform:scale(.2) rotate(180deg) translateY(-50px);opacity:0;filter:blur(8px) brightness(2)}40%{transform:scale(1.15) rotate(-8deg) translateY(10px);opacity:1;filter:blur(0) brightness(1.3)}70%{transform:scale(.95) rotate(3deg) translateY(-5px);filter:brightness(1.1)}85%{transform:scale(1.02) rotate(-1deg) translateY(2px)}to{transform:scale(1) rotate(0) translateY(0);opacity:1;filter:brightness(1)}}.card.entering{animation:enterField .5s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes riftPortal{0%{box-shadow:0 0 #a855f7e6,0 0 #06b6d4b3,inset 0 0 30px #a855f780}30%{box-shadow:0 0 40px 25px #a855f780,0 0 70px 40px #06b6d44d,inset 0 0 20px #a855f74d}to{box-shadow:0 10px 30px #00000080,0 0 20px hsla(var(--card-hue),70%,50%,.3),inset 0 0 #a855f700}}.card.entering:after{animation:riftPortal .6s ease-out forwards!important;opacity:1!important}@keyframes attackSlash{0%{transform:translate(0) rotate(0)}20%{transform:translate(-20px) rotate(-5deg)}50%{transform:translate(100px) rotate(10deg)}70%{transform:translate(80px) rotate(5deg)}to{transform:translate(0) rotate(0)}}.card.attacking{animation:attackSlash .4s cubic-bezier(.25,.46,.45,.94)}@keyframes takeDamage{0%,to{transform:translate(0);filter:brightness(1)}10%,30%,50%,70%,90%{transform:translate(-5px);filter:brightness(2) saturate(0)}20%,40%,60%,80%{transform:translate(5px);filter:brightness(1.5)}}.card.damaged{animation:takeDamage .3s ease-out}@keyframes damagePopup{0%{transform:translateY(0) scale(.5);opacity:0}20%{transform:translateY(-10px) scale(1.2);opacity:1}80%{transform:translateY(-40px) scale(1);opacity:1}to{transform:translateY(-60px) scale(.8);opacity:0}}.damage-number{position:absolute;font-family:var(--font-pixel);font-size:2rem;color:#ef4444;text-shadow:2px 2px 0 #000,-2px -2px 0 #000,2px -2px 0 #000,-2px 2px 0 #000,0 0 20px rgba(239,68,68,.8);pointer-events:none;z-index:100;animation:damagePopup .8s ease-out forwards}@keyframes cardDestroy{0%{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}30%{transform:scale(1.1) rotate(-5deg);filter:brightness(2)}to{transform:scale(0) rotate(180deg);opacity:0;filter:brightness(3) saturate(0)}}.card.destroying{animation:cardDestroy .5s cubic-bezier(.55,.055,.675,.19) forwards}@keyframes particle{0%{transform:translate(0) scale(1);opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}.particle{position:absolute;width:8px;height:8px;background:var(--rift-glow);border-radius:50%;pointer-events:none;animation:particle .6s ease-out forwards}@keyframes deckShuffle{0%,to{transform:translateY(0)}25%{transform:translateY(-10px) rotate(5deg)}75%{transform:translateY(-10px) rotate(-5deg)}}.deck-pile.shuffling .deck-card{animation:deckShuffle .3s ease-in-out}.deck-pile.shuffling .deck-card:nth-child(1){animation-delay:0ms}.deck-pile.shuffling .deck-card:nth-child(2){animation-delay:50ms}.deck-pile.shuffling .deck-card:nth-child(3){animation-delay:.1s}@keyframes leavesDeck{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(-200px,-100px) rotate(-15deg);opacity:0}}.deck-card.leaving{animation:leavesDeck .3s ease-in forwards}@keyframes lifePulse{0%,to{transform:scale(1);text-shadow:0 0 8px currentColor}50%{transform:scale(1.3);text-shadow:0 0 20px currentColor}}.stat-value.pulsing{animation:lifePulse .3s ease-out}@keyframes shakeScreen{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-5px)}20%,40%,60%,80%{transform:translate(5px)}}.game-board.shake{animation:shakeScreen .3s ease-out}@keyframes turnBounce{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.turn-indicator.show{animation:turnBounce .5s ease-out}@keyframes glowPulse{0%,to{box-shadow:0 4px #1e1b4b,0 0 15px #06b6d44d}50%{box-shadow:0 4px #1e1b4b,0 0 30px #06b6d499}}.draw-button:not(:disabled){animation:glowPulse 2s ease-in-out infinite}.draw-button:disabled{animation:none;opacity:.5;cursor:not-allowed}.hand .card:not(:first-child){margin-left:-40px}.hand:hover .card:not(:first-child){margin-left:-25px}.hand .card:nth-child(1){--base-rotation: -9deg;--y-offset: 8px}.hand .card:nth-child(2){--base-rotation: -6deg;--y-offset: 4px}.hand .card:nth-child(3){--base-rotation: -3deg;--y-offset: 1px}.hand .card:nth-child(4){--base-rotation: 0deg;--y-offset: 0px}.hand .card:nth-child(5){--base-rotation: 3deg;--y-offset: 1px}.hand .card:nth-child(6){--base-rotation: 6deg;--y-offset: 4px}.hand .card:nth-child(7){--base-rotation: 9deg;--y-offset: 8px}.hand .card:nth-child(8){--base-rotation: 12deg;--y-offset: 13px}.hand .card{--base-rotation: 0deg;--y-offset: 0px;transform:rotate(var(--base-rotation)) translateY(var(--y-offset));transform-origin:center bottom}.hand .card:hover{transform:perspective(800px) translateY(-45px) translateZ(100px) rotate(0) scale(1.2);filter:brightness(1.1);box-shadow:0 30px 60px #000000b3,0 0 50px hsla(var(--card-hue),70%,50%,.6),0 0 100px hsla(var(--card-hue),70%,50%,.2)}.hand .card:hover+.card{transform:rotate(calc(var(--base-rotation) + 2deg)) translateY(calc(var(--y-offset) - 10px))}.hand .card:has(+.card:hover){transform:rotate(calc(var(--base-rotation) - 2deg)) translateY(calc(var(--y-offset) - 10px))}:root{--bg-dark: #0a0a12;--bg-mid: #12121f;--bg-light: #1a1a2e;--rift-purple: #6b21a8;--rift-cyan: #06b6d4;--rift-pink: #ec4899;--rift-glow: #a855f7;--creature-primary: #22c55e;--creature-secondary: #15803d;--creature-accent: #86efac;--spell-primary: #3b82f6;--spell-secondary: #1d4ed8;--spell-accent: #93c5fd;--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-accent: #fbbf24;--life-red: #ef4444;--life-green: #22c55e;--card-width: 140px;--card-height: 196px;--card-radius: 10px;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--font-pixel: "Press Start 2P", monospace;--font-retro: "VT323", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{height:100%;overflow:hidden;padding:12px;box-sizing:border-box;font-family:var(--font-retro);background:var(--bg-dark);color:var(--text-primary);background-image:radial-gradient(ellipse at 50% 0%,rgba(107,33,168,.15) 0%,transparent 50%),radial-gradient(ellipse at 50% 100%,rgba(6,182,212,.1) 0%,transparent 50%),linear-gradient(180deg,var(--bg-dark) 0%,var(--bg-mid) 50%,var(--bg-dark) 100%);background-attachment:fixed}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.1) 2px,rgba(0,0,0,.1) 4px);pointer-events:none;z-index:1000}#game-container{display:flex;flex-direction:column;height:100%;width:100%;max-width:100%;margin:0 auto;padding:var(--spacing-sm);position:relative;border-radius:16px;overflow:hidden;background:linear-gradient(180deg,#1a1a2e99,#0a0a12cc,#1a1a2e99);box-shadow:0 0 0 2px var(--rift-purple),0 0 40px #6b21a833,inset 0 0 100px #0000004d}.game-header{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1.5rem;background:linear-gradient(180deg,var(--bg-light) 0%,transparent 100%);border-bottom:2px solid var(--rift-purple);margin-bottom:1rem;gap:1rem}.logo{display:flex;align-items:center;flex:0 0 auto}.logo-image{height:60px;width:auto;object-fit:contain;filter:drop-shadow(0 0 8px var(--rift-cyan)) drop-shadow(0 0 16px var(--rift-purple))}.player-stats-group,.opponent-stats-group{display:flex;align-items:center;gap:1.5rem;flex:1}.player-stats-group{justify-content:flex-start}.opponent-stats-group{justify-content:flex-end}.opponent-info-header{text-align:right}.opponent-name-header{font-family:var(--font-pixel);font-size:.9rem;color:var(--life-red);letter-spacing:2px;text-shadow:0 0 8px rgba(239,68,68,.5);display:block}.game-stats{display:flex;gap:1.5rem}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-label{font-family:var(--font-pixel);font-size:.5rem;color:var(--text-secondary);letter-spacing:1px}.stat-value{font-family:var(--font-pixel);font-size:1.1rem;color:var(--text-accent);text-shadow:0 0 8px var(--text-accent)}.player-life .stat-value{color:var(--life-green);text-shadow:0 0 8px var(--life-green)}.opponent-life .stat-value{color:var(--life-red);text-shadow:0 0 8px var(--life-red)}.opponent-deck .stat-value{color:var(--rift-purple);text-shadow:0 0 8px var(--rift-purple)}.game-board{flex:1;display:flex;flex-direction:column;gap:.5rem;position:relative;min-height:0}.opponent-field-area{padding:.5rem}.opponent-field{display:flex;justify-content:center;gap:1rem;min-height:120px;padding:.5rem}.rift-divider{display:flex;align-items:center;gap:1rem;padding:.5rem 0}.rift-line{flex:1;height:2px;background:linear-gradient(90deg,transparent 0%,var(--rift-purple) 20%,var(--rift-cyan) 50%,var(--rift-purple) 80%,transparent 100%);box-shadow:0 0 10px var(--rift-purple);animation:riftPulse 2s ease-in-out infinite}@keyframes riftPulse{0%,to{opacity:.6}50%{opacity:1}}.rift-text{font-family:var(--font-pixel);font-size:.6rem;color:var(--rift-glow);text-shadow:0 0 10px var(--rift-glow);letter-spacing:2px;white-space:nowrap}.player-field-area{padding:.5rem}.player-field{display:flex;justify-content:center;gap:1rem;min-height:120px;padding:.5rem}.deck-area{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;align-items:center;gap:1rem}.deck-pile{position:relative;width:80px;height:112px;cursor:pointer;transition:transform .2s}.deck-pile:hover{transform:scale(1.05)}.deck-card{position:absolute;width:100%;height:100%;border-radius:6px;transition:transform .2s}.deck-card:nth-child(1){transform:translate(0)}.deck-card:nth-child(2){transform:translate(2px,-2px)}.deck-card:nth-child(3){transform:translate(4px,-4px)}.deck-back{background:repeating-linear-gradient(45deg,var(--rift-purple) 0px,var(--rift-purple) 2px,var(--bg-dark) 2px,var(--bg-dark) 8px);border:3px solid var(--rift-purple);box-shadow:inset 0 0 20px #6b21a880,0 0 15px #6b21a84d}.deck-back:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70%;height:50%;background-image:url(/assets/logo.png);background-size:contain;background-repeat:no-repeat;background-position:center;filter:drop-shadow(0 0 8px var(--rift-cyan)) drop-shadow(0 0 15px var(--rift-purple));opacity:.9}.draw-button{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem 1.25rem;background:linear-gradient(180deg,var(--rift-purple) 0%,#4c1d95 100%);border:3px solid var(--rift-cyan);border-radius:4px;color:var(--text-primary);font-family:var(--font-pixel);font-size:.65rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #1e1b4b,0 0 15px #06b6d44d}.draw-button:hover{transform:translateY(-2px);box-shadow:0 6px #1e1b4b,0 0 25px #06b6d480}.draw-button:active{transform:translateY(2px);box-shadow:0 2px #1e1b4b,0 0 10px #06b6d44d}.draw-count{color:var(--text-accent);font-size:.75rem}.hand-area{padding:1rem;background:linear-gradient(0deg,var(--bg-light) 0%,transparent 100%);border-top:2px solid var(--rift-cyan);min-height:280px}.hand{display:flex;justify-content:center;gap:.5rem;perspective:1000px;padding-top:.5rem;position:relative}.turn-indicator{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(0);padding:1rem 2rem;background:var(--bg-dark);border:4px solid var(--text-accent);border-radius:4px;font-family:var(--font-pixel);font-size:1rem;color:var(--text-accent);text-shadow:0 0 10px var(--text-accent);z-index:100;opacity:0;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.turn-indicator.show{transform:translate(-50%,-50%) scale(1);opacity:1}@media (min-width: 768px){:root{--card-width: 160px;--card-height: 224px;--card-radius: 11px}#game-container{padding:var(--spacing-md)}.game-header{padding:1rem 2rem}.logo-image{height:50px}.game-stats{gap:3rem}.stat-value{font-size:1.5rem}.opponent-field,.player-field{gap:1.25rem;min-height:160px}.player-stats-group,.opponent-stats-group{gap:2rem}.hand-area{min-height:300px;padding:1.5rem}.deck-area{right:2rem;gap:1.25rem}.deck-pile{width:90px;height:126px}}@media (min-width: 1024px){:root{--card-width: 180px;--card-height: 252px;--card-radius: 12px}#game-container{padding:var(--spacing-lg)}.game-header{padding:1rem 3rem;margin-bottom:1.5rem}.logo-image{height:60px}.stat-label{font-size:.7rem}.stat-value{font-size:1.75rem}.opponent-field,.player-field{gap:1.5rem;min-height:180px;padding:1rem}.rift-text{font-size:.7rem;letter-spacing:3px}.player-field-area{padding:1rem 2rem}.hand-area{min-height:340px;padding:1.5rem 3rem}.deck-area{right:3rem;gap:1.5rem}.deck-pile{width:100px;height:140px}.draw-button{padding:1rem 1.5rem;font-size:.7rem}}@media (min-width: 1440px){:root{--card-width: 200px;--card-height: 280px;--card-radius: 14px}#game-container{padding:var(--spacing-xl)}.game-header{padding:1.25rem 4rem;margin-bottom:2rem}.logo-image{height:70px}.game-stats{gap:4rem}.stat-label{font-size:.75rem}.stat-value{font-size:2rem}.opponent-info{padding:.75rem 1.5rem}.opponent-name{font-size:.85rem}.opponent-life{font-size:1.25rem}.opponent-field,.player-field{gap:2rem;min-height:200px;padding:1.5rem}.rift-divider{padding:1rem 0;gap:1.5rem}.rift-text{font-size:.8rem;letter-spacing:4px}.player-field-area{padding:1.5rem 4rem}.hand-area{min-height:380px;padding:2rem 4rem}.hand{gap:.75rem}.deck-area{right:4rem;gap:2rem}.deck-pile{width:120px;height:168px}.draw-button{padding:1.25rem 2rem;font-size:.75rem}.turn-indicator{padding:1.5rem 3rem;font-size:1.25rem}}@media (min-width: 1920px){:root{--card-width: 220px;--card-height: 308px;--card-radius: 16px}#game-container{max-width:2400px;padding:2rem 4rem}.game-header{padding:1.5rem 5rem}.logo-image{height:80px}.stat-value{font-size:2.25rem}.opponent-area,.player-field-area{padding:2rem 6rem}.opponent-field,.player-field{gap:2.5rem;min-height:220px}.hand-area{min-height:420px;padding:2rem 6rem}.hand{gap:1rem}.deck-area{right:5rem}.deck-pile{width:140px;height:196px}}@media (min-width: 2560px){:root{--card-width: 240px;--card-height: 336px}#game-container{max-width:3000px}.opponent-field,.player-field{gap:3rem;min-height:250px}.hand-area{min-height:460px}}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a12d9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:2000;opacity:0;animation:fadeIn .3s forwards}.modal-content{background:var(--bg-mid);border:4px solid var(--rift-purple);box-shadow:0 0 0 4px var(--bg-dark),0 0 30px var(--rift-purple),inset 0 0 40px #6b21a833;padding:2.5rem;max-width:450px;width:90%;text-align:center;position:relative;transform:scale(.8);animation:scaleIn .3s cubic-bezier(.175,.885,.32,1.275) forwards;image-rendering:pixelated}.modal-content:before{content:"";position:absolute;top:-4px;left:-4px;width:20px;height:20px;border-top:4px solid var(--rift-cyan);border-left:4px solid var(--rift-cyan);box-shadow:-2px -2px 10px var(--rift-cyan)}.modal-content:after{content:"";position:absolute;bottom:-4px;right:-4px;width:20px;height:20px;border-bottom:4px solid var(--rift-cyan);border-right:4px solid var(--rift-cyan);box-shadow:2px 2px 10px var(--rift-cyan)}.modal-title{font-family:var(--font-pixel);color:var(--rift-cyan);margin-bottom:1.5rem;font-size:1.4rem;text-shadow:0 0 10px var(--rift-cyan);letter-spacing:2px;line-height:1.4}.modal-message{font-family:var(--font-retro);color:var(--text-primary);font-size:1.4rem;margin-bottom:2.5rem;line-height:1.5;text-shadow:0 2px 0 rgba(0,0,0,.5)}.modal-btn{background:linear-gradient(180deg,var(--rift-purple) 0%,#4c1d95 100%);border:2px solid var(--rift-cyan);color:#fff;padding:1rem 3rem;font-family:var(--font-pixel);font-size:.9rem;cursor:pointer;transition:all .2s;text-shadow:0 2px 0 rgba(0,0,0,.5);box-shadow:0 6px #1e1b4b,0 0 15px #06b6d44d;text-transform:uppercase;letter-spacing:1px;position:relative;overflow:hidden}.modal-btn:hover{transform:translateY(-2px);box-shadow:0 8px #1e1b4b,0 0 25px var(--rift-cyan)}.modal-btn:active{transform:translateY(4px);box-shadow:0 2px #1e1b4b}@keyframes fadeIn{to{opacity:1}}@keyframes scaleIn{to{transform:scale(1)}}.start-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-dark);background-image:radial-gradient(ellipse at 50% 30%,rgba(107,33,168,.3) 0%,transparent 50%),radial-gradient(ellipse at 50% 70%,rgba(6,182,212,.2) 0%,transparent 50%),linear-gradient(180deg,var(--bg-dark) 0%,var(--bg-mid) 50%,var(--bg-dark) 100%);display:flex;justify-content:center;align-items:center;z-index:3000;animation:fadeIn .5s ease-out}.start-screen.hiding{animation:fadeOut .5s ease-out forwards}@keyframes fadeOut{to{opacity:0;transform:scale(1.1)}}.start-content{text-align:center;max-width:450px;width:90%;animation:scaleIn .5s cubic-bezier(.175,.885,.32,1.275)}.start-logo{width:280px;max-width:80%;height:auto;margin-bottom:.5rem;filter:drop-shadow(0 0 20px var(--rift-purple)) drop-shadow(0 0 40px var(--rift-cyan));animation:floatLogo 3s ease-in-out infinite}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.start-tagline{font-family:var(--font-retro);font-size:1.5rem;color:var(--rift-cyan);text-shadow:0 0 10px var(--rift-cyan);margin-bottom:2rem;letter-spacing:3px}.start-form{background:#1a1a2ecc;border:3px solid var(--rift-purple);border-radius:8px;padding:2rem;box-shadow:0 0 30px #6b21a84d,inset 0 0 50px #00000080}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-family:var(--font-pixel);font-size:.6rem;color:var(--text-secondary);margin-bottom:.5rem;letter-spacing:2px}.form-group input{width:100%;padding:.75rem 1rem;background:var(--bg-dark);border:2px solid var(--rift-purple);border-radius:4px;color:var(--text-primary);font-family:var(--font-retro);font-size:1.25rem;text-align:center;transition:all .2s}.form-group input:focus{outline:none;border-color:var(--rift-cyan);box-shadow:0 0 15px #06b6d44d}.form-group input::placeholder{color:var(--text-secondary);opacity:.5}.difficulty-buttons{display:flex;gap:.5rem;justify-content:center;margin-bottom:.75rem}.difficulty-btn{flex:1;padding:.75rem .5rem;background:var(--bg-dark);border:2px solid var(--rift-purple);border-radius:4px;color:var(--text-secondary);font-family:var(--font-pixel);font-size:.55rem;cursor:pointer;transition:all .2s}.difficulty-btn:hover{border-color:var(--rift-cyan);color:var(--text-primary)}.difficulty-btn.selected{background:linear-gradient(180deg,var(--rift-purple) 0%,#4c1d95 100%);border-color:var(--rift-cyan);color:var(--text-primary);box-shadow:0 0 15px #06b6d44d}.difficulty-description{font-family:var(--font-retro);font-size:.9rem;color:var(--text-secondary);min-height:1.2em}.objective-reminder{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:4px;margin-bottom:1.5rem;font-family:var(--font-retro);font-size:.95rem;color:var(--text-primary)}.objective-icon{font-size:1.2rem}.start-btn{width:100%;padding:1rem 2rem;background:linear-gradient(180deg,var(--creature-primary) 0%,var(--creature-secondary) 100%);border:3px solid var(--rift-cyan);border-radius:4px;color:var(--text-primary);font-family:var(--font-pixel);font-size:.8rem;cursor:pointer;transition:all .2s;box-shadow:0 6px #15803d,0 0 20px #22c55e4d;text-shadow:0 2px 0 rgba(0,0,0,.5);letter-spacing:1px}.start-btn:hover{transform:translateY(-3px);box-shadow:0 9px #15803d,0 0 35px #22c55e80}.start-btn:active{transform:translateY(3px);box-shadow:0 3px #15803d,0 0 15px #22c55e4d}.action-log{position:absolute;left:1rem;top:50%;transform:translateY(-50%);width:200px;max-height:300px;background:#0a0a12e6;border:2px solid var(--rift-purple);border-radius:6px;box-shadow:0 0 20px #6b21a833;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:100}.action-log.collapsed{width:40px;height:40px;max-height:40px;overflow:hidden;border-radius:50%;background:var(--bg-dark);border-color:var(--rift-purple)}.action-log.collapsed .action-log-content{opacity:0;pointer-events:none}.log-toggle-btn{position:absolute;top:0;right:0;width:100%;height:100%;background:transparent;border:none;color:var(--rift-cyan);font-size:1.2rem;cursor:pointer;z-index:10;display:flex;justify-content:center;align-items:center;opacity:0;transition:opacity .2s}.action-log.collapsed .log-toggle-btn,.action-log:hover .log-toggle-btn{opacity:1}.action-log:not(.collapsed) .log-toggle-btn{width:30px;height:30px;font-size:.8rem;background:#00000080;border-radius:0 0 0 6px;color:var(--text-secondary)}.action-log:not(.collapsed) .log-toggle-btn:hover{color:var(--life-red);background:#000000b3}.action-log-content{height:100%;display:flex;flex-direction:column;transition:opacity .2s}.action-log-header{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:linear-gradient(180deg,var(--bg-light) 0%,var(--bg-dark) 100%);border-bottom:1px solid var(--rift-purple);font-family:var(--font-pixel);font-size:.5rem;color:var(--rift-cyan);letter-spacing:1px}.log-icon{font-size:.9rem}.action-log-entries{max-height:250px;overflow-y:auto;padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.action-log-entries::-webkit-scrollbar{width:4px}.action-log-entries::-webkit-scrollbar-track{background:var(--bg-dark)}.action-log-entries::-webkit-scrollbar-thumb{background:var(--rift-purple);border-radius:2px}.action-entry{padding:.4rem .5rem;background:#1a1a2e80;border-radius:3px;font-family:var(--font-retro);font-size:.85rem;color:var(--text-secondary);border-left:3px solid var(--rift-purple);animation:slideInLog .3s ease-out}@keyframes slideInLog{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.action-entry.player-action{border-left-color:var(--creature-primary);color:var(--creature-accent)}.action-entry.enemy-action{border-left-color:var(--life-red);color:#fca5a5}.action-entry.damage-action{border-left-color:var(--text-accent);color:var(--text-accent)}.action-entry.spell-action{border-left-color:var(--spell-primary);color:var(--spell-accent)}.action-entry.system-action{border-left-color:var(--rift-cyan);color:var(--rift-cyan)}.player-info{display:flex;align-items:center}.player-name{font-family:var(--font-pixel);font-size:.9rem;color:var(--creature-primary);text-shadow:0 0 8px var(--creature-primary);letter-spacing:1px}.help-btn{width:36px;height:36px;background:var(--bg-dark);border:2px solid var(--rift-purple);border-radius:50%;color:var(--rift-cyan);font-family:var(--font-pixel);font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.help-btn:hover{background:var(--rift-purple);border-color:var(--rift-cyan);box-shadow:0 0 15px #06b6d480;transform:scale(1.1)}.help-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0a0a12e6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:none;justify-content:center;align-items:center;z-index:2500;opacity:0;transition:opacity .3s}.help-modal.show{display:flex;opacity:1}.help-modal-content{background:var(--bg-mid);border:3px solid var(--rift-purple);border-radius:8px;padding:2rem;max-width:500px;width:90%;max-height:85vh;overflow-y:auto;position:relative;box-shadow:0 0 40px #6b21a866,inset 0 0 30px #00000080;animation:scaleIn .3s cubic-bezier(.175,.885,.32,1.275)}.help-close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;background:transparent;border:2px solid var(--text-secondary);border-radius:4px;color:var(--text-secondary);font-size:1rem;cursor:pointer;transition:all .2s}.help-close-btn:hover{border-color:var(--life-red);color:var(--life-red)}.help-title{font-family:var(--font-pixel);font-size:1rem;color:var(--rift-cyan);text-shadow:0 0 10px var(--rift-cyan);margin-bottom:1.5rem;text-align:center;letter-spacing:2px}.help-section{margin-bottom:1.5rem}.help-section h3{font-family:var(--font-pixel);font-size:.65rem;color:var(--text-accent);margin-bottom:.75rem;letter-spacing:1px}.help-section p{font-family:var(--font-retro);font-size:1.1rem;color:var(--text-primary);line-height:1.4}.help-section strong{color:var(--rift-cyan)}.help-stat-row{display:flex;align-items:center;gap:1rem;margin-bottom:.5rem;font-family:var(--font-retro);font-size:1rem;color:var(--text-secondary)}.help-stat{font-family:var(--font-pixel);font-size:.6rem;padding:.3rem .6rem;border-radius:3px;min-width:80px;text-align:center}.help-stat.power{background:#22c55e33;border:1px solid var(--creature-primary);color:var(--creature-primary)}.help-stat.cost{background:#a855f733;border:1px solid var(--rift-glow);color:var(--rift-glow)}.help-list{font-family:var(--font-retro);font-size:1rem;color:var(--text-primary);padding-left:1.5rem;line-height:1.6}.help-list li{margin-bottom:.4rem}.help-list strong{color:var(--rift-cyan)}.help-got-it-btn{width:100%;padding:.875rem 2rem;background:linear-gradient(180deg,var(--rift-purple) 0%,#4c1d95 100%);border:2px solid var(--rift-cyan);border-radius:4px;color:var(--text-primary);font-family:var(--font-pixel);font-size:.7rem;cursor:pointer;transition:all .2s;box-shadow:0 4px #1e1b4b,0 0 15px #06b6d44d;margin-top:1rem}.help-got-it-btn:hover{transform:translateY(-2px);box-shadow:0 6px #1e1b4b,0 0 25px #06b6d480}.card-guide-container{display:flex;justify-content:center;margin:1rem 0;padding:1rem;background:#0003;border-radius:8px}.card-guide-visual{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;justify-content:center}.card-guide-visual .card{position:relative;transform:none!important;width:var(--card-width);height:var(--card-height);font-size:1rem;flex-shrink:0;cursor:default}.card-guide-visual .card:hover{transform:none;box-shadow:none}.guide-indicators{display:flex;flex-direction:column;gap:1rem;max-width:250px}.indicator-line{position:relative;padding-left:1.5rem}.indicator-line:before{content:"";position:absolute;left:0;top:50%;width:1rem;height:2px;background:var(--rift-cyan)}.indicator-text{font-family:var(--font-retro);font-size:.9rem;color:var(--text-primary)}.indicator-text strong{color:var(--rift-cyan);font-family:var(--font-pixel);font-size:.7rem}.cost-line:before{background:var(--rift-glow)}.cost-line strong{color:var(--rift-glow)}.power-line:before{background:var(--creature-primary)}.power-line strong{color:var(--creature-primary)}.type-line:before{background:var(--text-accent)}.type-line strong{color:var(--text-accent)}@media (max-width: 1200px){.action-log{width:160px;left:.5rem}.action-log-header{font-size:.45rem}.action-entry{font-size:.75rem}}@media (max-width: 900px){.action-log{display:none}}
