.login-form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2)}.login-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-form h2{margin-top:0;margin-bottom:1.5rem;text-align:center;color:#333}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.login-form button{width:100%;padding:.75rem;background:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.login-form button:hover:not(:disabled){background:#5568d3}.login-form button:disabled{background:#ccc;cursor:not-allowed}.error-message{background:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem;border:1px solid #fcc}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.error-content{background:#fffffff2;border-radius:20px;padding:40px;max-width:500px;text-align:center;box-shadow:0 10px 40px #0003}.error-content h2{color:#e53e3e;margin:0 0 20px;font-size:28px}.error-message{color:#4a5568;margin:0 0 30px;font-size:16px;line-height:1.6}.error-actions{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.primary-button,.secondary-button{padding:12px 24px;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.primary-button{background:#4a90e2;color:#fff}.primary-button:hover{background:#357abd;transform:translateY(-2px);box-shadow:0 4px 12px #4a90e266}.secondary-button{background:#e2e8f0;color:#2d3748}.secondary-button:hover{background:#cbd5e0;transform:translateY(-2px)}.card-editor{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;max-width:800px}.card-editor-empty{background:#fff;padding:4rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center;color:#666}.card-editor h2{margin-top:0;margin-bottom:1.5rem;color:#333}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#333;font-weight:600;font-size:.95rem;transition:color .2s ease}.form-group:focus-within label{color:#667eea}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:6px;font-size:1rem;box-sizing:border-box;font-family:inherit;transition:all .25s cubic-bezier(.4,0,.2,1);background:#fff;box-shadow:0 2px 4px #0000000a}.form-group input:hover,.form-group select:hover,.form-group textarea:hover{border-color:#b8b8b8;box-shadow:0 3px 8px #00000014}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1a,0 4px 12px #667eea26;transform:translateY(-1px)}.form-group textarea{resize:vertical;font-family:monospace}.form-actions{display:flex;gap:1rem;margin-top:2rem}.form-actions button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:500;cursor:pointer;transition:background .2s}.form-actions button[type=submit]{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d;position:relative;overflow:hidden}.form-actions button[type=submit]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.form-actions button[type=submit]:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#653a8b);transform:translateY(-2px);box-shadow:0 6px 18px #667eea66}.form-actions button[type=submit]:hover:not(:disabled):before{left:100%}.form-actions button[type=button]{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff;box-shadow:0 4px 10px #6c757d33}.form-actions button[type=button]:hover:not(:disabled){background:linear-gradient(135deg,#5a6268,#495057);transform:translateY(-2px);box-shadow:0 6px 16px #6c757d4d}.form-actions button:disabled{background:#ccc;cursor:not-allowed;box-shadow:none;opacity:.6}.error-message{background:linear-gradient(135deg,#fee,#fdd);color:#c33;padding:1rem 1.2rem;border-radius:8px;margin-bottom:1rem;border:2px solid #fcc;box-shadow:0 4px 12px #cc333326;animation:errorSlideIn .3s ease;font-weight:500}@keyframes errorSlideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.traits-container{display:flex;flex-wrap:wrap;gap:.75rem;padding:.75rem;border:1px solid #ddd;border-radius:4px;background:#f9f9f9}.trait-checkbox{display:flex;align-items:center;gap:.5rem;cursor:pointer;padding:.6rem .9rem;background:#fff;border:2px solid #e0e0e0;border-radius:6px;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000000a;position:relative;overflow:hidden}.trait-checkbox:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.1),transparent);transition:left .5s}.trait-checkbox:hover{border-color:#667eea;background:#f0f4ff;transform:translateY(-2px);box-shadow:0 4px 12px #667eea33}.trait-checkbox:hover:before{left:100%}.trait-checkbox input[type=checkbox]{width:auto;margin:0;cursor:pointer}.trait-checkbox span{-webkit-user-select:none;user-select:none;font-size:.9rem}.trait-checkbox input[type=checkbox]:checked+span{font-weight:600;color:#667eea}.card-effect-section{margin-top:2rem;padding:1.5rem;background:linear-gradient(135deg,#f9f9f9,#fff);border-radius:10px;border:2px solid #e0e0e0;box-shadow:0 4px 12px #0000000d;transition:all .3s ease}.card-effect-section:hover{box-shadow:0 6px 20px #00000014;border-color:silver}.card-effect-section h3{margin-top:0;margin-bottom:1rem;color:#333;font-size:1.2rem;display:flex;align-items:center;gap:.5rem}.card-effect-section h3:before{content:"✨";font-size:1.3rem}.effect-node-editor{margin:1rem 0;padding:1rem;background:#fff;border:1px solid #ddd;border-radius:4px;border-left:4px solid #667eea}.effect-node-header{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.effect-node-header select{flex:1;padding:.5rem;border:1px solid #ddd;border-radius:4px}.effect-node-header button{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem}.effect-node-header button:hover{background:#c82333}.effect-node-content{margin-top:1rem}.effect-node-next,.effect-node-children,.effect-node-then,.effect-node-else,.effect-node-repeat-effect,.effect-node-foreach-effect,.effect-node-foreach-target{margin-top:1rem;padding:1rem;background:#f9f9f9;border-radius:4px;border:1px solid #e0e0e0}.effect-node-condition{margin-bottom:1rem}.condition-editor{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}.condition-editor select,.condition-editor input{padding:.5rem;border:1px solid #ddd;border-radius:4px}.atomic-effect-editor{padding:1rem;background:#f0f4ff;border-radius:4px;border:1px solid #c8d4f0}.form-label{display:block;margin-bottom:.5rem;color:#555;font-weight:500}.deck-editor{padding:2rem;height:100%;overflow-y:auto}.deck-editor h2{margin-top:0;margin-bottom:1.5rem;color:#333}.deck-editor-empty{padding:2rem;text-align:center;color:#666;font-size:1.1rem}.deck-editor-error{padding:1rem;background:#fee;border:1px solid #fcc;border-radius:4px;color:#c33;margin-bottom:1rem}.deck-editor-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:500;color:#333}.form-group .required{color:#ef4444}.form-group input,.form-group textarea{padding:.5rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;font-family:inherit}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.deck-cards-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1rem;min-height:500px;align-items:start}.deck-current-cards,.deck-available-cards{border:2px solid #e0e0e0;border-radius:10px;padding:1.2rem;background:linear-gradient(135deg,#f9f9f9,#fff);box-shadow:0 4px 12px #0000000d;transition:all .3s ease;display:flex;flex-direction:column;height:700px;overflow:hidden}.deck-current-cards:hover,.deck-available-cards:hover{box-shadow:0 6px 20px #00000014;border-color:silver}.deck-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.deck-current-cards h3,.deck-available-cards h3{margin:0 0 1rem;color:#333;font-size:1rem}.card-controls{display:flex;gap:.75rem;margin-bottom:1rem}.search-box{position:relative;flex:1}.search-input{width:100%;padding:.5rem 2rem .5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;transition:all .2s ease}.search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.search-clear{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:#999;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;line-height:1;transition:color .2s ease}.search-clear:hover{color:#666}.sort-controls{display:flex;gap:.5rem}.sort-select{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;font-size:.9rem;background-color:#fff;cursor:pointer;transition:all .2s ease}.sort-select:hover{border-color:#667eea}.sort-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.sort-order-btn{padding:.5rem .75rem;border:1px solid #ddd;border-radius:6px;background-color:#fff;font-size:1.1rem;cursor:pointer;transition:all .2s ease;min-width:2.5rem}.sort-order-btn:hover{background-color:#f5f5f5;border-color:#667eea}.sort-order-btn:active{transform:scale(.95)}.deck-remaining-count{font-size:.875rem;padding:.4rem .9rem;border-radius:16px;font-weight:700;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #0000001a;animation:countUpdate .3s ease}@keyframes countUpdate{0%{transform:scale(1)}50%{transform:scale(1.1)}to{transform:scale(1)}}.deck-remaining-count.warning{background:linear-gradient(135deg,#fef3c7,#fde68a);color:#92400e;border:2px solid #fbbf24;animation:warningPulse 2s ease-in-out infinite}@keyframes warningPulse{0%,to{box-shadow:0 2px 6px #fbbf244d}50%{box-shadow:0 4px 12px #fbbf2480}}.deck-remaining-count.complete{background:linear-gradient(135deg,#d1fae5,#a7f3d0);color:#065f46;border:2px solid #10b981;box-shadow:0 4px 12px #10b9814d}.empty-message,.loading-message{text-align:center;padding:2rem 1rem;color:#666;font-size:.9rem}.deck-card-list,.available-card-list{display:flex;flex-direction:column;gap:.6rem;flex:1 1 0;overflow-y:auto;overflow-x:hidden;scroll-behavior:smooth;padding-right:4px;min-height:0}.deck-card-list::-webkit-scrollbar,.available-card-list::-webkit-scrollbar{width:8px}.deck-card-list::-webkit-scrollbar-track,.available-card-list::-webkit-scrollbar-track{background:#f0f0f0;border-radius:10px}.deck-card-list::-webkit-scrollbar-thumb,.available-card-list::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;transition:background .3s}.deck-card-list::-webkit-scrollbar-thumb:hover,.available-card-list::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#5568d3,#653a8b)}.deck-card-item,.available-card-item{display:flex;justify-content:space-between;align-items:flex-start;padding:.9rem;background:#fff;border:2px solid #e8e8e8;border-radius:8px;gap:.75rem;transition:all .25s cubic-bezier(.4,0,.2,1);cursor:pointer;box-shadow:0 2px 4px #0000000a;position:relative;overflow:hidden;flex-shrink:0;min-height:80px}.deck-card-item:before,.available-card-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(102,126,234,.05),transparent);transition:left .5s}.deck-card-item:hover,.available-card-item:hover{background:linear-gradient(135deg,#fafbff,#fff);border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px) scale(1.01)}.deck-card-item:hover:before,.available-card-item:hover:before{left:100%}.deck-card-item:active,.available-card-item:active{transform:translateY(0) scale(.99)}.available-card-item.disabled{opacity:.5;background:linear-gradient(135deg,#fafafa,#f5f5f5);cursor:not-allowed;filter:grayscale(50%)}.available-card-item.disabled:hover{background:linear-gradient(135deg,#fafafa,#f5f5f5);border-color:#ddd;box-shadow:none;transform:none}.available-card-item.disabled:before{display:none}.deck-card-main{flex:1;display:flex;flex-direction:column;gap:.5rem}.deck-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.deck-card-header-right{display:flex;align-items:center;gap:.5rem}.deck-card-count{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:.85rem;font-weight:700;padding:.25rem .65rem;border-radius:14px;box-shadow:0 2px 4px #f59e0b4d;flex-shrink:0}.deck-card-actions{display:flex;flex-direction:column;gap:.25rem}.deck-card-add,.deck-card-remove{padding:.25rem .5rem;color:#fff;border:none;border-radius:6px;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-width:2rem;display:flex;align-items:center;justify-content:center;line-height:1}.deck-card-add{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 4px #10b9814d}.deck-card-add:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);box-shadow:0 4px 8px #10b98166;transform:scale(1.05)}.deck-card-add:disabled{background:linear-gradient(135deg,#9ca3af,#6b7280);cursor:not-allowed;opacity:.5}.deck-card-remove{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 4px #ef44444d}.deck-card-remove:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 4px 8px #ef444466;transform:scale(1.05)}.deck-card-add:active:not(:disabled),.deck-card-remove:active{transform:scale(.95)}.deck-card-details{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.deck-card-traits,.available-card-traits{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.25rem}.trait-badge{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .5rem;border-radius:10px;box-shadow:0 2px 4px #9b59b64d;white-space:nowrap}.deck-card-effect,.available-card-effect{font-size:.8rem;color:#6b7280;line-height:1.4;margin-top:.25rem;font-style:italic}.deck-card-name,.available-card-name{font-weight:600;color:#1a1a1a;font-size:1rem;transition:color .2s ease}.deck-card-item:hover .deck-card-name,.available-card-item:hover .available-card-name{color:#667eea}.deck-card-cost,.available-card-cost{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.8rem;font-weight:700;padding:.25rem .65rem;border-radius:14px;box-shadow:0 2px 4px #667eea4d;flex-shrink:0}.deck-card-stats,.available-card-stats{background:linear-gradient(135deg,#059669,#047857);color:#fff;font-size:.75rem;font-weight:700;padding:.25rem .65rem;border-radius:14px;box-shadow:0 2px 4px #0596694d;white-space:nowrap}.deck-card-remove,.available-card-add{padding:.25rem .75rem;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;transition:all .25s cubic-bezier(.4,0,.2,1);font-weight:600;box-shadow:0 2px 6px #00000026}.deck-card-remove{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:1.2rem;font-weight:700;width:32px;height:32px;min-width:32px;padding:0;display:flex;align-items:center;justify-content:center;align-self:flex-start;position:relative;overflow:hidden}.deck-card-remove:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .4s,height .4s}.deck-card-remove:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:scale(1.1) rotate(90deg);box-shadow:0 4px 12px #ef444466}.deck-card-remove:hover:before{width:100px;height:100px}.deck-card-remove:active{transform:scale(.95) rotate(90deg)}.available-card-add{background:linear-gradient(135deg,#10b981,#059669);color:#fff;align-self:flex-start;min-width:65px;position:relative;overflow:hidden}.available-card-add:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .4s,height .4s}.available-card-add:hover:not(:disabled){background:linear-gradient(135deg,#059669,#047857);transform:scale(1.05);box-shadow:0 4px 12px #10b98166}.available-card-add:hover:not(:disabled):before{width:100px;height:100px}.available-card-add:active:not(:disabled){transform:scale(.95)}.available-card-add:disabled{background:#9ca3af;cursor:not-allowed;box-shadow:none;opacity:.6}.available-card-info{display:flex;flex-direction:column;gap:.5rem;flex:1}.available-card-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.available-card-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.available-card-count{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:.25rem .6rem;border-radius:14px;font-size:.7rem;font-weight:700;transition:all .3s ease;box-shadow:0 2px 4px #667eea4d;animation:badgePulse .3s ease;white-space:nowrap}@keyframes badgePulse{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.available-card-count.max{background:linear-gradient(135deg,#ef4444,#dc2626);box-shadow:0 2px 6px #ef444466;animation:maxWarning 1.5s ease-in-out infinite}@keyframes maxWarning{0%,to{transform:scale(1);box-shadow:0 2px 6px #ef444466}50%{transform:scale(1.1);box-shadow:0 3px 10px #ef444499}}.deck-editor-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #ddd}.btn-cancel,.btn-save{padding:.85rem 1.8rem;border:none;border-radius:8px;font-size:1rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-weight:600;box-shadow:0 4px 10px #00000026;position:relative;overflow:hidden}.btn-cancel{background:linear-gradient(135deg,#6b7280,#4b5563);color:#fff}.btn-cancel:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.btn-cancel:hover:not(:disabled){background:linear-gradient(135deg,#4b5563,#374151);transform:translateY(-2px);box-shadow:0 6px 16px #6b72804d}.btn-cancel:hover:not(:disabled):before{left:100%}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-weight:600}.btn-save:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-save:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#653a8b);transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-save:hover:not(:disabled):before{left:100%}.btn-cancel:active:not(:disabled),.btn-save:active:not(:disabled){transform:translateY(0)}.btn-cancel:disabled,.btn-save:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:#9ca3af}.deck-stats-container{margin:1.5rem 0}.deck-stats{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem;padding:1.5rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border-radius:8px;border:1px solid #bae6fd}.deck-stats-section{display:flex;flex-direction:column;gap:.5rem}.deck-stats-section h4{margin:0;font-size:.875rem;color:#0369a1;font-weight:600}.empty-stats{padding:1rem;text-align:center;color:#94a3b8;font-size:.875rem;background:#fff;border-radius:6px;font-style:italic}.mana-curve{display:flex;gap:.5rem;align-items:flex-end;height:120px;padding:.75rem;background:#fff;border-radius:6px}.mana-bar-container{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;height:100%}.mana-count{font-size:.75rem;font-weight:700;color:#1e40af;min-height:1rem}.mana-bar-wrapper{flex:1;width:100%;display:flex;align-items:flex-end;min-height:60px}.mana-bar{width:100%;background:linear-gradient(to top,#3b82f6,#60a5fa);border-radius:4px 4px 0 0;transition:all .3s ease;min-height:2px}.mana-cost-label{font-size:.7rem;font-weight:600;color:#64748b;min-height:1rem}.type-distribution{display:flex;flex-direction:column;gap:.5rem;padding:.5rem;background:#fff;border-radius:6px}.type-item{display:grid;grid-template-columns:4rem 3rem 1fr;gap:.5rem;align-items:center}.type-label{font-size:.8rem;font-weight:600;color:#475569}.type-count{font-size:.8rem;font-weight:700;color:#1e293b;text-align:right}.type-bar{height:1rem;background:#e2e8f0;border-radius:4px;overflow:hidden}.type-bar-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);transition:width .3s ease}.deck-sort-controls,.type-filter-buttons{display:flex;gap:.5rem;margin-bottom:.75rem;padding:.5rem;background:#fff;border-radius:6px}.type-filter-btn{flex:1;padding:.5rem 1rem;border:2px solid #e2e8f0;border-radius:6px;background:#fff;color:#64748b;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s ease}.type-filter-btn:hover{border-color:#cbd5e1;background:#f8fafc}.type-filter-btn.active:hover{background:linear-gradient(135deg,#5568d3,#653a8b)}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 1rem;border-top:1px solid #e2e8f0;background:#f8fafc;margin-top:1rem;border-radius:8px}.pagination-btn{padding:.5rem 1rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:#f1f5f9}.pagination-info{font-size:.875rem;color:#64748b;font-weight:500}.admin-container{min-height:100vh;background:#f5f5f5;display:flex;flex-direction:column}.admin-header{background:linear-gradient(135deg,#fff,#f8f9fa);padding:1rem 2rem;box-shadow:0 4px 12px #00000014;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(102,126,234,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0;z-index:100}.admin-header-left{display:flex;align-items:center;gap:1rem}.admin-header h1{margin:0;color:#333}.game-link{padding:.5rem 1.2rem;background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff;text-decoration:none;border-radius:6px;font-size:.9rem;font-weight:500;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #00000026}.game-link:hover{background:linear-gradient(135deg,#5a6268,#495057);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.admin-header-actions{display:flex;align-items:center;gap:1rem}.user-info{color:#666;font-size:.9rem}.admin-header-actions button{padding:.5rem 1rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:all .2s}.admin-header-actions button:hover{background:#c82333}.btn-edit-mode{padding:.6rem 1.2rem;background:#fff;color:#334155;border:2px solid #cbd5e1;border-radius:6px;font-weight:500;font-size:.9rem;display:flex;align-items:center;gap:.5rem;transition:all .2s}.btn-edit-mode:hover{border-color:#667eea;background:#f8f9fa;transform:translateY(-1px)}.btn-edit-mode.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.error-banner{background:linear-gradient(135deg,#fee,#fdd);color:#c33;padding:1.2rem 2rem;border-bottom:3px solid #fcc;box-shadow:0 4px 12px #cc333326;animation:errorSlideDown .3s ease;font-weight:600;position:relative;overflow:hidden}.error-banner:before{content:"⚠️";margin-right:.5rem;font-size:1.2rem}@keyframes errorSlideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.admin-layout{display:flex;flex:1;overflow:hidden}.admin-sidebar{width:200px;background:#fff;border-right:1px solid #e0e0e0;display:flex;flex-direction:column}.admin-nav{display:flex;flex-direction:column;padding:1rem 0}.nav-item{padding:1rem 1.5rem;background:none;border:none;border-left:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#666;text-align:left;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.nav-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(102,126,234,.1) 0%,transparent 100%);transition:width .3s ease}.nav-item:hover{background:#f8f9fa;color:#333;padding-left:1.8rem}.nav-item:hover:before{width:100%}.nav-item.active{color:#667eea;border-left-color:#667eea;background:linear-gradient(90deg,#f0f4ff,#fafbff);font-weight:600;box-shadow:inset 0 2px 8px #667eea1a}.admin-main-content{flex:1;overflow:auto;padding:2rem}.list-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.list-header{padding:1.5rem;border-bottom:1px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center}.list-header h2{margin:0;color:#333}.list-actions{display:flex;gap:1rem;align-items:center}.filter-input{padding:.6rem 1.2rem;border:2px solid #e0e0e0;border-radius:8px;font-size:.9rem;min-width:280px;transition:all .25s ease;background:#fff;box-shadow:0 2px 4px #0000000d}.filter-input:focus{outline:none;border-color:#667eea;box-shadow:0 4px 12px #667eea26;transform:translateY(-1px)}.filter-input::placeholder{color:#aaa;font-style:italic}.btn-primary{padding:.6rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:600;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 10px #667eea4d;position:relative;overflow:hidden}.btn-primary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .5s,height .5s}.btn-primary:hover{background:linear-gradient(135deg,#5568d3,#653a8b);transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.btn-primary:hover:before{width:300px;height:300px}.btn-primary:active{transform:translateY(0)}.btn-danger-small{padding:.25rem .75rem;background:#dc3545;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.85rem;transition:background .2s}.btn-danger-small:hover{background:#c82333}.btn-back{padding:.5rem 1rem;background:#6c757d;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.btn-back:hover{background:#5a6268}.loading{padding:3rem;text-align:center;color:#667eea;font-size:1.1rem;font-weight:500;animation:loadingFade 1.5s ease-in-out infinite}@keyframes loadingFade{0%,to{opacity:.4}50%{opacity:1}}.loading:after{content:"...";animation:loadingDots 1.5s steps(4) infinite}@keyframes loadingDots{0%,20%{content:""}40%{content:"."}60%{content:".."}80%,to{content:"..."}}.table-container{overflow-x:auto}.list-controls{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;padding:1.5rem;background:#fff;border-bottom:1px solid #e2e8f0;flex-wrap:wrap}.filter-controls{display:flex;flex-direction:column;gap:1rem;flex:1;min-width:300px}.type-filter-group{display:flex;gap:.5rem;flex-wrap:wrap}.type-filter-btn{padding:.5rem 1rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.type-filter-btn:hover{border-color:#667eea;background:#f8f9fa}.type-filter-btn.active{border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 2px 8px #667eea4d}.search-box{display:flex;gap:.5rem;align-items:center}.search-box .filter-input{flex:1;min-width:250px}.btn-search{padding:.625rem 1.5rem;border:none;border-radius:6px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap;box-shadow:0 2px 6px #667eea4d}.btn-search:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-search:active{transform:translateY(0)}.table-pagination{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem;border-top:1px solid #e2e8f0;background:#f8fafc;margin-top:1rem}.table-pagination .pagination-btn{padding:.5rem 1rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s}.table-pagination .pagination-btn:hover:not(:disabled){border-color:#667eea;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.table-pagination .pagination-btn:disabled{opacity:.4;cursor:not-allowed;background:#f1f5f9}.table-pagination .pagination-info{font-size:.875rem;color:#64748b;font-weight:500}.page-size-selector{display:flex;align-items:center;gap:.5rem}.page-size-selector label{font-size:.875rem;color:#64748b;font-weight:500}.page-size-select{padding:.5rem .75rem;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#334155;font-size:.875rem;cursor:pointer;transition:all .2s}.page-size-select:hover{border-color:#667eea}.page-size-select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8f9fa;border-bottom:2px solid #e0e0e0}.data-table th{padding:1rem;text-align:left;font-weight:600;color:#555;font-size:.9rem;white-space:nowrap}.data-table th:nth-child(1){width:15%}.data-table th:nth-child(2){width:12%}.data-table th:nth-child(3){width:10%}.data-table th:nth-child(4){width:8%}.data-table th:nth-child(5){width:8%}.data-table th:nth-child(6){width:8%}.data-table th:nth-child(7){width:29%}.data-table th:nth-child(8){width:10%}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;position:relative;padding-right:2rem;transition:all .2s ease}.data-table th.sortable:after{content:"↕️";position:absolute;right:.5rem;opacity:.3;font-size:.8rem;transition:opacity .2s ease}.data-table th.sortable:hover{background:linear-gradient(135deg,#e9ecef,#f8f9fa);color:#667eea}.data-table th.sortable:hover:after{opacity:.8}.data-table tbody tr{border-bottom:1px solid #e0e0e0}.data-table tbody tr.clickable{cursor:pointer;transition:all .2s ease}.data-table tbody tr.clickable:hover{background:#f8f9fa;box-shadow:0 2px 8px #0000000d}.data-table td{padding:1rem;font-size:.9rem;color:#333}.data-table td.effect-cell{max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.edit-view{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.edit-header{padding:1.5rem;border-bottom:1px solid #e0e0e0;display:flex;align-items:center;gap:1rem}.edit-header h2{margin:0;color:#333}@media (max-width: 1024px){.admin-sidebar{width:180px}.deck-cards-section{grid-template-columns:1fr}.filter-input{min-width:200px}}@media (max-width: 768px){.admin-header{flex-direction:column;gap:1rem;padding:1rem}.admin-header-left,.admin-header-actions{width:100%;justify-content:space-between}.admin-sidebar{width:100%;border-right:none;border-bottom:1px solid #e0e0e0}.admin-nav{flex-direction:row;overflow-x:auto;padding:.5rem 0}.nav-item{border-left:none;border-bottom:3px solid transparent;white-space:nowrap}.nav-item.active{border-left:none;border-bottom-color:#667eea}.admin-layout{flex-direction:column}.list-header{flex-direction:column;gap:1rem;align-items:flex-start}.list-actions{width:100%;flex-direction:column}.filter-input{width:100%}.data-table{font-size:.85rem}.data-table th,.data-table td{padding:.75rem .5rem}.form-actions{flex-direction:column}.btn-primary,.btn-back,.btn-cancel,.btn-save{width:100%}}@media (max-width: 480px){.admin-main-content{padding:1rem}.trait-checkbox{padding:.4rem .6rem;font-size:.85rem}.deck-card-item,.available-card-item{padding:.6rem}}.admin-tabs{display:flex;background:#fff;border-bottom:2px solid #e2e8f0;padding:0 2rem;gap:.5rem}.tab-button{padding:1rem 2rem;background:none;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:1rem;font-weight:500;color:#666;transition:all .25s;position:relative}.tab-button:hover{color:#667eea;background:#667eea0d}.tab-button.active{color:#667eea;border-bottom-color:#667eea;background:#667eea14}.admin-content{display:flex;flex:1;overflow:hidden;height:calc(100vh - 180px)}.admin-sidebar{width:300px;background:#fff;border-right:1px solid #e2e8f0;display:flex;flex-direction:column;overflow:hidden}.admin-main{flex:1;background:#f8fafc;overflow-y:auto;padding:2rem}.new-card-button,.new-deck-button{margin:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s;box-shadow:0 4px 12px #667eea4d}.new-card-button:hover,.new-deck-button:hover{background:linear-gradient(135deg,#5568d3,#653a8b);transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.admin-sidebar .card-list-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.admin-sidebar .card-list{flex:1;overflow-y:auto;padding:0 1rem}.connection-status-banner{position:fixed;top:80px;left:50%;transform:translate(-50%);background-color:#ff9800;color:#fff;padding:12px 24px;border-radius:8px;box-shadow:0 4px 8px #0003;display:flex;align-items:center;gap:8px;font-weight:500;z-index:10000;animation:slideDown .3s ease-out}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-20px)}to{opacity:1;transform:translate(-50%)}}.warning-icon{font-size:1.2em}.player-info-compact{background:#fffffff2;border-radius:8px;padding:6px 10px;box-shadow:0 2px 8px #0000001a;transition:all .3s ease;display:flex;flex-direction:row;align-items:center;gap:10px;margin-bottom:6px;flex-shrink:0}.player-info-compact.current{border:2px solid #4caf50;box-shadow:0 2px 12px #4caf5066}.player-info-compact.attack-target{border:3px solid #f44336;box-shadow:0 2px 12px #f4433666;cursor:pointer;animation:attackTargetPulse 1.5s ease-in-out infinite;transition:all .3s ease}@keyframes attackTargetPulse{0%,to{box-shadow:0 2px 12px #f4433666}50%{box-shadow:0 4px 20px #f44336b3}}.player-info-compact.attack-target:hover{transform:scale(1.05);box-shadow:0 6px 24px #f4433699;animation:none}.player-name-compact{font-size:.85rem;font-weight:700;color:#333;white-space:nowrap}.player-stats-row{display:flex;gap:8px;justify-content:center;align-items:center}.stat-compact{display:flex;flex-direction:column;align-items:center;padding:4px 8px;border-radius:5px;background:#0000000d;min-width:45px}.stat-label{font-size:.85rem;font-weight:600;opacity:.9}.stat-value{font-size:1.3rem;font-weight:700;margin-top:5px}.stat-compact .stat-label{font-size:.65rem;font-weight:600;color:#666;margin-bottom:2px}.stat-compact .stat-value{font-size:.8rem;font-weight:700;color:#333}.stat-compact.hp{background:linear-gradient(135deg,#e74c3c,#c0392b)}.stat-compact.hp .stat-label,.stat-compact.hp .stat-value{color:#fff}.stat-compact.mana{background:linear-gradient(135deg,#3498db,#2980b9)}.stat-compact.mana .stat-label,.stat-compact.mana .stat-value{color:#fff}.stat-compact.deck .stat-value{color:#95a5a6}.stat-compact.hand .stat-value{color:#f39c12}.stat-compact.graveyard .stat-value{color:#8e44ad}.hp-bar{display:flex;align-items:center;gap:6px;background:linear-gradient(135deg,#e74c3c,#c0392b);padding:4px 10px;border-radius:6px;color:#fff}.hp-label{font-size:.75rem;font-weight:600;opacity:.9}.hp-value{font-size:.9rem;font-weight:700}.stat{display:flex;flex-direction:column;align-items:center;padding:6px 12px;border-radius:6px;min-width:70px}.stat.hp{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.stat-mini{display:flex;flex-direction:column;align-items:center;padding:4px 8px;border-radius:5px;background:#0000000d;min-width:50px}.stat-mini .label{font-size:.7rem;color:#666;font-weight:600}.stat-mini .value{font-size:.9rem;font-weight:700;color:#333;margin-top:2px}.stat-mini.mana .value{color:#3498db}.stat-mini.deck .value{color:#95a5a6}.stat-mini.hand .value{color:#f39c12}.stat-mini.graveyard .value{color:#8e44ad}.effect-timing-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border-radius:4px;font-size:11px;font-weight:600;background:#0009;border:1px solid rgba(255,255,255,.2);white-space:nowrap}.effect-timing-badge.immediate{background:#ffd70033;border-color:#ffd70099;color:gold}.effect-timing-badge.on-summon{background:#87cefa33;border-color:#87cefa99;color:#87cefa}.effect-timing-badge.on-destroy{background:#ff450033;border-color:#ff450099;color:#ff4500}.effect-timing-badge.on-attack{background:#dc143c33;border-color:#dc143c99;color:#dc143c}.effect-timing-badge.on-damaged{background:#ff8c0033;border-color:#ff8c0099;color:#ff8c00}.effect-timing-badge.turn-start{background:#6495ed33;border-color:#6495ed99;color:#6495ed}.effect-timing-badge.turn-end{background:#4b008233;border-color:#4b008299;color:#9370db}.effect-timing-badge .icon{font-size:13px;line-height:1}.effect-timing-badge .label{line-height:1}.effect-timing-list{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.effect-timing-tooltip{position:relative;display:inline-block;cursor:help}.tooltip-content{position:fixed;bottom:auto;left:auto;transform:translate(-50%,calc(-100% - 4px));padding:6px 10px;background:#000000f2;border:1px solid rgba(255,255,255,.3);border-radius:6px;font-size:11px;white-space:nowrap;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;pointer-events:none;z-index:10000}.effect-timing-tooltip:hover .tooltip-content{opacity:1;visibility:visible;box-shadow:0 4px 12px #0006;color:#fff;display:none;max-width:250px;text-align:center}.effect-timing-tooltip:hover .tooltip-content{opacity:1;visibility:visible;display:block}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:5px solid transparent;border-top-color:#000000f2}.unit-card{background:linear-gradient(135deg,#fff,#f0f0f0);border:3px solid #ddd;border-radius:10px;padding:8px;width:110px;min-width:110px;height:160px;box-shadow:0 4px 8px #0000001a;transition:all .3s ease;position:relative;flex-shrink:0;display:flex;flex-direction:column;justify-content:space-between}.unit-card.clickable{cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1)}.unit-card.clickable:hover{transform:translateY(-5px) scale(1.03);box-shadow:0 10px 25px #667eea4d;border-color:#667eea;z-index:10}.unit-card.selected{border-color:#4caf50;box-shadow:0 0 25px #4caf5099,0 8px 20px #4caf504d;transform:scale(1.05);z-index:15}.unit-card.can-attack{border-color:#ff9800;animation:pulse 2s infinite;cursor:pointer}@keyframes pulse{0%,to{box-shadow:0 0 15px #ff980080}50%{box-shadow:0 0 30px #ff9800e6;transform:scale(1.02)}}.unit-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:4px}.unit-name{font-weight:700;font-size:.85rem;color:#333;flex:1;line-height:1.1;word-break:break-word;padding-right:6px}.unit-cost{background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem;flex-shrink:0}.unit-stats{display:flex;justify-content:space-between;margin:6px 0;gap:3px}.unit-stats .stat{font-size:.85rem;font-weight:700;padding:4px 6px;border-radius:5px;color:#fff;flex:1;text-align:center;min-width:0;overflow:hidden}.unit-stats .stat.attack{background:linear-gradient(135deg,#e74c3c,#c0392b)}.unit-stats .stat.defense{background:linear-gradient(135deg,#27ae60,#229954)}.unit-traits{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0;justify-content:center}.trait-badge{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;padding:3px 7px;border-radius:5px;font-size:.68rem;font-weight:700;box-shadow:0 2px 4px #9b59b64d;transition:all .2s ease;white-space:nowrap}.trait-badge:hover{transform:scale(1.1);box-shadow:0 3px 8px #9b59b680}.unit-effect{font-size:.7rem;color:#555;margin:4px 0;padding:4px;background:#0000000d;border-radius:4px;min-height:28px;line-height:1.1;flex:1;display:flex;flex-direction:column;align-items:flex-start;gap:2px;overflow:visible;position:relative;z-index:1}.unit-effect span{flex:1;display:flex;align-items:center}.unit-card:hover{z-index:100}.unit-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:4px;border-top:1px solid #ddd;font-size:.7rem}.attacks-remaining{color:#666;font-weight:600}.summoned-badge{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;padding:3px 6px;border-radius:4px;font-size:.65rem;font-weight:600;box-shadow:0 1px 3px #0003;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.game-board{display:flex;flex-direction:column;gap:6px;position:relative;flex:1;min-height:0;overflow:hidden}.message-banner{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#000000e6;color:#fff;padding:16px 32px;border-radius:12px;box-shadow:0 8px 32px #0006;z-index:1000;animation:slideDown .4s cubic-bezier(.4,0,.2,1);max-width:80%;text-align:center;font-weight:600;font-size:1.05rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.message-banner.success{background:linear-gradient(135deg,#48bb78f2,#38b2acf2);color:#fff;border:2px solid rgba(255,255,255,.3)}.message-banner.error{background:linear-gradient(135deg,#e53e3ef2,#dc2626f2);color:#fff;border:2px solid rgba(255,255,255,.3)}@keyframes slideDown{0%{transform:translate(-50%,-120%);opacity:0;scale:.9}to{transform:translate(-50%);opacity:1;scale:1}}.action-guide{position:fixed;top:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eeaf2,#764ba2f2);color:#fff;padding:12px 24px;border-radius:10px;box-shadow:0 4px 20px #667eea66;z-index:999;font-weight:600;font-size:.95rem;animation:guideFadeIn .3s ease;border:2px solid rgba(255,255,255,.3);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.action-guide.attack{background:linear-gradient(135deg,#ff9800f2,#ff6f00f2);box-shadow:0 4px 20px #ff980066}@keyframes guideFadeIn{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@media (max-width: 768px){.hand-card-detailed{width:100px;min-width:100px;height:160px;padding:6px}.hand-card-detailed .card-name{font-size:.75rem;min-height:32px}.hand-card-detailed .card-cost{width:24px;height:24px;font-size:.85rem}.hand-card-detailed .card-effect{font-size:.58rem}.unit-card{width:100px;min-width:100px;height:150px}.opponent-area,.player-area,.hand-area{border-radius:10px;padding:8px}.message-banner,.action-guide{max-width:90%;padding:12px 20px;font-size:.9rem}.end-turn-button{padding:8px 20px;font-size:.9rem}.game-info{padding:6px 15px}}@media (max-width: 480px){.hand-card-detailed{width:90px;min-width:90px;height:145px}.unit-card{width:90px;min-width:90px;height:140px}.field,.hand-cards{gap:6px}}.opponent-area{background:linear-gradient(135deg,#ffffff1f,#ffffff14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:15px;padding:10px;display:flex;flex-direction:column;overflow:hidden;flex:0 0 auto;height:260px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000001a}.player-area{background:linear-gradient(135deg,#ffffff1f,#ffffff14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:15px;padding:10px;display:flex;flex-direction:column;overflow:hidden;flex:0 0 auto;height:200px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000001a}.field{display:flex;gap:8px;padding:8px;background:#0000001a;border-radius:10px;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;overflow-y:hidden;flex:1;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.3) transparent}.field::-webkit-scrollbar{height:6px}.field::-webkit-scrollbar-track{background:#0000000d;border-radius:10px}.field::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:10px}.field::-webkit-scrollbar-thumb:hover{background:#ffffff80}.opponent-area .field,.player-area .field{flex:1;min-height:0;max-height:180px}.game-info{display:flex;justify-content:space-between;align-items:center;background:#fff;padding:6px 20px;border-radius:10px;box-shadow:0 4px 20px #0000001a;flex-shrink:0}.turn-info{display:flex;gap:20px;font-size:1rem;font-weight:600;color:#333}.end-turn-button{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;padding:10px 28px;font-size:1rem;border:none;border-radius:8px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);font-weight:600;box-shadow:0 2px 8px #f5576c4d;position:relative;overflow:hidden}.end-turn-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.end-turn-button:hover:not(:disabled){transform:translateY(-2px) scale(1.02);box-shadow:0 6px 20px #f5576c80}.end-turn-button:hover:not(:disabled):before{left:100%}.end-turn-button:active:not(:disabled){transform:translateY(0) scale(.98)}.end-turn-button:disabled{opacity:.5;cursor:not-allowed;background:#9ca3af;box-shadow:none}.hand-area{background:linear-gradient(135deg,#ffffff1f,#ffffff14);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;padding:8px;flex-shrink:0;display:flex;flex-direction:column;height:260px;overflow:hidden;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 20px #0000001a}.hand-title{color:#fff;margin-bottom:6px;font-size:.9rem;text-align:center;flex-shrink:0}.hand-cards{display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding:8px 4px;flex:1;align-items:center;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.5) transparent}.hand-cards::-webkit-scrollbar{height:8px}.hand-cards::-webkit-scrollbar-track{background:#0000001a;border-radius:10px}.hand-cards::-webkit-scrollbar-thumb{background:#ffffff80;border-radius:10px;transition:background .3s}.hand-cards::-webkit-scrollbar-thumb:hover{background:#fffc}.hand-card-detailed{background:linear-gradient(135deg,#fff,#f5f5f5);border:3px solid #ddd;border-radius:10px;padding:8px;width:110px;min-width:110px;height:170px;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 8px #00000026;display:flex;flex-direction:column;gap:4px;position:relative;flex-shrink:0}.hand-card-detailed:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 8px 24px #667eea4d;border-color:#667eea;z-index:10}.hand-card-detailed.selected{border-color:#4caf50;transform:translateY(-12px) scale(1.05);box-shadow:0 0 25px #4caf5099,0 12px 30px #4caf504d;z-index:20;animation:selectedPulse 2s ease-in-out infinite}@keyframes selectedPulse{0%,to{box-shadow:0 0 25px #4caf5099,0 12px 30px #4caf504d}50%{box-shadow:0 0 35px #4caf50cc,0 12px 35px #4caf5066}}.hand-card-detailed .card-cost{position:absolute;top:6px;right:6px;background:linear-gradient(135deg,#3498db,#2980b9);color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.95rem}.hand-card-detailed .card-name{font-weight:700;font-size:.85rem;color:#333;text-align:center;line-height:1.1;min-height:36px;display:flex;align-items:center;justify-content:center;padding:0 30px 0 4px;word-break:break-word;margin-top:6px}.hand-card-detailed .card-stats{display:flex;justify-content:space-around;gap:4px;margin:4px 0}.hand-card-detailed .card-stats span{padding:4px 8px;border-radius:5px;color:#fff;font-weight:700;font-size:.95rem;flex:1;text-align:center}.hand-card-detailed .card-stats .atk{background:linear-gradient(135deg,#e74c3c,#c0392b)}.hand-card-detailed .card-stats .def{background:linear-gradient(135deg,#27ae60,#229954)}.hand-card-detailed .card-traits{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0;justify-content:center}.hand-card-detailed .trait-badge-small{background:linear-gradient(135deg,#9b59b6,#8e44ad);color:#fff;padding:2px 6px;border-radius:4px;font-size:.6rem;font-weight:600;white-space:nowrap}.hand-card-detailed .card-play-button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:6px;border-radius:5px;text-align:center;font-size:.6rem;font-weight:700;margin-top:auto;cursor:pointer;border:none;transition:all .2s ease;position:relative;overflow:hidden}.hand-card-detailed .card-play-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .3s,height .3s}.hand-card-detailed .card-play-button:hover{background:linear-gradient(135deg,#5568d3,#653a8b);transform:scale(1.05);box-shadow:0 2px 8px #667eea66}.hand-card-detailed .card-play-button:hover:before{width:100px;height:100px}.hand-card-detailed .card-play-button:active{transform:scale(.98)}.no-cards{color:#fff;opacity:.7;font-style:italic;padding:20px}.game-over{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;background:#fff;border-radius:20px;padding:60px}.game-over h2{font-size:3rem;color:#333;margin-bottom:30px}.game-over button{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px 40px;font-size:1.2rem}.hand-card-detailed .card-effect{font-size:.62rem;color:#555;background:#f3f3f3;border-radius:4px;padding:1px 3px;margin:2px 0 0;text-align:left;min-height:14px;line-height:1.15;word-break:break-word}.coin-toss-container{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eeaf2,#764ba2f2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.coin-toss-card{background:#fff;border-radius:20px;padding:3rem;box-shadow:0 20px 60px #0000004d;max-width:600px;width:90%;text-align:center;animation:slideUp .4s ease}@keyframes slideUp{0%{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.coin-toss-card h2{margin:0 0 1rem;font-size:2rem;color:#333}.coin-toss-card .description{color:#666;font-size:1rem;line-height:1.6;margin-bottom:2rem}.winner-message{color:#667eea;font-weight:600;font-size:1.1rem}.coin-wrapper{perspective:1000px;margin:2rem 0;height:200px;display:flex;align-items:center;justify-content:center}.coin{width:150px;height:150px;position:relative;transform-style:preserve-3d}.coin-static{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,gold,#ffed4e);box-shadow:0 8px 20px #0003;transform-style:preserve-3d;transition:transform .6s}.coin-static.heads{transform:rotateY(0)}.coin-static.tails{transform:rotateY(180deg)}.coin-side{position:absolute;width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700;backface-visibility:hidden;box-shadow:0 8px 20px #0003}.coin-side.heads{background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914;border:4px solid #ffa500;transform:rotateY(0)}.coin-side.tails{background:linear-gradient(135deg,silver,#e8e8e8);color:#555;border:4px solid #888;transform:rotateY(180deg)}.tails-text-rotating{display:inline-block}.tails-text-static{display:inline-block;transform:scaleX(-1)}.coin-static{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.8rem;font-weight:700;margin:0 auto 2rem;box-shadow:0 8px 20px #0003}.coin-static.heads{background:linear-gradient(135deg,gold,#ffed4e);color:#8b6914;border:4px solid #ffa500}.coin-static.tails{background:linear-gradient(135deg,silver,#e8e8e8);color:#555;border:4px solid #888}.coin-result{margin:1rem 0 2rem}.coin-toss-button{padding:1rem 3rem;font-size:1.2rem;font-weight:600;border:none;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.coin-toss-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.coin-toss-button:active:not(:disabled){transform:translateY(0)}.coin-toss-button:disabled{opacity:.6;cursor:not-allowed}.turn-order-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.turn-order-button{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:2rem 1rem;border:3px solid #e0e0e0;border-radius:16px;background:#fff;cursor:pointer;transition:all .3s ease;font-family:inherit}.turn-order-button:hover:not(:disabled){border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 25px #667eea4d}.turn-order-button.selected{border-color:#667eea;background:linear-gradient(135deg,#667eea1a,#764ba21a);box-shadow:0 8px 25px #667eea66}.turn-order-button:disabled{opacity:.6;cursor:not-allowed}.turn-order-button .button-icon{font-size:3rem}.turn-order-button .button-text{font-size:1.3rem;font-weight:700;color:#333}.turn-order-button .button-desc{font-size:.9rem;color:#666}.turn-order-button.first .button-text{color:#dc3545}.turn-order-button.second .button-text{color:#0d6efd}.status-message{margin-top:1.5rem;color:#667eea;font-weight:600;font-size:1.1rem;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.waiting-spinner{width:50px;height:50px;border:4px solid rgba(102,126,234,.2);border-top-color:#667eea;border-radius:50%;margin:2rem auto;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width: 768px){.coin-toss-card{padding:2rem}.turn-order-buttons{grid-template-columns:1fr}.coin-toss-card h2{font-size:1.5rem}.coin{width:120px;height:120px}.coin-side{font-size:1.5rem}}.mulligan-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000}.mulligan-modal{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:32px;max-width:900px;width:90%;box-shadow:0 20px 60px #00000080;color:#fff}.mulligan-modal h2{margin:0 0 8px;font-size:28px;text-align:center}.mulligan-modal p{margin:0 0 24px;text-align:center;font-size:16px;opacity:.9}.mulligan-cards{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:24px;min-height:200px}.mulligan-card{position:relative;background:#fff;color:#333;border-radius:12px;padding:16px;width:140px;cursor:pointer;transition:all .2s;border:3px solid transparent;box-shadow:0 4px 12px #0003}.mulligan-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000004d}.mulligan-card.selected{border-color:#4caf50;background:#e8f5e9;transform:translateY(-8px)}.mulligan-card .card-cost{position:absolute;top:8px;left:8px;background:#667eea;color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px}.mulligan-card .card-name{font-weight:700;font-size:14px;margin:8px 0;text-align:center;min-height:36px;display:flex;align-items:center;justify-content:center}.mulligan-card .card-effect{font-size:11px;color:#666;margin:8px 0;text-align:center;min-height:32px;line-height:1.3}.mulligan-card .card-stats{display:flex;justify-content:space-around;margin-top:8px;padding-top:8px;border-top:1px solid #ddd;font-size:14px;font-weight:700}.mulligan-card .card-stats .atk{color:#f44336}.mulligan-card .card-stats .def{color:#2196f3}.selected-badge{position:absolute;top:8px;right:8px;background:#4caf50;color:#fff;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;box-shadow:0 2px 8px #4caf5080}.mulligan-actions{display:flex;gap:16px;justify-content:center}.mulligan-actions button{padding:12px 32px;font-size:16px;font-weight:700;border:none;border-radius:8px;cursor:pointer;transition:all .2s;min-width:160px}.btn-skip{background:#757575;color:#fff}.btn-skip:hover{background:#616161}.btn-submit{background:#4caf50;color:#fff}.btn-submit:hover:not(:disabled){background:#45a049;transform:scale(1.05)}.btn-submit:disabled{background:#9e9e9e;cursor:not-allowed;opacity:.6}.loading-spinner{border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin:24px auto}.game-setup{display:flex;justify-content:center;align-items:center;min-height:60vh}.setup-card{background:#fff;border-radius:20px;padding:40px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:100%}.setup-card h2{color:#333;margin-bottom:20px;text-align:center;font-size:2rem}.setup-card .description{text-align:center;color:#666;margin-bottom:30px;font-size:1rem}.form-group{margin-bottom:25px}.form-group label{display:block;margin-bottom:8px;color:#555;font-weight:600;font-size:1rem}.form-group input{width:100%}.error-message{background:#fee;color:#c33;padding:12px;border-radius:8px;margin-bottom:20px;font-size:.9rem}.start-button{width:100%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:15px;font-size:1.1rem;margin-top:10px}.start-button:hover:not(:disabled){background:linear-gradient(135deg,#5568d3,#653a8b)}.matchmaking-status{text-align:center;padding:40px 20px}.matchmaking-status p{color:#555;font-size:1.1rem;margin-top:20px;font-weight:600}.spinner{border:4px solid #f3f3f3;border-top:4px solid #667eea;border-radius:50%;width:50px;height:50px;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.cancel-button{width:100%;background:#e0e0e0;color:#666;padding:15px;font-size:1.1rem;margin-top:20px}.cancel-button:hover{background:#d0d0d0}.game-page{min-height:100vh}.game-header{background:#fff;padding:1rem 2rem;box-shadow:0 2px 4px #0000001a;display:flex;justify-content:space-between;align-items:center}.game-header h1{margin:0;color:#333}.game-nav{display:flex;gap:1rem}.admin-link{padding:.5rem 1rem;background:#667eea;color:#fff;text-decoration:none;border-radius:4px;transition:background .2s}.admin-link:hover{background:#5568d3}.app{height:100%;display:flex;flex-direction:column}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);height:100vh;overflow:hidden}#root{max-width:1400px;margin:0 auto;padding:8px;height:100vh;display:flex;flex-direction:column}button{cursor:pointer;border:none;border-radius:8px;padding:10px 20px;font-size:16px;font-weight:600;transition:all .3s ease}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #0003}button:disabled{opacity:.5;cursor:not-allowed}input{padding:10px 15px;border:2px solid #ddd;border-radius:8px;font-size:16px;transition:border-color .3s ease}input:focus{outline:none;border-color:#667eea}
