*{margin:0;padding:0;box-sizing:border-box}:root{--bg-primary: #1a1a2e;--bg-secondary: #16213e;--bg-tertiary: #0f3460;--accent: #e94560;--accent-hover: #ff6b7d;--text-primary: #ffffff;--text-secondary: #b8b8b8;--border: #2a2a3e;--success: #4ade80;--warning: #fbbf24;--error: #ef4444;--mana-w: #f8f6d8;--mana-u: #0e68ab;--mana-b: #150b00;--mana-r: #d3202a;--mana-g: #00733e;--mana-c: #c8c8c8;color-scheme:dark}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:var(--bg-primary);color:var(--text-primary);min-height:100vh}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]),textarea,select{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.65rem .85rem;border-radius:8px;font:inherit;font-size:1rem;transition:border-color .2s}input:not([type=checkbox]):not([type=radio]):not([type=file]):not([type=color]):not([type=range]):not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]):not([type=image]):focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}input::placeholder,textarea::placeholder{color:var(--text-secondary);opacity:.85}select{cursor:pointer}select option{background:var(--bg-secondary);color:var(--text-primary)}input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,textarea:-webkit-autofill,select:-webkit-autofill{-webkit-text-fill-color:var(--text-primary);-webkit-box-shadow:0 0 0 1000px var(--bg-tertiary) inset;transition:background-color 99999s ease-in-out 0s}.search-input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;font-size:1rem;width:100%;max-width:400px}.search-input:focus{outline:none;border-color:var(--accent)}.app{display:flex;flex-direction:column;min-height:100vh}.app-header{background:var(--bg-secondary);padding:1.5rem 2rem;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.app-header h1{font-size:1.75rem;color:var(--accent);font-weight:700}.header-actions{display:flex;gap:1rem;align-items:center}.deck-name-input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:8px;font-size:1rem;min-width:200px}.deck-name-input:focus{outline:none;border-color:var(--accent)}.tab-nav{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border);padding:0 1rem;gap:.5rem;overflow-x:auto}.tab-nav button{background:transparent;border:none;color:var(--text-secondary);padding:1rem 1.5rem;cursor:pointer;font-size:1rem;border-bottom:3px solid transparent;transition:all .2s;white-space:nowrap}.tab-nav button:hover{color:var(--text-primary);background:var(--bg-tertiary)}.tab-nav button.active{color:var(--accent);border-bottom-color:var(--accent);background:var(--bg-tertiary)}.app-main{flex:1;padding:2rem;max-width:1600px;margin:0 auto;width:100%}.build-view{display:flex;flex-direction:column;height:calc(100vh - 200px)}.search-view{max-width:1200px;margin:0 auto;width:100%}.deck-panel-full{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border);overflow-y:auto;max-height:calc(100vh - 200px)}@media (max-width: 1024px){.build-view{height:auto}}.search-panel,.deck-panel{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border);overflow-y:auto}.panel-title{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary);font-weight:600}.card-search-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;font-size:1rem;margin-bottom:1rem}.card-search-input:focus{outline:none;border-color:var(--accent)}.search-results{display:flex;flex-direction:column;gap:.75rem;max-height:500px;overflow-y:auto}.card-result{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.card-result:hover{border-color:var(--accent);transform:translate(4px)}.card-result-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:.5rem}.card-result-name{font-weight:600;color:var(--text-primary);font-size:1.1rem}.card-result-mana{color:var(--text-secondary);font-size:.9rem}.card-result-type{color:var(--text-secondary);font-size:.9rem;margin-top:.25rem}.deck-section{margin-bottom:2rem}.deck-section-title{font-size:1.1rem;margin-bottom:1rem;color:var(--accent);display:flex;justify-content:space-between;align-items:center}.deck-count{background:var(--bg-tertiary);padding:.25rem .75rem;border-radius:6px;font-size:.9rem}.deck-card-list{display:flex;flex-direction:column;gap:.5rem}.deck-card-item{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;display:flex;justify-content:space-between;align-items:center;transition:all .2s}.deck-card-item:hover{border-color:var(--accent)}.deck-card-info{flex:1}.deck-card-name{font-weight:600;color:var(--text-primary)}.deck-card-details{font-size:.85rem;color:var(--text-secondary);margin-top:.25rem}.deck-card-controls{display:flex;align-items:center;gap:.75rem}.quantity-control{display:flex;align-items:center;gap:.5rem;background:var(--bg-primary);padding:.25rem .5rem;border-radius:6px}.quantity-btn{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);width:28px;height:28px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.quantity-btn:hover{background:var(--accent);border-color:var(--accent)}.quantity-display{min-width:30px;text-align:center;font-weight:600}.btn{background:var(--accent);border:none;color:#fff;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;font-weight:500}.btn:hover{background:var(--accent-hover);transform:translateY(-1px)}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--border)}.btn-danger{background:var(--error)}.btn-danger:hover{background:#dc2626}.btn-small{padding:.25rem .75rem;font-size:.85rem}.validation-result{background:var(--bg-secondary);border-radius:12px;padding:1.5rem;border:1px solid var(--border)}.validation-section{margin-bottom:1.5rem}.validation-section-title{font-size:1.1rem;margin-bottom:.75rem;font-weight:600}.validation-list{list-style:none;display:flex;flex-direction:column;gap:.5rem}.validation-item{padding:.75rem;border-radius:6px;border-left:4px solid}.validation-item.error{background:#ef44441a;border-color:var(--error);color:var(--error)}.validation-item.warning{background:#fbbf241a;border-color:var(--warning);color:var(--warning)}.validation-item.suggestion{background:#4ade801a;border-color:var(--success);color:var(--success)}.import-panel{background:var(--bg-secondary);border-radius:12px;padding:2rem;border:1px solid var(--border);max-width:800px;margin:0 auto}.import-textarea{width:100%;min-height:300px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:1rem;border-radius:8px;font-family:monospace;font-size:.9rem;resize:vertical}.import-textarea:focus{outline:none;border-color:var(--accent)}.file-input-wrapper{margin-bottom:1rem}.file-input-label{display:inline-block;background:var(--accent);color:#fff;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;transition:all .2s}.file-input-label:hover{background:var(--accent-hover)}.file-input{display:none}.keyword-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.keyword-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1rem}.keyword-name{font-weight:600;color:var(--accent);margin-bottom:.5rem;font-size:1.1rem}.keyword-definition{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.empty-state{text-align:center;padding:3rem;color:var(--text-secondary)}.empty-state-icon{font-size:3rem;margin-bottom:1rem}.card-detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:2rem;overflow-y:auto}.card-detail{background:var(--bg-secondary);border-radius:12px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border);box-shadow:0 10px 40px #00000080}.card-detail-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-secondary);z-index:10}.card-detail-name{font-size:1.5rem;color:var(--accent);margin:0}.card-detail-close{background:transparent;border:none;color:var(--text-primary);font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.card-detail-close:hover{background:var(--bg-tertiary)}.card-detail-back{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;margin-right:1rem}.card-detail-back:hover{background:var(--border);border-color:var(--accent)}.card-detail-content{padding:1.5rem}.card-detail-main{display:grid;grid-template-columns:auto 1fr;gap:1.5rem;margin-bottom:1.5rem}.card-detail-image img{width:200px;border-radius:8px;box-shadow:0 4px 12px #0000004d}.card-detail-info{display:flex;flex-direction:column;gap:.75rem}.card-detail-info>div{color:var(--text-secondary)}.card-detail-info strong{color:var(--text-primary);margin-right:.5rem}.card-detail-text{margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.card-detail-text h3{margin-bottom:.75rem;color:var(--accent)}.card-text-content{line-height:1.6;color:var(--text-secondary)}.card-text-content p{margin-bottom:.5rem}.card-detail-keywords{margin-bottom:1.5rem}.card-detail-keywords h3{margin-bottom:.75rem;color:var(--accent)}.keyword-tags{display:flex;flex-wrap:wrap;gap:.5rem}.keyword-tag{background:var(--bg-tertiary);border:1px solid var(--border);padding:.25rem .75rem;border-radius:6px;font-size:.85rem;color:var(--accent);cursor:help}.card-detail-sections{display:flex;flex-direction:column;gap:1rem}.card-detail-section{border:1px solid var(--border);border-radius:8px;overflow:hidden}.card-detail-toggle{width:100%;background:var(--bg-tertiary);border:none;color:var(--text-primary);padding:1rem;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.card-detail-toggle:hover{background:var(--border)}.card-detail-section-content{padding:1rem;background:var(--bg-secondary)}.rulings-list{display:flex;flex-direction:column;gap:1rem}.ruling-item{padding:1rem;background:var(--bg-tertiary);border-radius:6px;border-left:4px solid var(--accent)}.ruling-date{font-size:.85rem;color:var(--text-secondary);margin-bottom:.5rem}.ruling-text{color:var(--text-primary);line-height:1.6}.combos-list{display:flex;flex-direction:column;gap:.75rem}.combo-item{padding:1rem;background:var(--bg-tertiary);border-radius:6px;border-left:4px solid;position:relative;transition:all .2s}.combo-item:hover{transform:translate(4px);box-shadow:0 2px 8px #0003}.combo-item.loading{opacity:.6;pointer-events:none}.combo-item.combo-high{border-left-color:var(--success)}.combo-item.combo-medium{border-left-color:var(--warning)}.combo-item.combo-low{border-left-color:var(--text-secondary)}.combo-card{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.combo-reason{color:var(--text-secondary);font-size:.9rem}.combo-badge{position:absolute;top:1rem;right:1rem;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.combo-badge.combo-high{background:#4ade8033;color:var(--success)}.combo-badge.combo-medium{background:#fbbf2433;color:var(--warning)}.combo-badge.combo-low{background:#b8b8b833;color:var(--text-secondary)}.wishlist-badge{margin-left:.5rem;color:var(--warning);font-size:.9rem}.missing-badge{margin-left:.5rem;color:var(--error);font-size:.85rem;font-weight:600}.have-badge{margin-left:.5rem;color:var(--success);font-size:.9rem}.deck-card-item.wishlisted{border-left-color:var(--warning);background:#fbbf240d}.deck-card-item.missing-from-collection{border-left-color:var(--error)}.btn-wishlist-active{background:var(--warning)!important;color:#fff!important}.btn-wishlist-active:hover{background:#f59e0b!important}.card-detail-actions{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border);text-align:center}.card-result-content{cursor:pointer}@media (max-width: 768px){.card-detail-main{grid-template-columns:1fr}.card-detail-image img{width:100%;max-width:300px;margin:0 auto;display:block}}.loading{text-align:center;padding:2rem;color:var(--text-secondary)}.error-message{background:#ef44441a;border:1px solid var(--error);color:var(--error);padding:1rem;border-radius:8px;margin:1rem 0}.success-message{background:#4ade801a;border:1px solid var(--success);color:var(--success);padding:1rem;border-radius:8px;margin:1rem 0}.collection-viewer{padding:2rem;max-width:1200px;margin:0 auto}.collection-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;flex-wrap:wrap;gap:1rem}.collection-stats{display:flex;gap:.5rem;align-items:center;color:var(--text-secondary);font-size:.9rem}.my-decks-section{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem;margin-bottom:1.5rem}.my-decks-title{font-size:1rem;font-weight:600;margin:0 0 .75rem;color:var(--text-primary)}.my-decks-message{margin:0;font-size:.9rem;color:var(--text-secondary)}.my-decks-message.my-decks-error{color:var(--danger, #e74c3c)}.my-decks-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.my-decks-item{display:flex;align-items:center;gap:1rem;padding:.5rem 0;border-bottom:1px solid var(--border)}.my-decks-item:last-child{border-bottom:none}.my-decks-item-name{font-weight:500;color:var(--text-primary);min-width:0;flex:1}.my-decks-item-meta{font-size:.85rem;color:var(--text-secondary)}.my-decks-item .btn-small{padding:.35rem .75rem;font-size:.85rem}.collection-controls{display:flex;gap:1rem;margin-bottom:1.5rem;align-items:center}.collection-controls .search-input{flex:1;max-width:400px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;font-size:1rem}.collection-controls .search-input:focus{outline:none;border-color:var(--accent)}.collection-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:2rem}.collection-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s;display:flex;justify-content:space-between;align-items:center;gap:1rem}.collection-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.collection-item-main{flex:1;min-width:0}.collection-item-name{font-weight:600;color:var(--text-primary);margin-bottom:.25rem;word-wrap:break-word}.collection-item-meta{display:flex;gap:.75rem;font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.collection-item-set{background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;font-weight:600}.collection-item-number{color:var(--text-secondary)}.collection-item-quantity{font-size:1.25rem;font-weight:700;color:var(--accent);white-space:nowrap}.collection-item-image{width:50px;height:70px;object-fit:cover;border-radius:4px;margin-right:1rem;flex-shrink:0}.filter-select,.sort-select{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;font-size:1rem;cursor:pointer}.filter-select:focus,.sort-select:focus{outline:none;border-color:var(--accent)}.view-mode-toggle{display:flex;gap:.25rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:.25rem}.view-mode-btn{background:transparent;border:none;color:var(--text-secondary);padding:.5rem .75rem;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .2s}.view-mode-btn:hover{background:var(--border);color:var(--text-primary)}.view-mode-btn.active{background:var(--accent);color:#fff}.collection-tiles{display:flex;flex-direction:column;gap:2rem}.collection-category{margin-bottom:2rem}.category-header{font-size:1.25rem;font-weight:700;color:var(--accent);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid var(--border)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.collection-tile{position:relative;aspect-ratio:63 / 88;background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;overflow:hidden;cursor:pointer;transition:all .2s}.collection-tile:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0000004d;border-color:var(--accent)}.tile-image{width:100%;height:100%;object-fit:cover}.tile-placeholder{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1rem;background:var(--bg-tertiary);text-align:center}.tile-placeholder-name{font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem}.tile-placeholder-type{font-size:.75rem;color:var(--text-secondary)}.tile-loading{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-secondary)}.tile-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.9),transparent);padding:.75rem;opacity:0;transition:opacity .2s}.collection-tile:hover .tile-overlay{opacity:1}.tile-name{font-weight:600;color:#fff;font-size:.9rem;margin-bottom:.25rem;text-shadow:0 1px 2px rgba(0,0,0,.5)}.tile-quantity{font-size:1rem;font-weight:700;color:var(--accent);margin-bottom:.25rem}.tile-meta{display:flex;gap:.5rem;font-size:.75rem;color:var(--text-secondary)}.tile-mana,.tile-set{background:#ffffff1a;padding:.25rem .5rem;border-radius:4px}.tile-actions{position:absolute;top:.5rem;right:.5rem;display:flex;gap:.25rem;opacity:0;transition:opacity .2s}.collection-tile:hover .tile-actions{opacity:1}.tile-remove-btn,.tile-remove-all-btn{width:28px;height:28px;border-radius:50%;border:none;cursor:pointer;font-size:1.2rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}.tile-remove-btn{background:#ef4444cc;color:#fff}.tile-remove-btn:hover{background:#ef4444;transform:scale(1.1)}.tile-remove-all-btn{background:#646464cc;color:#fff}.tile-remove-all-btn:hover{background:#666;transform:scale(1.1)}.collection-item-actions{display:flex;gap:.25rem;margin-left:.5rem}.item-remove-btn,.item-remove-all-btn{width:24px;height:24px;border-radius:4px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:700;display:flex;align-items:center;justify-content:center;transition:all .2s}.item-remove-btn:hover{background:#ef444433;border-color:#ef4444;color:#ef4444}.item-remove-all-btn:hover{background:#ef44441a;border-color:#ef4444;color:#ef4444}.collection-item-type{background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:4px;font-weight:600;font-size:.85rem}.collection-item-mana{color:var(--accent);font-weight:600}.deck-generator{padding:2rem;max-width:1400px;margin:0 auto}.generator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;flex-wrap:wrap;gap:1rem}.collection-info{color:var(--text-secondary);font-size:.9rem}.mechanic-selection{margin-bottom:2rem}.mechanic-selection h3{margin-bottom:1rem;color:var(--accent)}.mechanic-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.mechanic-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:1.5rem;cursor:pointer;transition:all .2s;text-align:left}.mechanic-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.mechanic-card.selected{border-color:var(--accent);background:#e945601a}.mechanic-card:disabled{opacity:.5;cursor:not-allowed}.mechanic-name{font-size:1.25rem;font-weight:700;color:var(--accent);margin-bottom:.5rem}.mechanic-description{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem;line-height:1.5}.mechanic-colors{font-size:.85rem;color:var(--text-secondary);font-style:italic}.generator-actions{display:flex;gap:1rem;margin-bottom:2rem}.generated-deck{margin-top:2rem}.deck-summary{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:2rem}.deck-summary h3{color:var(--accent);margin-bottom:1rem}.deck-stats{display:flex;gap:.75rem;align-items:center;color:var(--text-secondary);font-size:.9rem;flex-wrap:wrap}.deck-cards-section,.suggested-cards-section{margin-bottom:2rem}.deck-cards-section h4,.suggested-cards-section h4{color:var(--accent);margin-bottom:1rem}.deck-cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem;margin-bottom:1rem}.generated-card-item{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:.75rem 1rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.generated-card-item:hover{border-color:var(--accent);background:var(--bg-tertiary)}.card-quantity{font-weight:700;color:var(--accent);min-width:2rem}.card-name{font-weight:600;color:var(--text-primary);flex:1}.card-mana{color:var(--accent);font-weight:600}.card-type{color:var(--text-secondary);font-size:.85rem}.suggested-cards-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1rem}.suggested-card-item{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s}.suggested-card-item:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.suggested-card-item.priority-high{border-left:4px solid var(--accent)}.suggested-card-item.priority-medium{border-left:4px solid var(--warning)}.suggested-card-item.priority-low{border-left:4px solid var(--text-secondary)}.suggested-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.suggested-card-name{font-weight:700;color:var(--text-primary);flex:1}.suggested-card-mana{color:var(--accent);font-weight:600}.priority-badge{padding:.25rem .5rem;border-radius:4px;font-size:.75rem;font-weight:600}.priority-badge.priority-high{background:#ef444433;color:var(--error)}.priority-badge.priority-medium{background:#fbbf2433;color:var(--warning)}.priority-badge.priority-low{background:#b8b8b833;color:var(--text-secondary)}.suggested-card-reason{color:var(--text-secondary);font-size:.9rem;margin-bottom:.5rem;font-style:italic}.suggested-card-meta{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);flex-wrap:wrap}.commander-deck-generator{padding:2rem;max-width:1400px;margin:0 auto}.commander-selection{margin-bottom:2rem}.commander-selection h3{margin-bottom:1rem;color:var(--accent)}.commander-search{margin-bottom:1.5rem}.commander-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem;margin-bottom:1.5rem}.commander-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s;text-align:left;display:flex;gap:1rem;align-items:flex-start}.commander-card:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.commander-card.selected{border-color:var(--accent);background:#e945601a}.commander-card:disabled{opacity:.5;cursor:not-allowed}.commander-image{width:80px;height:112px;object-fit:cover;border-radius:4px;flex-shrink:0}.commander-info{flex:1;min-width:0}.commander-name{font-size:1.1rem;font-weight:700;color:var(--accent);margin-bottom:.25rem}.commander-type{font-size:.9rem;color:var(--text-secondary);margin-bottom:.25rem}.commander-mana{font-size:.9rem;color:var(--accent);font-weight:600;margin-bottom:.5rem}.commander-text{font-size:.85rem;color:var(--text-secondary);line-height:1.4}.deck-options{margin-top:2rem}.deck-options h3{color:var(--accent);margin-bottom:1rem}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:1.5rem;margin-top:1.5rem}.deck-option-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:1.5rem;transition:all .2s}.deck-option-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0003}.option-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.option-header h4{color:var(--accent);font-size:1.25rem;margin:0}.option-stats{display:flex;gap:.5rem;font-size:.9rem;color:var(--text-secondary);align-items:center}.option-description{color:var(--text-secondary);margin-bottom:1rem;font-style:italic}.option-colors{font-size:.9rem;color:var(--text-secondary);margin-bottom:1rem;padding:.5rem;background:var(--bg-tertiary);border-radius:4px}.option-cards-preview{margin-bottom:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:6px}.preview-title{font-weight:600;color:var(--text-primary);margin-bottom:.75rem;font-size:.9rem}.preview-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.preview-item{font-size:.85rem;color:var(--text-secondary);padding:.25rem 0}.preview-more{font-size:.85rem;color:var(--accent);font-style:italic;margin-top:.5rem}.option-suggestions{margin-bottom:1rem;padding:.75rem;background:#fbbf241a;border-radius:6px;border-left:3px solid var(--warning)}.suggestions-title{font-size:.9rem;color:var(--warning);font-weight:600}.format-selection{margin-bottom:2rem}.format-selection h3{margin-bottom:1rem;color:var(--accent)}.format-buttons{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.format-button{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s;text-align:left}.format-button:hover{border-color:var(--accent);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.format-button.selected{border-color:var(--accent);background:#e945601a}.format-button:disabled{opacity:.5;cursor:not-allowed}.format-name{font-size:1.1rem;font-weight:700;color:var(--accent);margin-bottom:.25rem}.format-details{font-size:.85rem;color:var(--text-secondary)}.mana-curve-chart{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.mana-curve-title{font-size:1.1rem;font-weight:700;color:var(--accent);margin-bottom:1rem}.mana-curve-empty{text-align:center;color:var(--text-secondary);padding:2rem;font-style:italic}.mana-curve-container{display:flex;flex-direction:column;gap:1rem}.mana-curve-bars{display:flex;align-items:flex-end;justify-content:space-around;gap:.5rem;min-height:200px;padding:1rem 0;border-bottom:2px solid var(--border)}.mana-curve-bar-group{display:flex;flex-direction:column;align-items:center;flex:1;min-width:0}.mana-curve-bar-wrapper{width:100%;height:180px;display:flex;align-items:flex-end;justify-content:center;position:relative}.mana-curve-bar{width:100%;max-width:40px;border-radius:4px 4px 0 0;transition:all .3s ease;position:relative;min-height:4px;display:flex;align-items:flex-start;justify-content:center;padding-top:.25rem;cursor:pointer;border:1px solid rgba(255,255,255,.1);box-shadow:0 2px 4px #0003}.mana-curve-bar:hover{opacity:.8;transform:scaleY(1.05)}.mana-curve-count{color:var(--text-primary);font-size:.75rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.5)}.mana-curve-label{margin-top:.5rem;font-size:.9rem;font-weight:600;color:var(--text-secondary)}.mana-curve-stats{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap}.mana-curve-stat{display:flex;gap:.5rem;align-items:center}.stat-label{color:var(--text-secondary);font-size:.9rem}.stat-value{color:var(--accent);font-weight:700;font-size:1rem}.tabletop-tools{min-height:100vh;position:relative}.game-bg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background-color:var(--bg-primary);background-size:cover;background-position:center;background-repeat:no-repeat}.game-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1a1a2eb8}.tabletop-tools[data-game=home] .game-bg{background-image:url(https://images.unsplash.com/photo-1612036782180-6f0b6cd846fe?w=1920)}.tabletop-tools[data-game=mtg] .game-bg,.tabletop-tools[data-game=play] .game-bg,.tabletop-tools[data-game=rules] .game-bg{background-image:url(https://images.unsplash.com/photo-1585504198199-20277593b94f?w=1920)}.tabletop-tools[data-game=warhammer] .game-bg{background-image:url(https://images.unsplash.com/photo-1542751371-adc38448a05e?w=1920)}.home-page{min-height:100vh;background:transparent}.home-hero{text-align:center;padding:4rem 2rem;background:linear-gradient(180deg,var(--bg-secondary) 0%,transparent 100%)}.home-logo{font-size:5rem;margin-bottom:1rem;animation:float 3s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.home-title{font-size:3.5rem;font-weight:800;background:linear-gradient(135deg,var(--accent) 0%,#667eea 50%,#764ba2 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1rem}.home-subtitle{font-size:1.25rem;color:var(--text-secondary);max-width:600px;margin:0 auto;line-height:1.6}.game-selection{padding:3rem 2rem;max-width:1200px;margin:0 auto}.section-title{font-size:1.75rem;font-weight:700;color:var(--text-primary);margin-bottom:2rem;text-align:center}.game-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-bottom:3rem}.game-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:16px;padding:2rem;cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.game-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--game-color, var(--accent));transform:scaleX(0);transition:transform .3s ease}.game-card:hover:before,.game-card.hovered:before{transform:scaleX(1)}.game-card.active:hover{transform:translateY(-8px);box-shadow:0 20px 40px #0000004d;border-color:var(--game-color, var(--accent))}.game-card.inactive{opacity:.7}.game-card.inactive:hover{opacity:.85;transform:translateY(-4px)}.game-card-icon{font-size:3rem;margin-bottom:1rem}.game-card-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin-bottom:.75rem}.game-card-description{color:var(--text-secondary);line-height:1.6;margin-bottom:1rem}.game-card-badge{display:inline-block;padding:.5rem 1rem;border-radius:20px;font-size:.85rem;font-weight:600}.game-card-badge.active{background:#4ade8033;color:var(--success)}.game-card-badge.coming-soon{background:#fbbf2433;color:var(--warning)}.game-card-badge.placeholder{background:#667eea33;color:#667eea}.home-features{padding:3rem 2rem;background:var(--bg-secondary)}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.feature-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:12px;padding:1.5rem;text-align:center;transition:all .2s ease}.feature-card:hover{transform:translateY(-4px);border-color:var(--accent)}.feature-icon{font-size:2.5rem;margin-bottom:1rem}.feature-card h3{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.5rem}.feature-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.home-footer{text-align:center;padding:3rem 2rem;border-top:1px solid var(--border)}.home-footer p{color:var(--text-secondary);margin-bottom:.5rem}.footer-domain{color:var(--accent);font-weight:600;font-size:1.1rem}.back-button{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s;margin-right:1rem}.back-button:hover{background:var(--border);border-color:var(--accent)}.header-left{display:flex;align-items:center;gap:1rem}.mtg-app{--game-accent: #667eea}.mtg-header h1{color:var(--accent)}.warhammer-app{min-height:100vh;background:linear-gradient(135deg,#1a1a2e,#2d1b1b)}.warhammer-header{background:linear-gradient(90deg,#1a1a2e,#3d1c1c);border-bottom:2px solid #dc2626}.warhammer-header h1{color:#dc2626}.warhammer-main{max-width:1400px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.warhammer-hero{text-align:center;padding:4rem 2rem;background:radial-gradient(ellipse at center,rgba(220,38,38,.1) 0%,transparent 70%);border-radius:16px;margin-bottom:3rem}.warhammer-icon{font-size:5rem;margin-bottom:1rem}.warhammer-hero h2{font-size:2.5rem;font-weight:800;color:#dc2626;margin-bottom:1rem}.warhammer-tagline{font-size:1.25rem;color:var(--text-secondary);font-style:italic;max-width:500px;margin:0 auto}.warhammer-preview{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:2rem;margin-bottom:3rem}.warhammer-preview h3{font-size:1.5rem;font-weight:700;color:#dc2626;margin-bottom:1.5rem;text-align:center}.feature-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.preview-feature{display:flex;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border);transition:all .2s}.preview-feature:hover{border-color:#dc2626;transform:translate(4px)}.preview-feature-icon{font-size:2rem;flex-shrink:0}.preview-feature-content h4{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.preview-feature-content p{color:var(--text-secondary);font-size:.9rem;line-height:1.5}.warhammer-factions{margin-bottom:3rem}.warhammer-factions h3{font-size:1.5rem;font-weight:700;color:#dc2626;margin-bottom:1.5rem;text-align:center}.faction-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.faction-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:12px;padding:2rem;text-align:center;transition:all .2s;cursor:default}.faction-card:hover{transform:translateY(-4px);box-shadow:0 8px 16px #0003}.faction-card.imperium{border-color:gold}.faction-card.imperium:hover{background:#ffd7000d}.faction-card.chaos{border-color:#dc2626}.faction-card.chaos:hover{background:#dc26260d}.faction-card.xenos{border-color:#22c55e}.faction-card.xenos:hover{background:#22c55e0d}.faction-icon{font-size:3rem;display:block;margin-bottom:.75rem}.faction-name{font-size:1.25rem;font-weight:700;color:var(--text-primary)}.warhammer-cta{text-align:center;padding:2rem;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border)}.warhammer-cta p{color:var(--text-secondary);margin-bottom:1rem}.warhammer-cta{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.warhammer-tabs{border-bottom-color:#dc262659}.paint-tracker{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:1400px;margin:0 auto}.paint-tracker-toolbar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:stretch}.paint-stats{display:flex;flex-wrap:wrap;gap:.5rem}.paint-stat{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;padding:.65rem .9rem;min-width:5.5rem}.paint-stat-value{display:block;font-size:1.35rem;font-weight:700;color:#f87171}.paint-stat-label{font-size:.72rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.paint-toolbar-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.paint-filter{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.45rem .7rem}.paint-filter:focus{outline:none;border-color:var(--accent)}.paint-view-toggle{display:inline-flex;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.15rem}.paint-view-toggle button{background:transparent;border:none;color:var(--text-secondary);padding:.4rem .75rem;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85rem}.paint-view-toggle button.active{background:#dc2626;color:#fff}.paint-add-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem 1.25rem}.paint-add-panel h3{margin:0 0 .75rem;font-size:1.05rem}.paint-add-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem}.paint-add-panel label,.paint-detail label{display:flex;flex-direction:column;gap:.35rem;font-size:.8rem;color:var(--text-secondary)}.paint-add-panel input,.paint-add-panel select,.paint-detail input,.paint-detail select,.paint-detail textarea{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.5rem .65rem;font:inherit}.paint-detail textarea{resize:vertical}.paint-add-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.9rem}.paint-workspace{display:block}.paint-workspace.with-detail{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:1rem;align-items:start}.paint-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(180px,1fr);gap:.65rem;overflow-x:auto;padding-bottom:.5rem}.paint-column{background:#16213ea6;border:1px solid var(--border);border-radius:12px;min-height:320px;display:flex;flex-direction:column}.paint-column-header{display:flex;justify-content:space-between;align-items:center;padding:.65rem .75rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg-secondary);border-radius:12px 12px 0 0}.paint-column-header h3{margin:0;font-size:.82rem;font-weight:700}.paint-column-count{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);border-radius:999px;padding:.1rem .45rem}.paint-column-body{padding:.55rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.paint-column-empty{color:var(--text-secondary);font-size:.8rem;text-align:center;padding:1rem .5rem;margin:0}.paint-list{display:flex;flex-direction:column;gap:.55rem}.paint-card{background:var(--bg-tertiary);border:1px solid var(--border);border-left:3px solid #64748b;border-radius:10px;padding:.65rem .7rem;cursor:pointer;transition:border-color .15s,transform .15s}.paint-card.list{border-left-width:4px}.paint-card.priority-high{border-left-color:#f87171}.paint-card.priority-normal{border-left-color:#94a3b8}.paint-card.priority-low{border-left-color:#475569}.paint-card:hover{border-color:#f871718c}.paint-card.selected{border-color:#dc2626;box-shadow:0 0 0 1px #dc262673}.paint-card-top{display:flex;justify-content:space-between;gap:.4rem;align-items:flex-start}.paint-card-top h4{margin:0;font-size:.9rem;line-height:1.3}.paint-priority-badge{font-size:.65rem;font-weight:700;text-transform:uppercase;color:#fecaca;background:#dc262640;border-radius:4px;padding:.15rem .35rem}.paint-card-meta,.paint-card-stage,.paint-card-recipe{margin:.3rem 0 0;font-size:.75rem;color:var(--text-secondary)}.paint-card-recipe{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.paint-card-advance{margin-top:.5rem;width:100%;background:#dc262626;border:1px solid rgba(220,38,38,.35);color:#fecaca;border-radius:6px;padding:.3rem .45rem;font-size:.75rem;font-weight:600;cursor:pointer}.paint-card-advance:hover{background:#dc26264d}.paint-detail{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:.75rem;position:sticky;top:.75rem;max-height:calc(100vh - 140px);overflow-y:auto}.paint-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.paint-detail-header h3{margin:0;font-size:1.1rem}.paint-detail-close{background:transparent;border:none;color:var(--text-secondary);font-size:1.4rem;line-height:1;cursor:pointer}.paint-detail-row{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.paint-field-label{display:block;font-size:.8rem;color:var(--text-secondary);margin-bottom:.35rem}.paint-stage-buttons{display:flex;flex-wrap:wrap;gap:.3rem}.paint-stage-chip{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:999px;padding:.25rem .55rem;font-size:.72rem;font-weight:600;cursor:pointer}.paint-stage-chip.active{background:#dc2626;border-color:#dc2626;color:#fff}.paint-stage-nav{display:flex;gap:.5rem;margin-top:.55rem}.paint-delete{margin-top:.5rem}.wh-manager{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:1400px;margin:0 auto}.wh-manager-toolbar{display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;align-items:stretch}.wh-manager-workspace{display:block}.wh-manager-workspace.with-detail{display:grid;grid-template-columns:1fr minmax(280px,340px);gap:1rem;align-items:start}.wh-table-wrap{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;overflow:auto}.wh-table{width:100%;border-collapse:collapse;font-size:.9rem}.wh-table th,.wh-table td{padding:.65rem .85rem;text-align:left;border-bottom:1px solid var(--border)}.wh-table th{color:var(--text-secondary);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;background:var(--bg-tertiary);position:sticky;top:0}.wh-table tbody tr{cursor:pointer}.wh-table tbody tr:hover{background:#dc262614}.wh-table tbody tr.selected{background:#dc26262e}.wh-faction-swatch{display:inline-block;width:.85rem;height:.85rem;border-radius:3px;border:1px solid rgba(255,255,255,.2);vertical-align:middle}.wh-faction-rename-hint{margin:-.35rem 0 .65rem;font-size:.75rem;color:var(--text-secondary)}.wh-faction-usage{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.75rem 0 1rem;padding:.65rem .75rem;background:var(--bg-tertiary);border-radius:8px;font-size:.8rem;color:var(--text-secondary)}.wh-faction-usage strong{display:block;color:var(--text-primary);font-size:1.1rem}.paint-stat-value.over{color:#f87171}.wh-army-layout{display:grid;grid-template-columns:minmax(200px,260px) 1fr;gap:1rem;align-items:start}.wh-army-list{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:.85rem;display:flex;flex-direction:column;gap:.45rem}.wh-army-list h3{margin:0 0 .35rem;font-size:.95rem}.wh-army-list-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;background:var(--bg-tertiary);border:1px solid transparent;border-radius:8px;padding:.6rem .7rem;color:var(--text-primary);cursor:pointer}.wh-army-list-item span{font-size:.75rem;color:var(--text-secondary)}.wh-army-list-item.active{border-color:#dc2626;box-shadow:0 0 0 1px #dc262659}.wh-army-editor{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;padding:1rem;display:flex;flex-direction:column;gap:1rem}.wh-army-editor-header{display:flex;flex-direction:column;gap:.75rem}.wh-points-banner{background:#22c55e1f;border:1px solid rgba(34,197,94,.35);color:#86efac;border-radius:8px;padding:.55rem .85rem;font-size:.95rem}.wh-points-banner.over{background:#f871711f;border-color:#f8717173;color:#fecaca}.wh-army-actions{display:flex;flex-wrap:wrap;gap:.5rem}.wh-detachment{border:1px solid var(--border);border-radius:10px;padding:.75rem;background:var(--bg-tertiary);display:flex;flex-direction:column;gap:.65rem}.wh-detachment-header{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.wh-detachment-name{flex:1;min-width:140px;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.45rem .65rem;font-weight:600}.wh-detachment-pts{font-size:.85rem;color:var(--text-secondary);font-weight:600}.wh-add-unit-row{display:grid;grid-template-columns:1.5fr .6fr .6fr auto;gap:.4rem}.wh-add-unit-row input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.45rem .55rem;width:100%}.wh-add-unit-row input:focus{outline:none;border-color:var(--accent)}.wh-row-delete{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;font-size:1.1rem}.wh-linked-tag{margin-left:.4rem;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#fecaca;background:#dc262633;border-radius:4px;padding:.1rem .3rem}.wh-collection-pick{display:flex;flex-direction:column;gap:.4rem;max-height:240px;overflow-y:auto;margin-top:.65rem}.wh-collection-pick-item{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;width:100%;text-align:left;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;padding:.55rem .7rem;color:var(--text-primary);cursor:pointer}.wh-collection-pick-item:hover{border-color:#dc2626}.wh-collection-pick-item span{font-size:.75rem;color:var(--text-secondary)}.preview-feature.clickable{width:100%;text-align:left;cursor:pointer;font:inherit;color:inherit}.preview-feature.clickable:hover{border-color:#dc2626}@media (max-width: 960px){.wh-manager-workspace.with-detail,.wh-army-layout{grid-template-columns:1fr}.wh-add-unit-row{grid-template-columns:1fr 1fr}}@media (max-width: 960px){.paint-workspace.with-detail{grid-template-columns:1fr}.paint-detail{position:static;max-height:none}}.rules-chat{display:flex;flex-direction:column;height:calc(100vh - 80px);max-width:900px;margin:0 auto;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border);overflow:hidden}.rules-chat-header{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.rules-chat-title{display:flex;align-items:center;gap:.75rem;flex:1}.rules-chat-icon{font-size:1.5rem}.rules-chat-title h2{margin:0;font-size:1.25rem;color:var(--text-primary)}.category-toggle{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;transition:all .2s}.category-toggle:hover,.category-toggle.active{background:var(--accent);border-color:var(--accent)}.rules-categories{padding:1rem 1.5rem;background:var(--bg-tertiary);border-bottom:1px solid var(--border)}.rules-categories h3{margin:0 0 1rem;font-size:1rem;color:var(--text-secondary)}.category-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.category-button{background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.75rem;cursor:pointer;text-align:left;transition:all .2s}.category-button:hover{border-color:var(--accent);transform:translateY(-2px)}.category-button.active{border-color:var(--accent);background:#e945601a}.category-name{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.category-description{display:block;font-size:.8rem;color:var(--text-secondary)}.rules-chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.chat-message{display:flex;gap:.75rem;max-width:85%}.chat-message.user{align-self:flex-end;flex-direction:row-reverse}.chat-message.assistant{align-self:flex-start}.message-avatar{width:36px;height:36px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0}.message-content{display:flex;flex-direction:column;gap:.75rem}.message-text{background:var(--bg-tertiary);padding:.75rem 1rem;border-radius:12px;line-height:1.6}.chat-message.user .message-text{background:var(--accent);color:#fff}.message-text p{margin:0 0 .5rem}.message-text p:last-child{margin-bottom:0}.message-text strong{color:var(--accent);font-weight:700}.message-text em{color:var(--text-secondary);font-style:italic}.message-text .md-bullet{display:flex;gap:.5rem;margin:.25rem 0;padding-left:.5rem}.message-text .bullet{color:var(--accent);flex-shrink:0}.message-text .md-hr{border:none;border-top:1px solid var(--border);margin:.75rem 0}.message-text .md-spacer{height:.25rem;margin:0}.message-rules{display:flex;flex-direction:column;gap:.5rem}.rule-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;overflow:hidden;transition:all .2s}.rule-card:hover{border-color:var(--accent)}.rule-card-header{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;cursor:pointer;background:var(--bg-secondary)}.rule-card-header:hover{background:var(--border)}.rule-number{font-family:monospace;font-size:.85rem;color:var(--accent);background:#e945601a;padding:.25rem .5rem;border-radius:4px}.rule-title{flex:1;font-weight:600;color:var(--text-primary)}.rule-expand{color:var(--text-secondary);font-size:1.25rem;width:24px;text-align:center}.rule-card-body{padding:1rem;border-top:1px solid var(--border)}.rules-game-dropdown{position:relative;flex-shrink:0}.rules-game-dropdown-trigger{display:inline-flex;align-items:center;gap:.45rem;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.4rem .7rem;border-radius:8px;cursor:pointer;font-size:.85rem;font-weight:600;white-space:nowrap;transition:border-color .15s,background .15s}.rules-game-dropdown-trigger:hover:not(:disabled){border-color:var(--accent)}.rules-game-dropdown-trigger:disabled{opacity:.6;cursor:default}.rules-game-dropdown-trigger[aria-expanded=true]{border-color:var(--accent);background:#e945601f}.rules-game-dropdown-caret{color:var(--text-secondary);font-size:.75rem;margin-left:.15rem}.rules-game-dropdown-menu{position:absolute;top:calc(100% + .35rem);right:0;z-index:40;min-width:220px;margin:0;padding:.35rem;list-style:none;background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px #00000059}.rules-game-dropdown-option{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:.55rem;row-gap:.1rem;width:100%;text-align:left;background:transparent;border:none;color:var(--text-primary);padding:.55rem .65rem;border-radius:7px;cursor:pointer;font-size:.88rem;font-weight:600}.rules-game-dropdown-option>span:first-child{grid-row:1 / span 2;align-self:center}.rules-game-dropdown-full{grid-column:2;font-size:.72rem;font-weight:500;color:var(--text-secondary)}.rules-game-dropdown-option:hover{background:var(--border)}.rules-game-dropdown-option.active{background:var(--accent);color:#fff}.rules-game-dropdown-option.active .rules-game-dropdown-full{color:#fffc}.rules-game-switch{display:inline-flex;flex-wrap:wrap;gap:.25rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.2rem;max-width:100%}.game-switch-btn{background:transparent;border:none;color:var(--text-secondary);padding:.4rem .7rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;white-space:nowrap;transition:all .15s}.game-switch-btn:hover:not(:disabled){color:var(--text-primary);background:var(--border)}.game-switch-btn.active{background:var(--accent);color:#fff}.game-switch-btn:disabled{opacity:.6;cursor:default}.rules-update-banner{margin:0 1.5rem;padding:.65rem 1rem;border-radius:8px;border:1px solid rgba(255,193,7,.45);background:#ffc1071f;color:var(--text-primary);font-size:.85rem;line-height:1.45}.rules-source-note{font-size:.7rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px solid var(--border);padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.message-rules.comp-rules{margin-top:.75rem;border-top:1px dashed var(--border);padding-top:.75rem}.comp-rules-label{font-size:.78rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:.25rem}.comp-rule-card .rule-card-body{border-top:none;padding:.6rem 1rem .75rem}.comp-rule-card .rule-number{font-weight:600}.rule-text{color:var(--text-secondary);line-height:1.6;margin:0 0 .75rem}.rule-keywords{display:flex;flex-wrap:wrap;gap:.5rem}.rule-keyword{font-size:.75rem;padding:.25rem .5rem;background:var(--bg-primary);border-radius:4px;color:var(--text-secondary)}.typing-indicator{display:flex;gap:.25rem;padding:.75rem 1rem;background:var(--bg-tertiary);border-radius:12px}.typing-indicator span{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:typing 1.4s infinite ease-in-out both}.typing-indicator span:nth-child(1){animation-delay:0s}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.rules-chat-suggestions{display:flex;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-tertiary);border-top:1px solid var(--border);overflow-x:auto;align-items:center}.rules-chat-suggestions span{color:var(--text-secondary);font-size:.85rem;white-space:nowrap}.rules-chat-suggestions button{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.25rem .75rem;border-radius:16px;cursor:pointer;font-size:.85rem;white-space:nowrap;transition:all .2s}.rules-chat-suggestions button:hover{background:var(--accent);border-color:var(--accent)}.rules-chat-input{display:flex;gap:.75rem;padding:1rem 1.5rem;background:var(--bg-primary);border-top:1px solid var(--border)}.rules-chat-input input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:24px;font-size:1rem}.rules-chat-input input:focus{outline:none;border-color:var(--accent)}.rules-chat-input button{background:var(--accent);border:none;color:#fff;padding:.75rem 1.5rem;border-radius:24px;cursor:pointer;font-size:1rem;font-weight:600;transition:all .2s}.rules-chat-input button:hover:not(:disabled){background:var(--accent-hover)}.rules-chat-input button:disabled{opacity:.5;cursor:not-allowed}.rules-page{min-height:100vh;background:var(--bg-primary);padding:2rem}.tools-selection{padding:3rem 2rem;max-width:1200px;margin:0 auto}@media (max-width: 768px){.home-title{font-size:2.5rem}.home-subtitle{font-size:1rem}.game-grid{grid-template-columns:1fr}.header-left{flex-direction:column;align-items:flex-start;gap:.5rem}.back-button{margin-right:0;margin-bottom:.5rem}.app-header{flex-direction:column;align-items:stretch}.header-actions{flex-direction:column}}.login-signup{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:var(--bg-primary)}.login-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:16px;padding:2.5rem;width:100%;max-width:400px;box-shadow:0 10px 40px #0000004d}.login-header{text-align:center;margin-bottom:2rem}.login-header h2{margin:0 0 .5rem;font-size:1.75rem;color:var(--text-primary)}.login-header p{margin:0;color:var(--text-secondary)}.login-form{display:flex;flex-direction:column;gap:1.25rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--text-primary);font-size:.9rem}.form-group input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.875rem 1rem;border-radius:8px;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--accent)}.form-hint{font-size:.8rem;color:var(--text-secondary)}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:.75rem 1rem;border-radius:8px;font-size:.9rem}.login-button{background:var(--accent);border:none;color:#fff;padding:1rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;margin-top:.5rem}.login-button:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px)}.login-button:disabled{opacity:.5;cursor:not-allowed}.login-switch{text-align:center;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--border)}.login-switch p{margin:0;color:var(--text-secondary)}.login-switch button{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:600;padding:0}.login-switch button:hover{text-decoration:underline}.login-info{text-align:center;margin-top:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.login-info p{margin:0;color:var(--text-secondary);font-size:.85rem}.login-info-small{margin-top:.25rem!important;font-size:.75rem!important;opacity:.7}.user-menu{position:relative}.user-menu-button{display:flex;align-items:center;gap:.5rem;background:var(--bg-tertiary);border:1px solid var(--border);padding:.5rem 1rem;border-radius:24px;cursor:pointer;transition:all .2s}.user-menu-button:hover{border-color:var(--accent)}.user-avatar{width:28px;height:28px;background:var(--accent);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem}.user-name{color:var(--text-primary);font-weight:500}.user-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;padding:.5rem;min-width:180px;z-index:100;box-shadow:0 10px 30px #0000004d}.user-menu-header{padding:.5rem .75rem;border-bottom:1px solid var(--border);margin-bottom:.5rem}.user-menu-username{font-size:.85rem;color:var(--text-secondary)}.user-menu-dropdown button{display:block;width:100%;background:none;border:none;padding:.75rem;text-align:left;color:var(--text-primary);cursor:pointer;border-radius:6px;transition:background .2s}.user-menu-dropdown button:hover{background:var(--bg-tertiary)}.global-header{position:fixed;top:1rem;right:1rem;z-index:1000}.app-loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;background:var(--bg-primary);color:var(--text-secondary)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (pointer: coarse){button,.btn,input[type=submit],.game-card,.nav-button,.tab-button{min-height:44px}input,textarea,select{font-size:16px!important}}@media (max-width: 480px){html{font-size:14px}.home-hero{padding:2rem 1rem}.home-title{font-size:2rem!important}.home-subtitle{font-size:.95rem}.home-logo{font-size:3rem}.section-title{font-size:1.25rem}.game-grid{grid-template-columns:1fr;padding:0 1rem}.game-card{padding:1.25rem}.game-card-icon{font-size:2rem}.game-card-title{font-size:1.2rem}.features-grid{grid-template-columns:1fr;gap:1rem;padding:0 1rem}.feature-card{padding:1.25rem}.login-signup{padding:1rem}.login-card{padding:1.5rem;border-radius:12px}.login-header h2{font-size:1.5rem}.global-header{top:.5rem;right:.5rem}.user-menu-button{padding:.4rem .75rem}.user-name{display:none}.rules-chat{height:calc(100vh - 60px);border-radius:0}.rules-chat-header{padding:.75rem 1rem;flex-wrap:wrap;gap:.5rem}.rules-chat-title h2{font-size:1rem}.category-toggle{font-size:.8rem;padding:.4rem .75rem}.rules-chat-messages{padding:1rem}.chat-message{max-width:95%}.rules-chat-suggestions{padding:.5rem 1rem;gap:.4rem}.rules-chat-suggestions span{display:none}.rules-chat-input{padding:.75rem 1rem}.rules-chat-input input{padding:.65rem 1rem;font-size:16px}.rules-chat-input button{padding:.65rem 1rem}.category-grid{grid-template-columns:1fr}.app-header{padding:1rem;flex-direction:column;gap:.75rem}.header-actions{width:100%;flex-wrap:wrap;justify-content:center}.back-button{order:-1;width:100%}.card-results{grid-template-columns:repeat(2,1fr);gap:.5rem}.card-image{border-radius:6px}.deck-column{width:100%}.tabs{flex-wrap:wrap;gap:.25rem}.tab-button{flex:1;min-width:calc(50% - .25rem);padding:.6rem .75rem;font-size:.85rem}.sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;max-height:60vh;border-radius:16px 16px 0 0;z-index:100;overflow-y:auto}.main-content{padding-bottom:60px}.mtg-app{padding:.5rem}.mtg-app .app-header h1{font-size:1.25rem}}@media (min-width: 481px) and (max-width: 768px){.home-title{font-size:2.5rem}.game-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.features-grid{grid-template-columns:repeat(2,1fr)}.card-results{grid-template-columns:repeat(3,1fr)}.category-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 769px) and (max-width: 1024px){.game-grid,.features-grid{grid-template-columns:repeat(2,1fr)}.card-results{grid-template-columns:repeat(4,1fr)}}@media (max-height: 500px) and (orientation: landscape){.login-signup{padding:.5rem}.login-card{max-height:90vh;overflow-y:auto}.home-hero{padding:1rem}.home-logo{font-size:2rem}.home-title{font-size:1.75rem}}@supports (padding-top: env(safe-area-inset-top)){.global-header{top:max(.5rem,env(safe-area-inset-top));right:max(.5rem,env(safe-area-inset-right))}.rules-chat-input{padding-bottom:max(.75rem,env(safe-area-inset-bottom))}.sidebar{padding-bottom:env(safe-area-inset-bottom)}}@media (prefers-color-scheme: dark){:root{color-scheme:dark}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{.global-header,.back-button,.rules-chat-input,.rules-chat-suggestions,.login-signup{display:none!important}}.card-scanner{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-primary);z-index:1000;display:flex;flex-direction:column;overflow:hidden}.scanner-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.scanner-header h2{margin:0;font-size:1.25rem}.close-button{background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;padding:0;line-height:1}.close-button:hover{color:var(--text-primary)}.scanner-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;padding:1rem;margin:1rem;border-radius:8px;display:flex;justify-content:space-between;align-items:center}.scanner-error button{background:none;border:none;color:#ef4444;text-decoration:underline;cursor:pointer}.scanner-options{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;gap:1rem}.scanner-instructions{text-align:center;color:var(--text-secondary);margin-bottom:1rem;max-width:300px}.scanner-button{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;max-width:280px;padding:1rem 1.5rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .2s}.scanner-button.primary{background:var(--accent);border:none;color:#fff}.scanner-button.primary:hover{background:var(--accent-hover);transform:translateY(-2px)}.scanner-button.secondary{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.scanner-button.secondary:hover{border-color:var(--accent)}.scanner-divider{display:flex;align-items:center;width:100%;max-width:280px;margin:.5rem 0}.scanner-divider:before,.scanner-divider:after{content:"";flex:1;height:1px;background:var(--border)}.scanner-divider span{padding:0 1rem;color:var(--text-secondary);font-size:.85rem}.manual-search{display:flex;gap:.5rem;width:100%;max-width:280px}.manual-search input{flex:1;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;font-size:1rem}.manual-search button{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1rem;border-radius:8px;cursor:pointer}.manual-search button:disabled{opacity:.5;cursor:not-allowed}.scanner-camera{flex:1;position:relative;background:#000;display:flex;flex-direction:column}.scanner-camera video{flex:1;width:100%;object-fit:cover}.camera-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:flex-start;justify-content:center;padding-top:10%;pointer-events:none}.scan-guide{width:85%;height:15%;border:3px dashed var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center;background:#e945601a}.scan-guide p{color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.8);font-weight:600}.camera-controls{position:absolute;bottom:0;left:0;right:0;display:flex;gap:1rem;padding:1.5rem;background:linear-gradient(transparent,#000c)}.cancel-button{flex:1;background:#fff3;border:none;color:#fff;padding:1rem;border-radius:12px;font-size:1rem;cursor:pointer}.capture-button{flex:2;background:var(--accent);border:none;color:#fff;padding:1rem;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer}.scanner-processing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.processing-spinner{width:50px;height:50px;border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.progress-bar{width:200px;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .3s ease}.progress-text{color:var(--text-secondary);font-size:.9rem}.scanner-results{flex:1;padding:1.5rem;overflow-y:auto}.recognized-text{text-align:center;color:var(--text-secondary);margin-bottom:1rem}.results-label{text-align:center;color:var(--text-primary);font-weight:600;margin-bottom:1rem}.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}@media (max-width: 480px){.results-grid{grid-template-columns:repeat(2,1fr)}}.result-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:8px;padding:.5rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.5rem}.result-card:hover{border-color:var(--accent);transform:translateY(-2px)}.result-card img{width:100%;border-radius:4px}.result-card .card-name{font-size:.75rem;color:var(--text-secondary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.card-placeholder{aspect-ratio:488 / 680;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;padding:.5rem;text-align:center;font-size:.75rem;color:var(--text-secondary);border-radius:4px}.no-results{text-align:center;color:var(--text-secondary);padding:2rem}.results-actions{display:flex;justify-content:center;padding-top:1rem;border-top:1px solid var(--border)}.results-actions button{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);padding:.75rem 1.5rem;border-radius:8px;cursor:pointer}.results-actions button:hover{border-color:var(--accent)}.scan-button{display:flex;align-items:center;gap:.4rem;background:linear-gradient(135deg,var(--accent),#9333ea);border:none;color:#fff;padding:.5rem 1rem;border-radius:8px;font-weight:600;cursor:pointer;transition:all .2s}.scan-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #e9456066}@media (max-width: 480px){.scan-button{padding:.5rem .75rem;font-size:.9rem}}.import-description{color:var(--text-secondary);margin-bottom:1.5rem}.import-textarea-wrapper{margin-bottom:1rem}.import-textarea{width:100%;min-height:200px;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);padding:1rem;border-radius:8px;font-family:monospace;font-size:.9rem;resize:vertical}.import-textarea::placeholder{color:var(--text-secondary);opacity:.7}.import-progress{margin-top:1rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.import-progress .progress-bar{height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:.5rem}.import-progress .progress-fill{height:100%;background:var(--accent);transition:width .2s ease}.import-progress .progress-text{font-size:.85rem;color:var(--text-secondary);margin:0}.import-results{margin-top:1rem}.import-summary{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-secondary);border-radius:8px}.summary-stat{flex:1;text-align:center;padding:.75rem;border-radius:6px}.summary-stat.found{background:#22c55e1a;border:1px solid rgba(34,197,94,.3)}.summary-stat.ambiguous{background:#eab3081a;border:1px solid rgba(234,179,8,.3)}.summary-stat.not-found{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.stat-value{display:block;font-size:1.5rem;font-weight:700}.summary-stat.found .stat-value{color:#22c55e}.summary-stat.ambiguous .stat-value{color:#eab308}.summary-stat.not-found .stat-value{color:#ef4444}.stat-label{font-size:.8rem;color:var(--text-secondary)}.import-cards-list{max-height:400px;overflow-y:auto;margin-bottom:1rem;border:1px solid var(--border);border-radius:8px}.imported-card-row{border-bottom:1px solid var(--border)}.imported-card-row:last-child{border-bottom:none}.card-row-main{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem}.status-indicator{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;flex-shrink:0}.status-indicator.found{background:#22c55e33;color:#22c55e}.status-indicator.not_found{background:#ef444433;color:#ef4444}.status-indicator.ambiguous{background:#eab30833;color:#eab308}.card-quantity{font-weight:600;color:var(--text-secondary);min-width:30px}.card-name-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-set{color:var(--text-secondary);font-size:.85rem}.card-thumbnail{width:40px;height:auto;border-radius:4px;flex-shrink:0}.card-row-actions{display:flex;gap:.5rem;flex-shrink:0}.btn-small{padding:.25rem .5rem;font-size:.8rem;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;cursor:pointer}.btn-small:hover{border-color:var(--accent)}.btn-remove{color:#ef4444;font-size:1rem;line-height:1}.btn-remove:hover{background:#ef44441a;border-color:#ef4444}.card-suggestions{padding:1rem;background:var(--bg-tertiary);border-top:1px solid var(--border)}.suggestions-label{font-size:.85rem;color:var(--text-secondary);margin-bottom:.75rem}.suggestions-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.suggestion-card{background:var(--bg-secondary);border:2px solid var(--border);border-radius:6px;padding:.5rem;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:.5rem}.suggestion-card:hover{border-color:var(--accent);transform:translateY(-2px)}.suggestion-card img{width:100%;border-radius:4px}.suggestion-placeholder{aspect-ratio:488 / 680;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;padding:.5rem;text-align:center;font-size:.7rem;color:var(--text-secondary);border-radius:4px;width:100%}.suggestion-name{font-size:.7rem;color:var(--text-secondary);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.import-actions{display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid var(--border)}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{border-color:var(--accent)}.import-help{margin-top:2rem;padding:1rem;background:var(--bg-tertiary);border-radius:8px}.import-help h3{margin-bottom:.75rem;font-size:1rem}.import-help ul{margin:0;padding-left:1.5rem}.import-help li{margin-bottom:.5rem;color:var(--text-secondary)}.import-help code{background:var(--bg-secondary);padding:.1rem .4rem;border-radius:4px;font-family:monospace}@media (max-width: 600px){.import-summary{flex-wrap:wrap}.summary-stat{min-width:calc(50% - .5rem)}.card-row-main{flex-wrap:wrap}.card-name-text{order:10;width:100%;margin-top:.5rem}.card-thumbnail{display:none}.suggestions-grid{grid-template-columns:repeat(3,1fr)}}.remote-play-app{display:flex;flex-direction:column;min-height:100vh}.remote-play-header{border-bottom:2px solid var(--border)}.remote-play-landing{padding:2rem;max-width:480px;margin:0 auto}.remote-play-intro{color:var(--text-secondary);margin-bottom:1.5rem;line-height:1.5}.remote-play-error{background:#ef444426;border:1px solid var(--error);color:var(--error);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.remote-play-actions{display:flex;flex-direction:column;gap:1.5rem}.remote-play-btn{padding:.75rem 1.25rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:1rem}.remote-play-btn:hover{border-color:var(--accent);background:var(--bg-secondary)}.remote-play-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.remote-play-btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.remote-play-btn.secondary{background:var(--bg-secondary)}.remote-play-btn.small{padding:.35rem .65rem;font-size:.85rem}.remote-play-btn.leave{border-color:var(--error);color:var(--error)}.remote-play-btn.leave:hover{background:#ef44441a}.remote-play-join{display:flex;gap:.75rem;align-items:center}.remote-play-code-input{width:7rem;padding:.75rem 1rem;font-size:1.1rem;letter-spacing:.15em;text-transform:uppercase;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px}.remote-play-code-input:focus{outline:none;border-color:var(--accent)}.remote-play-table{padding:1rem 2rem 2rem;max-width:1280px;margin:0 auto;display:flex;flex-direction:column;gap:1.5rem}.remote-play-canvas-layout{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:1rem;align-items:start}.remote-play-board-column{display:flex;flex-direction:column;gap:.85rem;min-width:0}.remote-play-library-panel{margin:.75rem 0;padding:.65rem .7rem;border-radius:8px;border:1px solid rgba(59,130,246,.35);background:#2563eb1a}.remote-play-library-title{margin:0 0 .35rem;font-size:.8rem;font-weight:700;color:#93c5fd}.remote-play-library-meta{margin:0 0 .55rem;font-size:.78rem;color:var(--text-secondary)}.remote-play-library-draw-row{display:flex;align-items:center;gap:.35rem;margin-bottom:.45rem;font-size:.78rem}.remote-play-library-actions{display:flex;flex-wrap:wrap;gap:.35rem}.remote-play-opp-zones{list-style:none;margin:.55rem 0 0;padding:0;font-size:.72rem;color:var(--text-secondary)}.remote-play-hand{padding:.85rem 1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.remote-play-hand-header{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem;margin-bottom:.55rem}.remote-play-hand-header h3{margin:0;font-size:.95rem;color:var(--text-secondary)}.remote-play-hand-count{font-size:.78rem;color:var(--text-secondary)}.remote-play-hand-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.55rem}.remote-play-hand-card{display:flex;flex-direction:column;gap:.3rem;width:min(100%,200px)}.remote-play-hand-card .remote-play-card-chip{width:100%}.remote-play-table-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.remote-play-game-type{color:var(--text-secondary);font-size:.95rem}.remote-play-code{font-size:1rem}.remote-play-code strong{color:var(--accent);letter-spacing:.1em}.remote-play-copy-btn{padding:.35rem .75rem;font-size:.85rem;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);border-radius:6px;cursor:pointer}.remote-play-copy-btn:hover{border-color:var(--accent);color:var(--text-primary)}.remote-play-players h3,.remote-play-play-card h3,.remote-play-log h3{font-size:.95rem;color:var(--text-secondary);margin-bottom:.5rem}.remote-play-players-list{display:flex;flex-direction:column;gap:.5rem}.remote-play-triggers{padding:.85rem 1rem;border:1px solid rgba(234,179,8,.4);border-radius:8px;background:#eab30814}.remote-play-triggers-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .85rem;margin-bottom:.65rem}.remote-play-triggers-header h3{margin:0;font-size:1rem;color:#fde68a}.remote-play-triggers-hint{font-size:.75rem;color:var(--text-secondary);flex:1;min-width:10rem}.remote-play-triggers-bulk{display:flex;gap:.35rem}.remote-play-triggers-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.remote-play-trigger-item{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between;align-items:flex-start;padding:.55rem .65rem;border-radius:8px;border:1px solid rgba(234,179,8,.28);background:#0003}.remote-play-trigger-main{flex:1;min-width:12rem;display:flex;flex-direction:column;gap:.2rem}.remote-play-trigger-source{font-weight:700;font-size:.85rem}.remote-play-trigger-label{font-size:.9rem;font-weight:600;color:#fde68a}.remote-play-trigger-optional{align-self:flex-start;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:.1rem .35rem;border-radius:4px;background:#94a3b840;color:#cbd5e1}.remote-play-trigger-clause{margin:.15rem 0 0;font-size:.72rem;line-height:1.35;color:var(--text-secondary)}.remote-play-trigger-actions{display:flex;gap:.35rem;flex-shrink:0}.remote-play-player{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px}.remote-play-player.self{border-color:var(--accent);background:#e9456014}.player-name{font-weight:500}.player-life{display:flex;align-items:center;gap:.5rem}.life-value{color:var(--text-secondary);margin-right:.25rem}.remote-play-life-input{width:4rem;padding:.35rem .5rem;font-size:1rem;background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px}.remote-play-deck-select{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.remote-play-deck-select label{font-size:.9rem}.remote-play-deck-select-input{flex:1;max-width:240px}.remote-play-no-cards{font-size:.9rem;color:var(--text-muted);margin:.5rem 0}.remote-play-play-card{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;position:sticky;top:.75rem}.remote-play-card-input{width:100%;max-width:320px;padding:.6rem 1rem;font-size:1rem;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:6px;margin-bottom:.5rem}.remote-play-card-input:focus{outline:none;border-color:var(--accent)}.remote-play-type-filters{display:flex;gap:.4rem;margin:.45rem 0 .65rem}.remote-play-type-filter{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;padding:.25rem .55rem;font-size:.75rem;font-weight:600;cursor:pointer}.remote-play-type-filter.active{border-color:#4ade808c;background:#16a34a2e;color:#bbf7d0}.remote-play-search-status{font-size:.85rem;color:var(--text-secondary)}.remote-play-card-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.remote-play-card-groups{display:flex;flex-direction:column;gap:1rem;margin:.5rem 0 1rem;max-height:420px;overflow-y:auto;padding-right:.25rem}.remote-play-card-group-title{display:flex;align-items:center;gap:.45rem;margin:0 0 .45rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary)}.remote-play-card-group-count{margin-left:auto;font-size:.72rem;opacity:.75}.remote-play-card-chip,.remote-play-card-results li button{width:100%;text-align:left;padding:.55rem .7rem .55rem 0;background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:.55rem;min-height:2.6rem;overflow:hidden;font:inherit}.remote-play-card-chip.readonly{cursor:default}.remote-play-card-chip:hover,.remote-play-card-results li button:hover,.remote-play-card-chip.selected,.remote-play-card-results li button.selected{border-color:var(--accent);background:#e945601f}.remote-play-card-chip-name{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.92rem}.remote-play-card-qty{opacity:.85;font-size:.78rem;background:#ffffff14;border-radius:999px;padding:.1rem .45rem}.remote-play-selected-action{display:flex;align-items:center;gap:.75rem;margin:.75rem 0;padding:.75rem;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border)}.remote-play-selected-card{flex:1;min-width:0}.remote-play-selected-action .remote-play-btn{flex-shrink:0}.remote-play-log-card{display:inline-flex;align-items:center;gap:.35rem;margin-left:.25rem}.mtg-card-stripe{width:4px;align-self:stretch;flex-shrink:0;border-radius:8px 0 0 8px;margin-right:-.15rem}.mtg-card-stripe-W{background:var(--mana-w)}.mtg-card-stripe-U{background:var(--mana-u)}.mtg-card-stripe-B{background:var(--mana-b)}.mtg-card-stripe-R{background:var(--mana-r)}.mtg-card-stripe-G{background:var(--mana-g)}.mtg-card-stripe-C,.mtg-card-stripe-colorless{background:var(--mana-c)}.mtg-card-stripe-land{background:linear-gradient(180deg,#8b5a2b,#3d6b35)}.mtg-type-icon{display:inline-grid;place-items:center;border-radius:6px;font-weight:700;line-height:1;flex-shrink:0;border:1px solid rgba(255,255,255,.12)}.mtg-type-icon-sm{width:1.35rem;height:1.35rem;font-size:.62rem}.mtg-type-icon-md{width:1.6rem;height:1.6rem;font-size:.72rem}.mtg-type-creature{background:#7c2d12;color:#fecaca}.mtg-type-instant{background:#1d4ed8;color:#dbeafe}.mtg-type-sorcery{background:#b91c1c;color:#fee2e2}.mtg-type-enchantment{background:#6d28d9;color:#ede9fe}.mtg-type-artifact{background:#57534e;color:#f5f5f4}.mtg-type-planeswalker{background:#ca8a04;color:#fef9c3}.mtg-type-land{background:#166534;color:#dcfce7}.mtg-type-battle{background:#9f1239;color:#ffe4e6}.mtg-type-unknown{background:#334155;color:#e2e8f0}.mtg-mana-cost{display:inline-flex;align-items:center;gap:.15rem;flex-shrink:0}.mtg-mana-pip{display:inline-grid;place-items:center;border-radius:999px;font-weight:700;line-height:1;border:1px solid rgba(0,0,0,.35);box-shadow:inset 0 1px #ffffff2e}.mtg-mana-cost-sm .mtg-mana-pip{width:1.05rem;height:1.05rem;font-size:.58rem}.mtg-mana-cost-md .mtg-mana-pip{width:1.2rem;height:1.2rem;font-size:.65rem}.mtg-mana-W{background:var(--mana-w);color:#111}.mtg-mana-U{background:var(--mana-u);color:#fff}.mtg-mana-B{background:var(--mana-b);color:#fff;border-color:#444}.mtg-mana-R{background:var(--mana-r);color:#fff}.mtg-mana-G{background:var(--mana-g);color:#fff}.mtg-mana-generic{background:#cbd5e1;color:#111}.mtg-mana-hybrid{position:relative;overflow:hidden;font-size:.48rem!important;padding:0}.mtg-mana-hybrid>span{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center}.mtg-mana-hybrid>span:first-child{clip-path:polygon(0 0,100% 0,0 100%)}.mtg-mana-hybrid>span:last-child{clip-path:polygon(100% 0,100% 100%,0 100%)}.mtg-mana-phyrexian:after{content:"Φ";position:absolute;font-size:.45rem;right:-1px;bottom:-2px}.remote-play-battlefield{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px;min-height:620px}.remote-play-battlefield-empty .remote-play-bf-empty-hint{margin:0;font-size:.9rem;color:var(--text-secondary)}.remote-play-bf-zone{margin-top:.85rem}.remote-play-bf-zone:first-of-type{margin-top:.5rem}.remote-play-bf-zone.self{padding:.75rem;border-radius:8px;border:1px solid rgba(233,69,96,.35);background:#e945600f}.remote-play-bf-zone-header{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:.65rem}.remote-play-bf-zone-owner{font-weight:600;font-size:.9rem}.remote-play-bf-zone-meta{font-size:.78rem;color:var(--text-secondary)}.remote-play-bf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem;align-items:stretch}.remote-play-bf-card{display:flex;flex-direction:column;align-items:stretch;gap:.35rem;width:100%}.remote-play-bf-card-face{position:relative;width:100%;min-height:14rem;background:var(--bg-tertiary);border:2px solid var(--border);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,border-color .2s ease}.remote-play-bf-card.interactive .remote-play-bf-card-face{cursor:pointer}.remote-play-bf-card.interactive .remote-play-bf-card-face:hover{border-color:var(--accent)}.remote-play-bf-card.tapped{overflow:visible}.remote-play-bf-card.tapped .remote-play-bf-card-face{transform:none;border-color:#94a3b8d9;box-shadow:inset 0 0 0 2px #94a3b859;background:linear-gradient(135deg,rgba(148,163,184,.12),var(--bg-tertiary))}.remote-play-bf-card.tapped .remote-play-bf-card-face:after{content:"TAPPED";position:absolute;top:.4rem;right:.4rem;z-index:2;font-size:.62rem;font-weight:700;letter-spacing:.04em;color:#e2e8f0;background:#334155eb;border:1px solid rgba(148,163,184,.55);border-radius:4px;padding:.15rem .35rem}.remote-play-bf-card.attacking .remote-play-bf-card-face{border-color:#f97316}.remote-play-bf-card-body{display:flex;flex-direction:column;gap:.35rem;padding:.45rem .4rem .5rem .55rem;flex:1;min-width:0}.remote-play-bf-card-top{display:flex;align-items:center;gap:.2rem}.remote-play-bf-card-name{font-size:.85rem;line-height:1.25;font-weight:600;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.remote-play-bf-card-type{font-size:.72rem;color:var(--text-secondary)}.remote-play-bf-card .mtg-card-stripe{width:100%;height:4px;align-self:stretch;border-radius:0;margin:0;display:block;flex-shrink:0}.remote-play-tap-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,transparent,transparent 6px,rgba(255,255,255,.06) 6px,rgba(255,255,255,.06) 8px);pointer-events:none}.remote-play-bf-card-abilities{display:flex;flex-wrap:wrap;gap:.3rem}.remote-play-bf-tag{font-size:.65rem;border:1px solid var(--border);border-radius:999px;padding:.12rem .4rem;color:var(--text-secondary);background:#ffffff0a}.remote-play-bf-card-rules{margin:.1rem 0 0;font-size:.72rem;line-height:1.35;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.remote-play-status-badge{font-size:.62rem;line-height:1;padding:.1rem .2rem;border-radius:4px;margin-left:auto}.remote-play-status-badge.tap{background:#94a3b840;color:#cbd5e1}.remote-play-status-badge.attack{background:#f9731640;color:#fdba74}.remote-play-status-badge.stack{background:#3b82f647;color:#93c5fd;margin-left:auto}.remote-play-status-badge.land{background:#16a34a47;color:#bbf7d0;margin-left:auto}.remote-play-bf-card.land .remote-play-bf-card-face{border-color:#4ade8066}.remote-play-bf-produces{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap;font-size:.72rem;color:var(--text-secondary)}.remote-play-bf-produces-label{font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:.62rem}.remote-play-bf-produces-text{opacity:.75}.remote-play-mana-pool{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .75rem;margin:0 0 .75rem;padding:.55rem .7rem;border-radius:8px;border:1px solid rgba(74,222,128,.28);background:#16a34a14}.remote-play-mana-pool-owner{font-weight:700;font-size:.78rem}.remote-play-mana-pool-total{font-size:.82rem;font-weight:600}.remote-play-mana-pool-sources{font-weight:500;color:var(--text-secondary);font-size:.75rem}.remote-play-mana-pool-pips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;width:100%}.remote-play-mana-count{display:inline-flex;align-items:center;gap:.2rem;font-size:.75rem;font-weight:600}.remote-play-mana-empty{font-size:.75rem;color:var(--text-secondary)}.mtg-mana-any{background:linear-gradient(135deg,#fbbf24,#a855f7,#3b82f6,#22c55e);color:#fff}.mtg-mana-choice{border-radius:6px;font-size:.55rem;padding:0 .2rem;min-width:1.6rem;background:#334155;color:#e2e8f0}.remote-play-bf-card.spell .remote-play-bf-card-face{border-color:#3b82f68c}.remote-play-bf-card-actions{display:flex;gap:.2rem;justify-content:flex-end}.remote-play-bf-spell-actions{justify-content:stretch;gap:.35rem}.remote-play-bf-card-actions button{width:1.55rem;height:1.55rem;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.72rem;cursor:pointer;line-height:1}.remote-play-bf-spell-actions button{flex:1;width:auto;height:auto;min-height:1.85rem;padding:.3rem .45rem;font-size:.72rem;font-weight:600;letter-spacing:.02em}.remote-play-bf-spell-actions .spell-resolve{background:#16a34a33;border-color:#4ade8073;color:#bbf7d0}.remote-play-bf-spell-actions .spell-resolve:hover{background:#16a34a59}.remote-play-bf-spell-actions .spell-counter{background:#dc262633;border-color:#f8717173;color:#fecaca}.remote-play-bf-spell-actions .spell-counter:hover{background:#dc262659}.remote-play-bf-card-actions button:hover{border-color:var(--accent)}.remote-play-bf-card-actions button.active{background:#e9456033;border-color:var(--accent);color:#fecdd3}.remote-play-bf-card-actions button.leave{width:auto;min-width:2.1rem;padding:0 .3rem;font-size:.62rem;font-weight:700}.remote-play-bf-card-actions button.leave:hover{border-color:#ef4444;color:#fca5a5}.remote-play-bf-counters{display:flex;flex-wrap:wrap;gap:.25rem}.remote-play-bf-counter-chip{font-size:.65rem;font-weight:700;padding:.1rem .35rem;border-radius:4px;background:#fbbf242e;border:1px solid rgba(251,191,36,.4);color:#fde68a}.remote-play-bf-counter-controls{display:flex;align-items:center;gap:.25rem}.remote-play-bf-counter-select{flex:1;min-width:0;font-size:.68rem;padding:.2rem .25rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary)}.remote-play-bf-counter-controls button{width:1.55rem;height:1.55rem;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);font-size:.9rem;font-weight:700;cursor:pointer;line-height:1}.remote-play-bf-counter-controls button:hover{border-color:var(--accent)}.remote-play-token-creator{margin:.75rem 0;padding:.65rem .7rem;border-radius:8px;border:1px solid rgba(74,222,128,.28);background:#16a34a14}.remote-play-token-title{margin:0 0 .45rem;font-size:.8rem;font-weight:700;color:#bbf7d0}.remote-play-token-row{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.remote-play-token-row .remote-play-deck-select-input{flex:1;min-width:8rem}.remote-play-token-count{width:3.2rem;padding:.35rem .4rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:.85rem}.remote-play-gy-fate.fate-sacrificed{background:#a855f738;color:#e9d5ff}.remote-play-zones{display:flex;flex-direction:column;gap:.85rem;min-width:0}.remote-play-graveyard{padding:1rem;background:var(--bg-secondary);border:1px solid var(--border);border-radius:8px}.remote-play-gy-zone{margin-top:.65rem}.remote-play-gy-zone.self{padding:.55rem .65rem;border-radius:8px;border:1px solid rgba(100,116,139,.35);background:#64748b14}.remote-play-gy-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.remote-play-gy-item{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;padding:.35rem .45rem;border-radius:6px;background:#0000002e;border:1px solid rgba(148,163,184,.2)}.remote-play-gy-name{font-size:.82rem;font-weight:600;flex:1;min-width:0}.remote-play-gy-fate{font-size:.65rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:.12rem .35rem;border-radius:4px}.remote-play-gy-fate.fate-resolved{background:#16a34a38;color:#bbf7d0}.remote-play-gy-fate.fate-countered{background:#dc262638;color:#fecaca}.remote-play-gy-fate.fate-destroyed{background:#94a3b838;color:#cbd5e1}.remote-play-log-status{font-size:.85rem;opacity:.9}@media (max-width: 980px){.remote-play-canvas-layout{grid-template-columns:1fr}.remote-play-play-card{position:static}}.remote-play-log{flex:1;min-height:120px}.remote-play-log-inner{padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:8px;max-height:220px;overflow-y:auto}.remote-play-log-empty{color:var(--text-secondary);font-size:.9rem;margin:0}.remote-play-log-line{font-size:.9rem;padding:.35rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.remote-play-log-line:last-child{border-bottom:none}.log-user{font-weight:600;color:var(--accent)}.log-detail{color:var(--text-secondary)}.log-time{margin-left:auto;font-size:.8rem;color:var(--text-secondary)}.remote-play-table-footer{padding-top:1rem;border-top:1px solid var(--border)}.remote-play-game-switch{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;flex-wrap:wrap}.remote-play-game-switch-label{color:var(--text-secondary);font-size:.9rem}.remote-play-game-choice{padding:.5rem 1rem;border-radius:999px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.9rem}.remote-play-game-choice.active{border-color:var(--accent);background:var(--accent);color:#fff}.remote-play-waiting{padding:2rem 1rem;text-align:center;color:var(--text-secondary);border:1px dashed var(--border);border-radius:12px;margin:1rem 0}.yugioh-app{max-width:1200px;margin:0 auto;padding:1rem}.yg-tabs,.yg-acting-bar{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.yg-acting-bar{margin-bottom:1rem;color:var(--text-secondary);font-size:.9rem}.yg-tab{padding:.45rem .9rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.9rem}.yg-tab.active{border-color:#8b5cf6;background:#8b5cf6;color:#fff}.yg-console{display:flex;flex-direction:column;gap:1rem}.yg-winner-banner{padding:.85rem 1rem;border-radius:10px;background:linear-gradient(135deg,#8b5cf6,#6d28d9);color:#fff;font-weight:600;text-align:center}.yg-turnbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem 1rem;border:1px solid var(--border);border-radius:12px;background:var(--bg-secondary)}.yg-turnbar-info{display:flex;flex-direction:column}.yg-turn-count{font-weight:700}.yg-turn-player{color:var(--text-secondary);font-size:.85rem}.yg-phases{display:flex;gap:.35rem;flex-wrap:wrap}.yg-phase{padding:.35rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.8rem}.yg-phase.active{border-color:#8b5cf6;background:#8b5cf640}.yg-turnbar-actions{display:flex;gap:.5rem}.yg-btn{padding:.5rem .9rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.9rem}.yg-btn:hover:not(:disabled){border-color:#8b5cf6}.yg-btn.primary{background:#8b5cf6;border-color:#8b5cf6;color:#fff}.yg-btn:disabled{opacity:.5;cursor:not-allowed}.yg-error{background:#ef444426;border:1px solid var(--error);color:var(--error);padding:.6rem .9rem;border-radius:8px}.yg-boards{display:grid;grid-template-columns:1fr;gap:.75rem}.yg-board{border:1px solid var(--border);border-radius:12px;padding:.85rem;background:var(--bg-secondary)}.yg-board.active-turn{border-color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf659}.yg-board.opponent{background:var(--bg-tertiary)}.yg-board-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.yg-board-name{font-weight:600;text-transform:capitalize}.yg-lp{font-weight:700;color:#8b5cf6}.yg-zone-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem}.yg-zone-label{width:6rem;flex-shrink:0;font-size:.75rem;color:var(--text-secondary);text-transform:uppercase}.yg-zones{display:grid;grid-template-columns:repeat(5,1fr);gap:.35rem;flex:1}.yg-cell{min-height:3.25rem;border:1px dashed var(--border);border-radius:6px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.25rem;text-align:center;font-size:.72rem}.yg-cell.filled{border-style:solid;background:var(--bg-primary)}.yg-cell.monster.attack{border-color:#ef4444}.yg-cell.monster.defense,.yg-cell.monster.facedown-defense{border-color:#22c55e}.yg-cell-name{font-weight:600;line-height:1.15}.yg-cell-stats{color:var(--text-secondary);font-size:.65rem}.yg-cell-empty{color:var(--text-secondary);opacity:.4}.yg-board-footer{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem;font-size:.78rem;color:var(--text-secondary)}.yg-hand-strip{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.5rem}.yg-hand-chip{padding:.2rem .5rem;border-radius:999px;background:var(--bg-tertiary);border:1px solid var(--border);font-size:.72rem}.yg-actions{border:1px solid var(--border);border-radius:12px;padding:.85rem;background:var(--bg-secondary)}.yg-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.85rem}.yg-action-card{border:1px solid var(--border);border-radius:10px;padding:.75rem;background:var(--bg-tertiary)}.yg-action-card h4{margin:0 0 .5rem;font-size:.9rem}.yg-row{display:flex;gap:.4rem;align-items:center;margin-bottom:.5rem;flex-wrap:wrap}.yg-row label{font-size:.78rem;color:var(--text-secondary);min-width:4.5rem}.yg-input{flex:1;min-width:0;padding:.45rem .6rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);font-size:.85rem}.yg-input.small{flex:0 0 auto;width:5.5rem}.yg-input.textarea{width:100%;resize:vertical}.yg-subform{border-top:1px solid var(--border);margin-top:.5rem;padding-top:.5rem}.yg-btn-row{display:flex;gap:.5rem;flex-wrap:wrap}.yg-tribute-list{display:flex;flex-direction:column;gap:.2rem}.yg-tribute-item{display:flex;align-items:center;gap:.35rem;font-size:.8rem;min-width:0}.yg-life-adjust{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.yg-hint{color:var(--text-secondary);font-size:.75rem;margin:.25rem 0}.yg-referee-box{border:1px solid #8b5cf6;border-radius:12px;padding:.85rem;background:#8b5cf614}.yg-referee-box h3{margin:0 0 .25rem;font-size:1rem}.yg-ruling{margin-top:.75rem;padding:.75rem;border-radius:8px;background:var(--bg-primary);border:1px solid var(--border);white-space:pre-wrap;font-size:.88rem;line-height:1.5}.yg-log{border:1px solid var(--border);border-radius:12px;padding:.85rem;background:var(--bg-secondary)}.yg-log h3{margin:0 0 .5rem;font-size:1rem}.yg-log-inner{max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.yg-log-empty{color:var(--text-secondary);font-size:.85rem}.yg-log-line{border-left:3px solid #8b5cf6;padding:.35rem .6rem;background:var(--bg-tertiary);border-radius:0 6px 6px 0}.yg-log-line.rejected{border-left-color:var(--error)}.yg-log-head{display:flex;gap:.5rem;align-items:center;font-size:.85rem}.yg-log-user{font-weight:600;text-transform:capitalize}.yg-log-summary{color:var(--text-secondary)}.yg-log-reject{margin-left:auto;color:var(--error);font-size:.72rem;text-transform:uppercase}.yg-log-detail{margin:.2rem 0 0;font-size:.8rem;color:var(--text-secondary)}.yg-log-detail.rejected{color:var(--error)}.yg-setup{max-width:480px;margin:1rem auto;border:1px solid var(--border);border-radius:12px;padding:1.25rem;background:var(--bg-secondary)}.yg-setup-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.yg-setup-row label{width:5rem;color:var(--text-secondary);font-size:.9rem}@media (min-width: 900px){.yg-boards{grid-template-columns:1fr 1fr}}.yg-console.mtg .yg-turn-count{color:#c4b5fd}.yg-board.mtg{display:flex;flex-direction:column;gap:.6rem}.yg-board.mtg .yg-lp{color:#f472b6}.yg-lp.editable{cursor:pointer;padding:.1rem .4rem;border-radius:6px}.yg-lp.editable:hover{background:#8b5cf62e}.yg-lp-edit{display:inline-flex;align-items:center;gap:.35rem}.yg-board.mtg .remote-play-bf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.yg-board.mtg .remote-play-mana-pool{margin:0}.yg-gy{border:1px solid var(--border);border-radius:8px;background:var(--bg-primary);padding:.35rem .55rem}.yg-gy>summary{cursor:pointer;font-size:.8rem;color:var(--text-secondary);list-style:revert}.yg-gy .remote-play-gy-list{margin-top:.5rem}.yg-action-card.wide{grid-column:1 / -1}.yg-action-card .remote-play-card-groups{max-height:360px}.yg-action-card .remote-play-deck-select{margin-bottom:.5rem}.yg-action-card .remote-play-deck-select-input{max-width:none}.yg-action-card .remote-play-token-row{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.yg-action-card .remote-play-token-count{width:4.5rem;padding:.45rem .5rem;border-radius:6px;border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary)}.yg-action-card .remote-play-hand-list{max-height:320px;overflow-y:auto}.mtg-lib-dialog{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:.55rem}.mtg-lib-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mtg-lib-list,.mtg-lib-reveal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.45rem;max-height:280px;overflow-y:auto}.mtg-lib-list>li,.mtg-lib-reveal-item{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.mtg-lib-list>li .remote-play-card-chip,.mtg-lib-reveal-item .remote-play-card-chip{flex:1;min-width:140px}.mtg-lib-reveal-idx{font-size:.75rem;color:var(--text-secondary);width:1.5rem}.mtg-lib-reveal-choices{display:flex;gap:.3rem;flex-shrink:0}body{margin:0;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}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
