*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.game-mode-card{backface-visibility:hidden;background:linear-gradient(135deg,#1f2937,#374151);border:2px solid #4b5563;border-radius:16px;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;height:360px;margin:12px 0;overflow:hidden;padding:20px;position:relative;text-align:center;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease,background .3s ease;will-change:transform}.game-mode-card:hover{background:linear-gradient(135deg,#1f2937,#1e3a8a 15%,#374151);border-color:#6366f1;box-shadow:0 20px 40px rgba(99,102,241,.3);transform:translateY(-8px)}.game-mode-card:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);border-radius:16px;content:"";height:100%;left:-100%;opacity:0;pointer-events:none;position:absolute;top:0;transition:left .8s ease;width:100%}.game-mode-card:hover:before{left:100%;opacity:1}.game-mode-icon{display:block;font-size:48px;margin-bottom:16px}.game-mode-title{color:#fff;font-size:24px;font-weight:700;margin-bottom:12px}.game-mode-content{display:flex;flex:1;flex-direction:column;justify-content:flex-start;min-height:0}.game-mode-desc{color:#d1d5db;display:-webkit-box;line-height:1.5;margin-bottom:16px;min-height:3em;overflow:hidden;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis}.game-mode-stats{background:rgba(0,0,0,.3);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:8px;margin-top:auto;padding:10px}.stat-item{color:#9ca3af;font-size:12px}.game-mode-btn{align-items:center;backface-visibility:hidden;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-weight:600;height:44px;justify-content:center;margin-bottom:4px;margin-top:12px;padding:10px 20px;transition:transform .2s ease,box-shadow .2s ease;width:100%;will-change:transform}.game-mode-btn:hover{box-shadow:0 8px 16px rgba(99,102,241,.4);transform:translateY(-2px)}.game-status-bar{align-items:center;background:linear-gradient(135deg,#1f2937,#374151);border:2px solid #4b5563;border-radius:12px;display:flex;justify-content:space-between;margin-bottom:24px;padding:16px 24px}.player-info{gap:16px}.player-avatar img{border:2px solid #6366f1;border-radius:50%;height:48px;width:48px}.player-details{color:#fff}.player-name{font-size:16px;font-weight:600}.player-level{color:#9ca3af;font-size:12px}.player-resources{display:flex;gap:16px}.resource-item{align-items:center;background:rgba(0,0,0,.3);border-radius:16px;display:flex;gap:4px;padding:6px 12px}.resource-icon{font-size:16px}.resource-count{color:#fff;font-size:14px;font-weight:600}.game-controls{display:flex;gap:8px}.control-btn{background:#4b5563;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s}.control-btn:hover{background:#6b7280}.battle-container{background:linear-gradient(135deg,#0f172a,#1e293b);border:2px solid #334155;border-radius:16px;min-height:600px;padding:24px;position:relative}.opponent-area{margin-bottom:20px}.opponent-info{align-items:center;background:rgba(239,68,68,.1);border:1px solid #ef4444;border-radius:8px;display:flex;gap:12px;margin-bottom:16px;padding:12px}.opponent-avatar{border:2px solid #ef4444;border-radius:50%;height:40px;width:40px}.opponent-details{color:#fff;flex:1}.opponent-name{font-weight:600}.opponent-level{color:#fca5a5;font-size:12px}.opponent-hp{align-items:center;display:flex;gap:8px}.hp-bar{background:#374151;border-radius:4px;height:8px;overflow:hidden;width:100px}.hp-fill{background:linear-gradient(90deg,#ef4444,#dc2626);height:100%;transition:width .3s ease}.hp-text{color:#fff;font-size:12px;font-weight:600}.opponent-field,.player-field{display:flex;gap:8px;justify-content:center;margin:16px 0}.card-slot{align-items:center;border:2px dashed #4b5563;border-radius:8px;cursor:pointer;display:flex;height:100px;justify-content:center;transition:all .2s;width:80px}.card-slot:hover{background:rgba(99,102,241,.1);border-color:#6366f1}.card-slot.occupied{background:rgba(16,185,129,.1);border-color:#10b981;border-style:solid}.battle-center{margin:32px 0;text-align:center}.turn-indicator{align-items:center;display:flex;gap:16px;justify-content:center;margin-bottom:16px}.current-turn{color:#fff;font-size:18px;font-weight:600}.turn-timer{position:relative}.timer-circle{align-items:center;background:#1f2937;border:3px solid #4b5563;border-radius:50%;display:flex;height:48px;justify-content:center;width:48px}.timer-text{color:#fff;font-size:14px;font-weight:600}.battle-log{background:rgba(0,0,0,.5);border-radius:8px;max-height:120px;overflow-y:auto;padding:12px}.log-entry{color:#d1d5db;font-size:12px;margin-bottom:4px}.player-area{margin-top:20px}.player-info{align-items:center;background:rgba(16,185,129,.1);border:1px solid #10b981;border-radius:8px;display:flex;gap:24px;justify-content:center;margin-top:16px;padding:12px}.player-hp,.player-mana{align-items:center;display:flex;gap:8px}.mana-crystals{display:flex;gap:4px}.mana-crystal{background:#374151;border:2px solid #6b7280;border-radius:50%;height:16px;width:16px}.mana-crystal.active{background:#3b82f6;border-color:#2563eb;box-shadow:0 0 8px rgba(59,130,246,.5)}.mana-text{color:#fff;font-size:12px;font-weight:600}.hand-area{background:linear-gradient(180deg,transparent,rgba(0,0,0,.8));bottom:0;left:0;padding:20px;position:fixed;right:0;z-index:10}.hand-cards{display:flex;gap:8px;justify-content:center;margin:0 auto;max-width:800px}.game-card{background:linear-gradient(135deg,#1f2937,#374151);border:2px solid #4b5563;border-radius:8px;cursor:pointer;height:100px;overflow:hidden;position:relative;transition:all .2s;width:80px}.game-card:hover{border-color:#6366f1;transform:translateY(-8px) scale(1.05);z-index:20}.game-card.selected{border-color:#10b981;box-shadow:0 0 16px rgba(16,185,129,.5)}.card-cost{background:#3b82f6;border-radius:50%;color:#fff;font-size:10px;font-weight:600;height:20px;left:4px;position:absolute;top:4px;width:20px}.card-cost,.card-image{align-items:center;display:flex;justify-content:center}.card-image{background:linear-gradient(135deg,#667eea,#764ba2);font-size:24px;height:60%;width:100%}.card-info{display:flex;flex-direction:column;height:40%;justify-content:space-between;padding:4px}.card-name{color:#fff;font-size:8px;font-weight:600;line-height:1.2;text-align:center}.card-stats{align-items:center;display:flex;justify-content:space-between}.card-attack,.card-health{align-items:center;border-radius:50%;color:#fff;display:flex;font-size:8px;font-weight:600;height:16px;justify-content:center;width:16px}.card-attack{background:#ef4444}.card-health{background:#10b981}.collection-section,.deck-section{background:rgba(0,0,0,.3);border-radius:8px;height:400px;overflow-y:auto;padding:16px}.collection-cards,.deck-cards{display:grid;gap:8px;grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}.collection-filters{display:flex;gap:8px}@media (max-width:1024px){.game-mode-card{height:320px;padding:16px}.game-mode-icon{font-size:40px;margin-bottom:12px}.game-mode-title{font-size:20px;margin-bottom:10px}.game-mode-desc{font-size:14px;min-height:2.5em}}@media (max-width:768px){.game-status-bar{flex-direction:column;gap:16px}.player-info{flex-wrap:wrap;justify-content:center}.opponent-field,.player-field{gap:4px}.card-slot{height:80px;width:60px}.hand-cards{gap:4px}.game-card{height:80px;width:60px}.game-mode-card{height:280px;margin:8px 0;padding:12px}.game-mode-icon{font-size:36px;margin-bottom:10px}.game-mode-title{font-size:18px;margin-bottom:8px}.game-mode-desc{font-size:13px;margin-bottom:12px;min-height:2em}.game-mode-stats{margin-bottom:6px;padding:8px}.stat-item{font-size:11px}.game-mode-btn{font-size:14px;height:40px;padding:8px 16px}}@keyframes cardDraw{0%{opacity:0;transform:translateY(100px) scale(.5)}to{opacity:1;transform:translateY(0) scale(1)}}.game-card.drawing{animation:cardDraw .5s ease-out}@keyframes cardPlay{0%{transform:translateY(0) scale(1)}50%{transform:translateY(-50px) scale(1.2)}to{opacity:0;transform:translateY(-200px) scale(.8)}}.game-card.playing{animation:cardPlay .8s ease-out forwards}.damage-effect{animation:damageFloat 1s ease-out forwards;color:#ef4444;font-size:20px;font-weight:700;pointer-events:none;position:absolute}@keyframes damageFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}.heal-effect{animation:healFloat 1s ease-out forwards;color:#10b981;font-size:20px;font-weight:700;pointer-events:none;position:absolute}@keyframes healFloat{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-50px)}}.synthesis-container{background:linear-gradient(135deg,#0f172a,#1e293b);border:2px solid #334155;border-radius:16px;min-height:600px;padding:24px}.synthesis-materials{background:rgba(0,0,0,.3);border-radius:12px;padding:20px}.material-slots{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.material-slot{align-items:center;border:2px dashed #4b5563;border-radius:12px;cursor:pointer;display:flex;height:120px;justify-content:center;overflow:hidden;position:relative;transition:all .3s ease;width:100%}.material-slot:hover{background:rgba(99,102,241,.1);border-color:#6366f1}.material-slot.filled{background:rgba(16,185,129,.1);border-color:#10b981;border-style:solid}.slot-placeholder{color:#9ca3af;text-align:center}.placeholder-icon{font-size:32px;margin-bottom:8px}.placeholder-text{font-size:14px;font-weight:500}.material-card{background:linear-gradient(135deg,#1f2937,#374151);gap:12px;height:100%;padding:8px;position:relative;width:100%}.material-card,.material-card-icon{align-items:center;border-radius:8px;display:flex}.material-card-icon{background:rgba(99,102,241,.2);font-size:24px;height:40px;justify-content:center;width:40px}.material-card-info{color:#fff;flex:1}.material-card-name{font-size:14px;font-weight:600;margin-bottom:4px}.material-card-rarity{color:#9ca3af;font-size:12px}.remove-material{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:20px;justify-content:center;position:absolute;right:4px;top:4px;width:20px}.synthesis-cost{background:rgba(0,0,0,.5);border-radius:8px;display:flex;justify-content:space-between;margin-bottom:16px;padding:12px}.cost-item{align-items:center;color:#fff;display:flex;font-weight:600;gap:8px}.cost-icon{font-size:16px}.synthesis-btn{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;transition:all .3s ease;width:100%}.synthesis-btn:hover:not(:disabled){box-shadow:0 8px 16px rgba(16,185,129,.4);transform:translateY(-2px)}.synthesis-btn:disabled{background:#4b5563;cursor:not-allowed;opacity:.5}.synthesis-preview{background:rgba(0,0,0,.3);border-radius:12px;padding:20px;text-align:center}.synthesis-animation{margin-bottom:24px}.synthesis-circle{align-items:center;background:radial-gradient(circle,rgba(99,102,241,.1) 0,transparent 70%);border:3px solid #4b5563;border-radius:50%;display:flex;height:200px;justify-content:center;margin:0 auto;position:relative;width:200px}.synthesis-circle.animating{animation:synthesisGlow 2s ease-in-out infinite;border-color:#6366f1}@keyframes synthesisGlow{0%,to{box-shadow:0 0 20px rgba(99,102,241,.3)}50%{box-shadow:0 0 40px rgba(99,102,241,.6)}}.synthesis-result{margin-top:20px}