*{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}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}.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}.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}.home-page{min-height:100vh;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%)}.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:1000px;margin:0 auto;padding:3rem 2rem}.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}.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)}.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)}}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}
