{"id":31170,"date":"2026-01-04T14:31:03","date_gmt":"2026-01-04T13:31:03","guid":{"rendered":"https:\/\/www.recharge.com\/blog\/fc-26-squad-builder-free-ai-powered-ultimate-team-planner"},"modified":"2026-01-05T14:31:13","modified_gmt":"2026-01-05T13:31:13","slug":"fc-26-squad-builder-free-ai-powered-ultimate-team-planner","status":"publish","type":"post","link":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused","title":{"rendered":"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)"},"content":{"rendered":"\n<style>\n    .fc26-squad-builder * {\n        box-sizing: border-box;\n    }\n\n    .fc26-squad-builder {\n        font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;\n        background: #f8f9fa;\n        padding: 30px 20px;\n        border-radius: 12px;\n        min-height: 100vh;\n    }\n\n    .fc26-squad-builder .header {\n        text-align: center;\n        margin-bottom: 30px;\n    }\n\n    .fc26-squad-builder .header h2 {\n        font-size: 2.2rem;\n        font-weight: 700;\n        color: #1a1a2e;\n        margin-bottom: 8px;\n    }\n\n    .fc26-squad-builder .header-subtitle {\n        color: #6b7280;\n        font-size: 1rem;\n    }\n\n    .fc26-squad-builder .stats-container {\n        display: grid;\n        grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));\n        gap: 16px;\n        max-width: 1200px;\n        margin: 0 auto 30px;\n    }\n\n    .fc26-squad-builder .stat-card {\n        background: white;\n        border: 2px solid #e5e7eb;\n        border-radius: 12px;\n        padding: 20px;\n        text-align: center;\n        transition: all 0.3s ease;\n    }\n\n    .fc26-squad-builder .stat-card:hover {\n        border-color: #22c55e;\n        box-shadow: 0 4px 12px rgba(34, 197, 94, 0.1);\n    }\n\n    .fc26-squad-builder .stat-value {\n        font-size: 2rem;\n        font-weight: 700;\n        color: #1a1a2e;\n        margin-bottom: 4px;\n    }\n\n    .fc26-squad-builder .stat-label {\n        color: #6b7280;\n        font-size: 0.85rem;\n        font-weight: 500;\n        text-transform: uppercase;\n        letter-spacing: 0.5px;\n    }\n\n    .fc26-squad-builder .controls {\n        display: flex;\n        justify-content: center;\n        gap: 12px;\n        margin-bottom: 30px;\n        flex-wrap: wrap;\n    }\n\n    .fc26-squad-builder .btn,\n    .fc26-squad-builder .formation-select {\n        padding: 12px 20px;\n        border-radius: 8px;\n        border: 2px solid #e5e7eb;\n        font-size: 0.95rem;\n        font-weight: 600;\n        cursor: pointer;\n        transition: all 0.2s ease;\n        background: white;\n        color: #1a1a2e;\n    }\n\n    .fc26-squad-builder .btn:hover,\n    .fc26-squad-builder .formation-select:hover {\n        border-color: #22c55e;\n        transform: translateY(-1px);\n        box-shadow: 0 4px 8px rgba(34, 197, 94, 0.15);\n    }\n\n    .fc26-squad-builder .btn-primary {\n        background: #22c55e;\n        border-color: #22c55e;\n        color: white;\n    }\n\n    .fc26-squad-builder .btn-primary:hover {\n        background: #16a34a;\n        border-color: #16a34a;\n    }\n\n    .fc26-squad-builder .btn-secondary {\n        background: #10b981;\n        border-color: #10b981;\n        color: white;\n    }\n\n    .fc26-squad-builder .btn-secondary:hover {\n        background: #059669;\n        border-color: #059669;\n    }\n\n    .fc26-squad-builder .pitch-stats {\n        background: rgba(255, 255, 255, 0.95);\n        backdrop-filter: blur(10px);\n        padding: 16px;\n        border-radius: 12px;\n        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);\n        margin-bottom: 20px;\n        max-width: 300px;\n        margin-left: auto;\n        margin-right: auto;\n    }\n\n    .fc26-squad-builder .pitch-stats-row {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        margin-bottom: 8px;\n    }\n\n    .fc26-squad-builder .pitch-stats-row:last-child {\n        margin-bottom: 0;\n    }\n\n    .fc26-squad-builder .pitch-stats-label {\n        font-size: 0.75rem;\n        color: #6b7280;\n        font-weight: 600;\n        text-transform: uppercase;\n    }\n\n    .fc26-squad-builder .pitch-stats-value {\n        font-size: 1.1rem;\n        font-weight: 700;\n        color: #1a1a2e;\n    }\n\n    .fc26-squad-builder .pitch-container {\n        max-width: 1100px;\n        margin: 0 auto;\n        position: relative;\n        background: linear-gradient(180deg, #22c55e 0%, #16a34a 100%);\n        border-radius: 16px;\n        padding: 40px 30px;\n        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);\n        overflow: hidden;\n    }\n\n    .fc26-squad-builder .pitch-container::before {\n        content: '';\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        bottom: 0;\n        background: \n            repeating-linear-gradient(\n                90deg,\n                transparent,\n                transparent 49px,\n                rgba(255,255,255,0.05) 49px,\n                rgba(255,255,255,0.05) 50px\n            );\n        pointer-events: none;\n    }\n\n    .fc26-squad-builder .formation-grid {\n        position: relative;\n        z-index: 2;\n        display: flex;\n        flex-direction: column;\n        gap: 60px;\n        min-height: 650px;\n        justify-content: space-evenly;\n        padding: 20px 0;\n    }\n\n    .fc26-squad-builder .formation-row {\n        display: flex;\n        justify-content: space-evenly;\n        align-items: center;\n        gap: 10px;\n        flex-wrap: nowrap;\n        width: 100%;\n        max-width: 950px;\n        margin: 0 auto;\n    }\n\n    .fc26-squad-builder .player-slot {\n        background: rgba(0, 0, 0, 0.7);\n        border: 2px solid rgba(255, 255, 255, 0.2);\n        border-radius: 10px;\n        padding: 0;\n        width: 115px;\n        min-width: 115px;\n        height: 170px;\n        text-align: center;\n        cursor: pointer;\n        transition: all 0.3s ease;\n        position: relative;\n        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);\n        flex-shrink: 0;\n        overflow: hidden;\n        backdrop-filter: blur(10px);\n    }\n\n    .fc26-squad-builder .player-slot:hover {\n        transform: translateY(-6px);\n        box-shadow: 0 8px 24px rgba(34, 197, 94, 0.4);\n        border-color: #22c55e;\n    }\n\n    .fc26-squad-builder .player-slot.filled {\n        background: linear-gradient(135deg, rgba(0, 0, 0, 0.85) 0%, rgba(0, 0, 0, 0.95) 100%);\n        border-color: #fbbf24;\n    }\n\n    .fc26-squad-builder .player-slot.filled.is-icon {\n        border: 3px solid #c9a227;\n        background: linear-gradient(180deg, #1a1612 0%, #0d0b09 100%);\n        box-shadow: 0 4px 16px rgba(201, 162, 39, 0.5), inset 0 0 30px rgba(201, 162, 39, 0.08);\n    }\n\n    .fc26-squad-builder .player-slot.filled.is-icon::before {\n        content: '';\n        position: absolute;\n        top: 0;\n        left: 0;\n        right: 0;\n        height: 3px;\n        background: linear-gradient(90deg, #c9a227, #e6c84a, #c9a227);\n        z-index: 10;\n    }\n\n    \/* Icon card - larger centered image *\/\n    .fc26-squad-builder .player-slot.is-icon .player-img {\n        width: 100px;\n        height: 100px;\n        margin: 4px auto 2px;\n        filter: drop-shadow(0 4px 8px rgba(201, 162, 39, 0.4));\n    }\n\n    \/* Icon card - hide stats row for cleaner look *\/\n    .fc26-squad-builder .player-slot.is-icon .player-stats-row {\n        display: none;\n    }\n\n    \/* Icon card - style adjustments *\/\n    .fc26-squad-builder .player-slot.is-icon .player-name {\n        font-size: 0.65rem;\n        color: #e6c84a;\n        margin-top: 2px;\n    }\n\n    .fc26-squad-builder .player-slot.is-icon .player-rating {\n        color: #e6c84a;\n        font-size: 1.6rem;\n        text-shadow: 0 2px 8px rgba(201, 162, 39, 0.6);\n    }\n\n    .fc26-squad-builder .player-slot.is-icon .position-badge {\n        background: linear-gradient(135deg, #c9a227 0%, #e6c84a 100%);\n        color: #1a1612;\n        font-weight: 900;\n    }\n\n    .fc26-squad-builder .player-slot.is-icon .player-chem {\n        background: linear-gradient(135deg, #c9a227 0%, #e6c84a 100%);\n        color: #1a1612;\n        font-weight: 900;\n    }\n\n    \/* Hide team badge on icons - they don't have clubs *\/\n    .fc26-squad-builder .player-slot.is-icon .player-team-badge {\n        display: none;\n    }\n\n    .fc26-squad-builder .player-slot.empty {\n        background: rgba(255, 255, 255, 0.1);\n        border: 2px dashed rgba(255, 255, 255, 0.3);\n    }\n\n    .fc26-squad-builder .player-slot.empty:hover {\n        background: rgba(255, 255, 255, 0.15);\n        border-color: rgba(255, 255, 255, 0.5);\n    }\n\n    .fc26-squad-builder .player-img {\n        width: 70px;\n        height: 70px;\n        object-fit: contain;\n        margin: 6px auto 0;\n        display: block;\n        filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.5));\n    }\n\n    .fc26-squad-builder .position-badge {\n        position: absolute;\n        top: 6px;\n        left: 6px;\n        background: rgba(251, 191, 36, 0.9);\n        color: #000;\n        padding: 4px 8px;\n        border-radius: 4px;\n        font-size: 0.65rem;\n        font-weight: 800;\n        letter-spacing: 0.5px;\n    }\n\n    .fc26-squad-builder .player-slot.is-icon .position-badge {\n        background: linear-gradient(135deg, #c9a227 0%, #e6c84a 100%);\n    }\n\n    .fc26-squad-builder .player-rating {\n        position: absolute;\n        top: 6px;\n        right: 6px;\n        font-size: 1.8rem;\n        font-weight: 900;\n        color: #fbbf24;\n        line-height: 1;\n        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.8);\n    }\n\n    .fc26-squad-builder .player-slot.is-icon .player-rating {\n        color: #e6c84a;\n    }\n\n    .fc26-squad-builder .player-name {\n        color: white;\n        font-weight: 700;\n        font-size: 0.7rem;\n        margin: 2px 6px;\n        line-height: 1.1;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n        text-transform: uppercase;\n        text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);\n    }\n\n    .fc26-squad-builder .player-stats-row {\n        display: flex;\n        justify-content: space-around;\n        margin: 2px 4px 0;\n        padding: 3px 0;\n    }\n\n    .fc26-squad-builder .stat-mini-slot {\n        text-align: center;\n    }\n\n    .fc26-squad-builder .stat-mini-slot .stat-value {\n        font-size: 0.75rem;\n        font-weight: 800;\n        color: #fbbf24;\n        line-height: 1;\n    }\n\n    .fc26-squad-builder .player-slot.is-icon .stat-mini-slot .stat-value {\n        color: #e6c84a;\n    }\n\n    .fc26-squad-builder .stat-mini-slot .stat-label {\n        font-size: 0.45rem;\n        color: rgba(255, 255, 255, 0.6);\n        font-weight: 600;\n        text-transform: uppercase;\n        margin-top: 1px;\n    }\n\n    .fc26-squad-builder .player-team-badge {\n        width: 18px;\n        height: 18px;\n        object-fit: contain;\n        position: absolute;\n        bottom: 6px;\n        left: 6px;\n        opacity: 0.8;\n    }\n\n    .fc26-squad-builder .player-chem {\n        position: absolute;\n        bottom: 6px;\n        right: 6px;\n        font-size: 0.7rem;\n        font-weight: 800;\n        padding: 3px 6px;\n        border-radius: 4px;\n        background: rgba(0, 0, 0, 0.6);\n    }\n\n    .fc26-squad-builder .empty-slot-content {\n        display: flex;\n        flex-direction: column;\n        align-items: center;\n        justify-content: center;\n        height: 100%;\n        color: rgba(255, 255, 255, 0.4);\n    }\n\n    .fc26-squad-builder .empty-icon {\n        font-size: 3rem;\n        font-weight: 300;\n        line-height: 1;\n        opacity: 0.5;\n    }\n\n    .fc26-squad-builder .click-to-add {\n        display: none;\n    }\n\n    .fc26-modal {\n        display: none;\n        position: fixed;\n        top: 0;\n        left: 0;\n        width: 100%;\n        height: 100%;\n        background: rgba(0, 0, 0, 0.6);\n        backdrop-filter: blur(4px);\n        z-index: 999999;\n        overflow-y: auto;\n    }\n\n    .fc26-modal.active {\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        padding: 20px;\n    }\n\n    .fc26-modal .modal-content {\n        background: white;\n        border-radius: 16px;\n        max-width: 900px;\n        width: 100%;\n        max-height: 90vh;\n        overflow: hidden;\n        display: flex;\n        flex-direction: column;\n        box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);\n    }\n\n    .fc26-modal .modal-header {\n        padding: 24px 30px;\n        background: linear-gradient(135deg, #22c55e 0%, #16a34a 100%);\n        color: white;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n    }\n\n    .fc26-modal .modal-title {\n        font-size: 1.3rem;\n        font-weight: 700;\n    }\n\n    .fc26-modal .modal-subtitle {\n        font-size: 0.9rem;\n        opacity: 0.9;\n        margin-top: 4px;\n    }\n\n    .fc26-modal .close-btn {\n        background: rgba(255, 255, 255, 0.2);\n        border: none;\n        color: white;\n        font-size: 1.5rem;\n        cursor: pointer;\n        padding: 8px;\n        width: 36px;\n        height: 36px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        border-radius: 8px;\n        transition: background 0.2s ease;\n    }\n\n    .fc26-modal .close-btn:hover {\n        background: rgba(255, 255, 255, 0.3);\n    }\n\n    .fc26-modal .modal-body {\n        overflow-y: auto;\n        flex: 1;\n    }\n\n    .fc26-modal .search-box {\n        width: calc(100% - 60px);\n        margin: 20px 30px 16px;\n        padding: 14px 16px;\n        border: 2px solid #e5e7eb;\n        border-radius: 8px;\n        background: #f9fafb;\n        color: #1a1a2e;\n        font-size: 0.95rem;\n        transition: all 0.2s ease;\n    }\n\n    .fc26-modal .search-box:focus {\n        outline: none;\n        border-color: #22c55e;\n        background: white;\n    }\n\n    .fc26-modal .search-box::placeholder {\n        color: #9ca3af;\n    }\n\n    .fc26-modal .toggle-container {\n        padding: 12px 30px;\n        display: flex;\n        align-items: center;\n        justify-content: center;\n        gap: 12px;\n        border-bottom: 1px solid #e5e7eb;\n    }\n\n    .fc26-modal .toggle-label {\n        font-weight: 600;\n        color: #1a1a2e;\n        font-size: 0.95rem;\n    }\n\n    .fc26-modal .toggle-switch {\n        position: relative;\n        width: 56px;\n        height: 28px;\n        background: #e5e7eb;\n        border-radius: 34px;\n        cursor: pointer;\n        transition: background 0.3s ease;\n        border: 2px solid #d1d5db;\n    }\n\n    .fc26-modal .toggle-switch.active {\n        background: #22c55e;\n        border-color: #16a34a;\n    }\n\n    .fc26-modal .toggle-slider {\n        position: absolute;\n        top: 2px;\n        left: 2px;\n        width: 20px;\n        height: 20px;\n        background: white;\n        border-radius: 50%;\n        transition: transform 0.3s ease;\n        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);\n    }\n\n    .fc26-modal .toggle-switch.active .toggle-slider {\n        transform: translateX(28px);\n    }\n\n    .fc26-modal .chemistry-panel {\n        max-height: 0;\n        overflow: hidden;\n        transition: max-height 0.3s ease;\n        padding: 0 30px;\n        margin-bottom: 10px;\n    }\n\n    .fc26-modal .chemistry-panel.active {\n        max-height: 200px;\n        padding: 0 30px 15px;\n    }\n\n    .fc26-modal .chemistry-info {\n        background: linear-gradient(135deg, #dcfce7 0%, #bbf7d0 100%);\n        border: 2px solid #22c55e;\n        border-radius: 8px;\n        padding: 16px;\n    }\n\n    .fc26-modal .chemistry-title {\n        font-weight: 700;\n        color: #166534;\n        margin-bottom: 8px;\n        font-size: 0.9rem;\n    }\n\n    .fc26-modal .chemistry-description {\n        font-size: 0.85rem;\n        color: #15803d;\n        line-height: 1.4;\n    }\n\n    .fc26-modal .filters-accordion {\n        padding: 0 30px;\n        margin-bottom: 10px;\n    }\n\n    .fc26-modal .filters-header {\n        background: #f3f4f6;\n        border: 2px solid #e5e7eb;\n        border-radius: 8px;\n        padding: 12px 16px;\n        cursor: pointer;\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        transition: all 0.2s ease;\n    }\n\n    .fc26-modal .filters-header:hover {\n        background: #e5e7eb;\n    }\n\n    .fc26-modal .filters-header-text {\n        font-weight: 600;\n        color: #1a1a2e;\n        font-size: 0.95rem;\n    }\n\n    .fc26-modal .filters-arrow {\n        font-size: 0.9rem;\n        transition: transform 0.3s ease;\n    }\n\n    .fc26-modal .filters-arrow.open {\n        transform: rotate(180deg);\n    }\n\n    .fc26-modal .filters-content {\n        max-height: 0;\n        overflow: hidden;\n        transition: max-height 0.3s ease;\n    }\n\n    .fc26-modal .filters-content.open {\n        max-height: 500px;\n        margin-top: 12px;\n    }\n\n    .fc26-modal .filter-row {\n        display: grid;\n        grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));\n        gap: 12px;\n    }\n\n    .fc26-modal .filter-select {\n        padding: 10px 12px;\n        border-radius: 8px;\n        border: 2px solid #e5e7eb;\n        background: white;\n        color: #1a1a2e;\n        font-size: 0.9rem;\n        font-weight: 500;\n        cursor: pointer;\n        transition: all 0.2s ease;\n    }\n\n    .fc26-modal .filter-select:hover,\n    .fc26-modal .filter-select:focus {\n        border-color: #22c55e;\n        outline: none;\n    }\n\n    .fc26-modal .player-list {\n        padding: 0 30px 30px;\n    }\n\n    .fc26-modal .player-card {\n        background: white;\n        border: 2px solid #e5e7eb;\n        border-radius: 12px;\n        padding: 16px;\n        margin-bottom: 12px;\n        cursor: pointer;\n        transition: all 0.2s ease;\n    }\n\n    .fc26-modal .player-card:hover {\n        border-color: #22c55e;\n        box-shadow: 0 4px 12px rgba(34, 197, 94, 0.15);\n        transform: translateX(4px);\n    }\n\n    .fc26-modal .player-card.is-icon {\n        background: linear-gradient(135deg, #fffbeb 0%, #fef3c7 100%);\n        border-color: #c9a227;\n    }\n\n    .fc26-modal .player-card.is-icon:hover {\n        border-color: #b8860b;\n        box-shadow: 0 4px 12px rgba(201, 162, 39, 0.25);\n    }\n\n    .fc26-modal .player-card-content {\n        display: grid;\n        grid-template-columns: 100px 1fr 120px;\n        gap: 16px;\n        align-items: center;\n    }\n\n    .fc26-modal .player-visual {\n        text-align: center;\n    }\n\n    .fc26-modal .player-card-img {\n        width: 70px;\n        height: 70px;\n        object-fit: contain;\n        margin: 0 auto 8px;\n        display: block;\n    }\n\n    .fc26-modal .player-badges {\n        display: flex;\n        gap: 6px;\n        justify-content: center;\n        align-items: center;\n    }\n\n    .fc26-modal .nation-badge,\n    .fc26-modal .team-badge-small {\n        width: 20px;\n        height: 20px;\n        object-fit: contain;\n    }\n\n    .fc26-modal .player-rating-display {\n        text-align: center;\n    }\n\n    .fc26-modal .player-rating-number {\n        font-size: 2.5rem;\n        font-weight: 800;\n        color: #fbbf24;\n        line-height: 1;\n    }\n\n    .fc26-modal .player-card.is-icon .player-rating-number {\n        color: #c9a227;\n    }\n\n    .fc26-modal .player-position-tag {\n        background: #f3f4f6;\n        color: #4b5563;\n        padding: 4px 10px;\n        border-radius: 6px;\n        font-size: 0.7rem;\n        font-weight: 700;\n        display: inline-block;\n        margin-top: 4px;\n    }\n\n    .fc26-modal .player-info {\n        min-width: 0;\n    }\n\n    .fc26-modal .player-card-name {\n        font-size: 1.1rem;\n        font-weight: 700;\n        color: #1a1a2e;\n        margin-bottom: 8px;\n        overflow: hidden;\n        text-overflow: ellipsis;\n        white-space: nowrap;\n    }\n\n    .fc26-modal .player-meta {\n        display: flex;\n        gap: 8px;\n        flex-wrap: wrap;\n        margin-bottom: 8px;\n    }\n\n    .fc26-modal .meta-tag {\n        background: #f3f4f6;\n        padding: 4px 10px;\n        border-radius: 6px;\n        font-size: 0.8rem;\n        color: #4b5563;\n        font-weight: 500;\n    }\n\n    .fc26-modal .meta-tag.icon-tag {\n        background: linear-gradient(135deg, #c9a227 0%, #e6c84a 100%);\n        color: #1a1a2e;\n        font-weight: 700;\n    }\n\n    .fc26-modal .player-stats-mini {\n        display: grid;\n        grid-template-columns: repeat(6, 1fr);\n        gap: 6px;\n        margin-top: 8px;\n    }\n\n    .fc26-modal .stat-mini {\n        text-align: center;\n        padding: 4px;\n        background: #f9fafb;\n        border-radius: 4px;\n    }\n\n    .fc26-modal .stat-mini-label {\n        font-size: 0.65rem;\n        color: #6b7280;\n        font-weight: 600;\n        text-transform: uppercase;\n    }\n\n    .fc26-modal .stat-mini-value {\n        font-size: 0.9rem;\n        font-weight: 700;\n        color: #1a1a2e;\n    }\n\n    .fc26-modal .chem-indicator {\n        text-align: center;\n        padding: 12px;\n        border-radius: 10px;\n        border: 2px solid;\n    }\n\n    .fc26-modal .chem-indicator.positive {\n        background: #d1fae5;\n        border-color: #10b981;\n    }\n\n    .fc26-modal .chem-indicator.negative {\n        background: #fee2e2;\n        border-color: #ef4444;\n    }\n\n    .fc26-modal .chem-indicator.neutral {\n        background: #f3f4f6;\n        border-color: #e5e7eb;\n    }\n\n    .fc26-modal .chem-indicator.icon-full {\n        background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%);\n        border-color: #c9a227;\n    }\n\n    .fc26-modal .chem-change {\n        font-size: 1.8rem;\n        font-weight: 800;\n        line-height: 1;\n        margin-bottom: 4px;\n    }\n\n    .fc26-modal .chem-indicator.positive .chem-change {\n        color: #059669;\n    }\n\n    .fc26-modal .chem-indicator.negative .chem-change {\n        color: #dc2626;\n    }\n\n    .fc26-modal .chem-indicator.neutral .chem-change {\n        color: #6b7280;\n    }\n\n    .fc26-modal .chem-indicator.icon-full .chem-change {\n        color: #b8860b;\n    }\n\n    .fc26-modal .chem-total {\n        font-size: 0.8rem;\n        font-weight: 600;\n        color: #6b7280;\n    }\n\n    .fc26-modal .icon-chem-note {\n        font-size: 0.65rem;\n        color: #92400e;\n        margin-top: 4px;\n        font-weight: 600;\n    }\n\n    @media (max-width: 768px) {\n        .fc26-squad-builder {\n            padding: 15px 5px;\n        }\n\n        .fc26-squad-builder .header h2 {\n            font-size: 1.5rem;\n        }\n\n        .fc26-squad-builder .stats-container {\n            grid-template-columns: repeat(2, 1fr);\n            gap: 10px;\n        }\n\n        .fc26-squad-builder .stat-card {\n            padding: 12px;\n        }\n\n        .fc26-squad-builder .stat-value {\n            font-size: 1.5rem;\n        }\n\n        .fc26-squad-builder .controls {\n            gap: 8px;\n        }\n\n        .fc26-squad-builder .btn,\n        .fc26-squad-builder .formation-select {\n            padding: 10px 14px;\n            font-size: 0.85rem;\n        }\n\n        .fc26-squad-builder .pitch-container {\n            padding: 15px 5px;\n            border-radius: 12px;\n            overflow-x: auto;\n        }\n\n        .fc26-squad-builder .pitch-stats {\n            padding: 8px;\n            min-width: 90px;\n            font-size: 0.8rem;\n        }\n\n        .fc26-squad-builder .pitch-stats-label {\n            font-size: 0.65rem;\n        }\n\n        .fc26-squad-builder .pitch-stats-value {\n            font-size: 0.9rem;\n        }\n\n        .fc26-squad-builder .formation-grid {\n            gap: 25px;\n            min-height: 450px;\n        }\n\n        .fc26-squad-builder .formation-row {\n            gap: 4px;\n            max-width: 100%;\n        }\n\n        .fc26-squad-builder .player-slot {\n            width: 70px;\n            min-width: 70px;\n            height: 115px;\n        }\n\n        .fc26-squad-builder .player-img {\n            width: 42px;\n            height: 42px;\n            margin: 4px auto 0;\n        }\n\n        .fc26-squad-builder .position-badge {\n            font-size: 0.5rem;\n            padding: 2px 5px;\n            top: 4px;\n            left: 4px;\n        }\n\n        .fc26-squad-builder .player-rating {\n            font-size: 1.1rem;\n            top: 4px;\n            right: 4px;\n        }\n\n        .fc26-squad-builder .player-name {\n            font-size: 0.55rem;\n            margin: 2px 3px;\n        }\n\n        .fc26-squad-builder .player-stats-row {\n            margin: 1px 2px 0;\n            padding: 2px 0;\n        }\n\n        .fc26-squad-builder .stat-mini-slot .stat-value {\n            font-size: 0.6rem;\n        }\n\n        .fc26-squad-builder .stat-mini-slot .stat-label {\n            font-size: 0.35rem;\n        }\n\n        .fc26-squad-builder .player-team-badge {\n            width: 12px;\n            height: 12px;\n            bottom: 4px;\n            left: 4px;\n        }\n\n        .fc26-squad-builder .player-chem {\n            font-size: 0.55rem;\n            padding: 2px 4px;\n            bottom: 4px;\n            right: 4px;\n        }\n\n        .fc26-squad-builder .empty-icon {\n            font-size: 1.8rem;\n        }\n\n        \/* Mobile Icon card styles *\/\n        .fc26-squad-builder .player-slot.is-icon .player-img {\n            width: 58px;\n            height: 58px;\n            margin: 4px auto 2px;\n        }\n\n        .fc26-squad-builder .player-slot.is-icon .player-name {\n            font-size: 0.5rem;\n        }\n\n        .fc26-squad-builder .player-slot.is-icon .player-rating {\n            font-size: 1rem;\n        }\n\n        .fc26-modal .modal-content {\n            max-height: 95vh;\n        }\n\n        .fc26-modal .modal-header {\n            padding: 16px 20px;\n        }\n\n        .fc26-modal .modal-title {\n            font-size: 1.1rem;\n        }\n\n        .fc26-modal .search-box {\n            width: calc(100% - 40px);\n            margin: 12px 20px 10px;\n            padding: 10px 12px;\n            font-size: 0.85rem;\n        }\n\n        .fc26-modal .toggle-container {\n            padding: 10px 20px;\n            gap: 8px;\n        }\n\n        .fc26-modal .toggle-label {\n            font-size: 0.75rem;\n        }\n\n        .fc26-modal .toggle-switch {\n            width: 44px;\n            height: 22px;\n        }\n\n        .fc26-modal .toggle-slider {\n            width: 16px;\n            height: 16px;\n            top: 2px;\n            left: 2px;\n        }\n\n        .fc26-modal .toggle-switch.active .toggle-slider {\n            transform: translateX(22px);\n        }\n\n        .fc26-modal .chemistry-panel.active {\n            max-height: 220px;\n            padding: 0 20px 12px;\n        }\n\n        .fc26-modal .chemistry-info {\n            padding: 10px;\n        }\n\n        .fc26-modal .chemistry-title {\n            font-size: 0.8rem;\n            margin-bottom: 6px;\n        }\n\n        .fc26-modal .chemistry-description {\n            font-size: 0.7rem;\n        }\n\n        .fc26-modal .filters-accordion {\n            padding: 0 20px;\n            margin-bottom: 8px;\n        }\n\n        .fc26-modal .filters-header {\n            padding: 10px 12px;\n        }\n\n        .fc26-modal .filters-header-text {\n            font-size: 0.85rem;\n        }\n\n        .fc26-modal .filters-content.open {\n            max-height: 500px;\n            margin-top: 10px;\n        }\n\n        .fc26-modal .filter-row {\n            grid-template-columns: 1fr 1fr;\n            gap: 6px;\n        }\n\n        .fc26-modal .filter-select {\n            padding: 7px 8px;\n            font-size: 0.7rem;\n            border-radius: 6px;\n        }\n\n        .fc26-modal .player-list {\n            padding: 0 20px 20px;\n        }\n\n        .fc26-modal .player-card {\n            padding: 12px;\n            margin-bottom: 10px;\n        }\n\n        .fc26-modal .player-card-content {\n            grid-template-columns: 70px 1fr;\n            gap: 12px;\n        }\n\n        .fc26-modal .chem-indicator {\n            grid-column: 1 \/ -1;\n            margin-top: 10px;\n        }\n\n        .fc26-modal .player-card-img {\n            width: 55px;\n            height: 55px;\n        }\n\n        .fc26-modal .player-card-name {\n            font-size: 0.95rem;\n        }\n\n        .fc26-modal .player-meta {\n            gap: 6px;\n        }\n\n        .fc26-modal .meta-tag {\n            font-size: 0.7rem;\n            padding: 3px 8px;\n        }\n\n        .fc26-modal .player-stats-mini {\n            grid-template-columns: repeat(3, 1fr);\n            gap: 4px;\n        }\n\n        .fc26-modal .stat-mini {\n            padding: 3px;\n        }\n\n        .fc26-modal .stat-mini-label {\n            font-size: 0.6rem;\n        }\n\n        .fc26-modal .stat-mini-value {\n            font-size: 0.8rem;\n        }\n    }\n\n    @media (max-width: 480px) {\n        .fc26-squad-builder .player-slot {\n            width: 62px;\n            min-width: 62px;\n            height: 105px;\n        }\n\n        .fc26-squad-builder .player-img {\n            width: 38px;\n            height: 38px;\n        }\n\n        .fc26-squad-builder .player-rating {\n            font-size: 1rem;\n        }\n\n        .fc26-squad-builder .player-name {\n            font-size: 0.5rem;\n        }\n\n        .fc26-squad-builder .stat-mini-slot .stat-value {\n            font-size: 0.55rem;\n        }\n\n        .fc26-squad-builder .formation-row {\n            gap: 3px;\n        }\n    }\n<\/style>\n\n<div class=\"fc26-squad-builder\">\n    <div class=\"header\">\n        <h2>EA FC 26 Squad Builder with Icons<\/h2>\n        <div class=\"header-subtitle\">Build the perfect chemistry squad with Icons &#038; regular players<\/div>\n    <\/div>\n\n    <div class=\"stats-container\">\n        <div class=\"stat-card\">\n            <div class=\"stat-value\" id=\"teamChemistry\">0\/33<\/div>\n            <div class=\"stat-label\">Chemistry<\/div>\n        <\/div>\n        <div class=\"stat-card\">\n            <div class=\"stat-value\" id=\"playerCount\">0\/11<\/div>\n            <div class=\"stat-label\">Players<\/div>\n        <\/div>\n        <div class=\"stat-card\">\n            <div class=\"stat-value\" id=\"squadRating\">0<\/div>\n            <div class=\"stat-label\">Avg Rating<\/div>\n        <\/div>\n        <div class=\"stat-card\">\n            <div class=\"stat-value\" id=\"iconCount\">0<\/div>\n            <div class=\"stat-label\">Icons<\/div>\n        <\/div>\n    <\/div>\n\n    <div class=\"controls\">\n        <select class=\"formation-select\" id=\"formationSelect\">\n            <optgroup label=\"3 Back\">\n                <option value=\"3-4-3\">3-4-3<\/option>\n                <option value=\"3-4-3 Diamond\">3-4-3 Diamond<\/option>\n                <option value=\"3-5-2\">3-5-2<\/option>\n                <option value=\"3-4-1-2\">3-4-1-2<\/option>\n                <option value=\"3-4-2-1\">3-4-2-1<\/option>\n                <option value=\"3-1-4-2\">3-1-4-2<\/option>\n            <\/optgroup>\n            <optgroup label=\"4 Back\">\n                <option value=\"4-3-3\" selected>4-3-3<\/option>\n                <option value=\"4-3-3 Attack\">4-3-3 Attack<\/option>\n                <option value=\"4-3-3 Holding\">4-3-3 Holding<\/option>\n                <option value=\"4-3-3 False 9\">4-3-3 False 9<\/option>\n                <option value=\"4-3-3 Wing\">4-3-3 Wing<\/option>\n                <option value=\"4-4-2\">4-4-2<\/option>\n                <option value=\"4-4-2 Flat\">4-4-2 Flat<\/option>\n                <option value=\"4-4-2 Holding\">4-4-2 Holding<\/option>\n                <option value=\"4-4-2 Diamond\">4-4-2 Diamond<\/option>\n                <option value=\"4-4-1-1\">4-4-1-1<\/option>\n                <option value=\"4-2-3-1\">4-2-3-1<\/option>\n                <option value=\"4-2-3-1 Wide\">4-2-3-1 Wide<\/option>\n                <option value=\"4-2-3-1 Narrow\">4-2-3-1 Narrow<\/option>\n                <option value=\"4-1-4-1\">4-1-4-1<\/option>\n                <option value=\"4-1-2-1-2\">4-1-2-1-2<\/option>\n                <option value=\"4-1-2-1-2 Wide\">4-1-2-1-2 Wide<\/option>\n                <option value=\"4-3-1-2\">4-3-1-2<\/option>\n                <option value=\"4-3-2-1\">4-3-2-1<\/option>\n                <option value=\"4-2-2-2\">4-2-2-2<\/option>\n                <option value=\"4-2-4\">4-2-4<\/option>\n                <option value=\"4-5-1\">4-5-1<\/option>\n                <option value=\"4-5-1 Flat\">4-5-1 Flat<\/option>\n            <\/optgroup>\n            <optgroup label=\"5 Back\">\n                <option value=\"5-3-2\">5-3-2<\/option>\n                <option value=\"5-2-3\">5-2-3<\/option>\n                <option value=\"5-4-1\">5-4-1<\/option>\n                <option value=\"5-4-1 Diamond\">5-4-1 Diamond<\/option>\n                <option value=\"5-2-1-2\">5-2-1-2<\/option>\n                <option value=\"5-1-2-2\">5-1-2-2<\/option>\n            <\/optgroup>\n        <\/select>\n        <button class=\"btn btn-primary\" id=\"suggestBtn\">\u26a1 Smart Suggestions<\/button>\n        <button class=\"btn btn-secondary\" id=\"saveBtn\">\ud83d\udcbe Save Squad<\/button>\n        <button class=\"btn\" id=\"exportBtn\">\ud83d\udce4 Export<\/button>\n        <button class=\"btn\" id=\"clearBtn\">\ud83d\uddd1\ufe0f Clear<\/button>\n    <\/div>\n\n    <div class=\"pitch-stats\">\n        <div class=\"pitch-stats-row\">\n            <span class=\"pitch-stats-label\">Chem<\/span>\n            <span class=\"pitch-stats-value\" id=\"pitchChem\">0\/33<\/span>\n        <\/div>\n        <div class=\"pitch-stats-row\">\n            <span class=\"pitch-stats-label\">Avg<\/span>\n            <span class=\"pitch-stats-value\" id=\"pitchRating\">0<\/span>\n        <\/div>\n    <\/div>\n    \n    <div class=\"pitch-container\">\n        <div class=\"formation-grid\" id=\"formationGrid\"><\/div>\n    <\/div>\n<\/div>\n\n<div class=\"fc26-modal\" id=\"playerModal\">\n    <div class=\"modal-content\">\n        <div class=\"modal-header\">\n            <div>\n                <p class=\"modal-title\">Select <span id=\"modalPosition\"><\/span><\/p>\n                <div class=\"modal-subtitle\">Current Chemistry: <span id=\"currentChem\">0\/33<\/span><\/div>\n            <\/div>\n            <button class=\"close-btn\" id=\"closeModal\">\u2715<\/button>\n        <\/div>\n        \n        <div class=\"modal-body\">\n            <input \n                type=\"text\" \n                class=\"search-box\" \n                id=\"playerSearch\" \n                placeholder=\"Search players (e.g., Maradona, Henry, Salah)...\"\n            >\n            \n            <div class=\"toggle-container\">\n                <span class=\"toggle-label\">\u26a1 Best Chemistry Fits<\/span>\n                <div class=\"toggle-switch\" id=\"chemToggle\">\n                    <div class=\"toggle-slider\"><\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"chemistry-panel\" id=\"chemistryPanel\">\n                <div class=\"chemistry-info\">\n                    <div class=\"chemistry-title\">\ud83d\udd25 Chemistry Mode Active<\/div>\n                    <div class=\"chemistry-description\">\n                        Players sorted by chemistry gain. <strong>Icons always get 3 chemistry<\/strong> and boost nationality (+2) &#038; all leagues (+1).\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"filters-accordion\">\n                <div class=\"filters-header\" id=\"filtersToggle\">\n                    <span class=\"filters-header-text\">\ud83d\udd0d Filters<\/span>\n                    <span class=\"filters-arrow\" id=\"filtersArrow\">\u25bc<\/span>\n                <\/div>\n                \n                <div class=\"filters-content\" id=\"filtersContent\">\n                    <div class=\"filter-row\">\n                        <select class=\"filter-select\" id=\"nationFilter\">\n                            <option value=\"\">All Nations<\/option>\n                        <\/select>\n                        <select class=\"filter-select\" id=\"leagueFilter\">\n                            <option value=\"\">All Leagues<\/option>\n                        <\/select>\n                        <select class=\"filter-select\" id=\"cardTypeFilter\">\n                            <option value=\"\">All Card Types<\/option>\n                            <option value=\"icon\">Icons Only<\/option>\n                            <option value=\"regular\">Regular Only<\/option>\n                        <\/select>\n                        <select class=\"filter-select\" id=\"ratingFilter\">\n                            <option value=\"0\">All Ratings<\/option>\n                            <option value=\"80\">80+ OVR<\/option>\n                            <option value=\"85\">85+ OVR<\/option>\n                            <option value=\"90\">90+ OVR<\/option>\n                        <\/select>\n                        <select class=\"filter-select\" id=\"statFilter\">\n                            <option value=\"\">Sort by Rating<\/option>\n                            <option value=\"pac\">Sort by PAC<\/option>\n                            <option value=\"sho\">Sort by SHO<\/option>\n                            <option value=\"pas\">Sort by PAS<\/option>\n                            <option value=\"dri\">Sort by DRI<\/option>\n                            <option value=\"def\">Sort by DEF<\/option>\n                            <option value=\"phy\">Sort by PHY<\/option>\n                        <\/select>\n                    <\/div>\n                <\/div>\n            <\/div>\n            \n            <div class=\"player-list\" id=\"playerList\">\n                <div style=\"text-align: center; padding: 40px; color: #9ca3af;\">\n                    Loading players&#8230;\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/div>\n<\/div>\n\n<script>\n(function() {\n    const formations = {\n        \/\/ 3 Back formations\n        '3-4-3': [['LW', 'ST', 'RW'], ['LM', 'CM', 'CM', 'RM'], ['CB', 'CB', 'CB'], ['GK']],\n        '3-4-3 Diamond': [['ST'], ['LM', 'CAM', 'RM'], ['CM'], ['CB', 'CB', 'CB'], ['GK']],\n        '3-5-2': [['ST', 'ST'], ['LM', 'CM', 'CAM', 'CM', 'RM'], ['CB', 'CB', 'CB'], ['GK']],\n        '3-4-1-2': [['ST', 'ST'], ['CAM'], ['LM', 'CM', 'CM', 'RM'], ['CB', 'CB', 'CB'], ['GK']],\n        '3-4-2-1': [['ST'], ['CAM', 'CAM'], ['LM', 'CM', 'CM', 'RM'], ['CB', 'CB', 'CB'], ['GK']],\n        '3-1-4-2': [['ST', 'ST'], ['LM', 'CM', 'CM', 'RM'], ['CDM'], ['CB', 'CB', 'CB'], ['GK']],\n        \n        \/\/ 4 Back formations\n        '4-3-3': [['LW', 'ST', 'RW'], ['CM', 'CM', 'CM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-3-3 Attack': [['LW', 'ST', 'RW'], ['CM', 'CAM', 'CM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-3-3 Holding': [['LW', 'ST', 'RW'], ['CM', 'CDM', 'CM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-3-3 False 9': [['LW', 'CF', 'RW'], ['CM', 'CM', 'CM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-3-3 Wing': [['LW', 'ST', 'RW'], ['LM', 'CM', 'RM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-4-2': [['ST', 'ST'], ['LM', 'CM', 'CM', 'RM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-4-2 Flat': [['ST', 'ST'], ['LM', 'CM', 'CM', 'RM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-4-2 Holding': [['ST', 'ST'], ['LM', 'CDM', 'CDM', 'RM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-4-1-1': [['ST'], ['CF'], ['LM', 'CM', 'CM', 'RM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-2-3-1': [['ST'], ['LM', 'CAM', 'RM'], ['CDM', 'CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-2-3-1 Wide': [['ST'], ['LW', 'CAM', 'RW'], ['CDM', 'CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-2-3-1 Narrow': [['ST'], ['CAM', 'CAM', 'CAM'], ['CDM', 'CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-1-4-1': [['ST'], ['LM', 'CM', 'CM', 'RM'], ['CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-1-2-1-2': [['ST', 'ST'], ['CAM'], ['CM', 'CM'], ['CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-1-2-1-2 Wide': [['ST', 'ST'], ['CAM'], ['LM', 'RM'], ['CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-3-1-2': [['ST', 'ST'], ['CAM'], ['CM', 'CM', 'CM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-3-2-1': [['ST'], ['LF', 'RF'], ['CM', 'CM', 'CM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-2-2-2': [['ST', 'ST'], ['CAM', 'CAM'], ['CDM', 'CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-2-4': [['LW', 'ST', 'ST', 'RW'], ['CM', 'CM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-5-1': [['ST'], ['LM', 'CM', 'CAM', 'CM', 'RM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-5-1 Flat': [['ST'], ['LM', 'CM', 'CM', 'CM', 'RM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        '4-4-2 Diamond': [['ST', 'ST'], ['CAM'], ['LM', 'RM'], ['CDM'], ['LB', 'CB', 'CB', 'RB'], ['GK']],\n        \n        \/\/ 5 Back formations\n        '5-3-2': [['ST', 'ST'], ['CM', 'CM', 'CM'], ['LWB', 'CB', 'CB', 'CB', 'RWB'], ['GK']],\n        '5-2-3': [['LW', 'ST', 'RW'], ['CM', 'CM'], ['LWB', 'CB', 'CB', 'CB', 'RWB'], ['GK']],\n        '5-4-1': [['ST'], ['LM', 'CM', 'CM', 'RM'], ['LWB', 'CB', 'CB', 'CB', 'RWB'], ['GK']],\n        '5-4-1 Diamond': [['ST'], ['CAM'], ['LM', 'RM'], ['CDM'], ['LWB', 'CB', 'CB', 'CB', 'RWB'], ['GK']],\n        '5-2-1-2': [['ST', 'ST'], ['CAM'], ['CM', 'CM'], ['LWB', 'CB', 'CB', 'CB', 'RWB'], ['GK']],\n        '5-1-2-2': [['ST', 'ST'], ['LM', 'RM'], ['CDM'], ['LWB', 'CB', 'CB', 'CB', 'RWB'], ['GK']]\n    };\n\n    let allPlayers = [];\n    let squad = Array(11).fill(null);\n    let currentFormation = '4-3-3';\n    let currentSlotIndex = -1;\n    let sortByChemistry = false;\n    let chemistryModeActive = false;\n\n    \/\/ Helper to check if player is an Icon\n    function isIcon(player) {\n        return player && (player.league === 'Icons' || player.team === 'EA FC ICONS');\n    }\n\n    \/\/ FC 26 Chemistry calculation with Icon support\n    \/\/ Icons: Always 3 chem, contribute +2 nation, +1 to ALL leagues\n    \/\/ Regular: Club (2\/4\/7 for 1\/2\/3), Nation (2\/5\/8 for 1\/2\/3), League (3\/5\/8 for 1\/2\/3)\n    function calculatePlayerChem(player, tempSquad, playerIndex) {\n        if (!player) return 0;\n\n        \/\/ Icons ALWAYS have 3 chemistry when in correct position\n        if (isIcon(player)) {\n            return 3;\n        }\n\n        const others = tempSquad.filter((p, idx) => p && idx !== playerIndex);\n        if (others.length === 0) return 0;\n\n        let clubCount = 0;\n        let nationCount = 0;\n        let leagueCount = 0;\n\n        \/\/ Count how many Icons are in squad (for league bonus)\n        let iconCount = others.filter(p => isIcon(p)).length;\n\n        others.forEach(p => {\n            if (isIcon(p)) {\n                \/\/ Icons contribute +2 to their nationality\n                if (p.nationality === player.nationality) {\n                    nationCount += 2;\n                }\n                \/\/ Icons contribute +1 to ALL leagues\n                leagueCount += 1;\n            } else {\n                \/\/ Regular players\n                if (p.team === player.team) clubCount++;\n                if (p.nationality === player.nationality) nationCount++;\n                if (p.league === player.league) leagueCount++;\n            }\n        });\n\n        \/\/ Also count the player themselves for thresholds\n        \/\/ Player counts as 1 for their own club\/nation\/league\n        clubCount++;\n        nationCount++;\n        leagueCount++;\n\n        \/\/ Calculate chemistry based on thresholds\n        let clubChem = 0, nationChem = 0, leagueChem = 0;\n\n        \/\/ Club thresholds: 2 for +1, 4 for +2, 7 for +3\n        if (clubCount >= 7) clubChem = 3;\n        else if (clubCount >= 4) clubChem = 2;\n        else if (clubCount >= 2) clubChem = 1;\n\n        \/\/ Nation thresholds: 2 for +1, 5 for +2, 8 for +3\n        if (nationCount >= 8) nationChem = 3;\n        else if (nationCount >= 5) nationChem = 2;\n        else if (nationCount >= 2) nationChem = 1;\n\n        \/\/ League thresholds: 3 for +1, 5 for +2, 8 for +3\n        if (leagueCount >= 8) leagueChem = 3;\n        else if (leagueCount >= 5) leagueChem = 2;\n        else if (leagueCount >= 3) leagueChem = 1;\n\n        \/\/ Player gets the highest of the three\n        return Math.min(Math.max(clubChem, nationChem, leagueChem), 3);\n    }\n\n    function getTotalChem() {\n        return squad.reduce((sum, p, idx) => sum + (p ? calculatePlayerChem(p, squad, idx) : 0), 0);\n    }\n\n    function getAvgRating() {\n        const players = squad.filter(p => p);\n        return players.length > 0 ? Math.round(players.reduce((sum, p) => sum + p.ovr, 0) \/ players.length) : 0;\n    }\n\n    function getAvgStat(stat) {\n        const players = squad.filter(p => p);\n        return players.length > 0 ? Math.round(players.reduce((sum, p) => sum + (p[stat] || 0), 0) \/ players.length) : 0;\n    }\n\n    function getIconCount() {\n        return squad.filter(p => isIcon(p)).length;\n    }\n\n    function renderFormation() {\n        const grid = document.getElementById('formationGrid');\n        const rows = formations[currentFormation];\n        grid.innerHTML = '';\n\n        let slotIndex = 0;\n        rows.forEach(row => {\n            const rowDiv = document.createElement('div');\n            rowDiv.className = 'formation-row';\n\n            row.forEach(position => {\n                const idx = slotIndex++;\n                const player = squad[idx];\n                const slot = document.createElement('div');\n                const playerIsIcon = isIcon(player);\n                slot.className = player ? `player-slot filled${playerIsIcon ? ' is-icon' : ''}` : 'player-slot empty';\n                \n                if (player) {\n                    const chem = calculatePlayerChem(player, squad, idx);\n                    const chemColor = chem >= 3 ? '#10b981' : chem >= 2 ? '#f59e0b' : chem >= 1 ? '#f97316' : '#6b7280';\n                    \n                    if (playerIsIcon) {\n                        \/\/ Clean Icon card - just image, name, rating, position, chem\n                        slot.innerHTML = `\n                            <div class=\"position-badge\">${position}<\/div>\n                            <div class=\"player-rating\">${player.ovr}<\/div>\n                            ${player.player_image ? `<img decoding=\"async\" src=\"${player.player_image}\" alt=\"${player.player_name}\" class=\"player-img\" rel=\"nofollow\">` : ''}\n                            <div class=\"player-name\">${player.player_name}<\/div>\n                            <div class=\"player-chem\">\u26a1${chem}<\/div>\n                        `;\n                    } else {\n                        \/\/ Regular player card with stats\n                        let topStats = [];\n                        if (['ST', 'CF', 'LW', 'RW', 'LF', 'RF'].includes(position)) {\n                            topStats = [\n                                { label: 'PAC', value: player.pac },\n                                { label: 'SHO', value: player.sho },\n                                { label: 'DRI', value: player.dri }\n                            ];\n                        } else if (['CM', 'CAM', 'CDM'].includes(position)) {\n                            topStats = [\n                                { label: 'PAS', value: player.pas },\n                                { label: 'DRI', value: player.dri },\n                                { label: 'DEF', value: player.def }\n                            ];\n                        } else if (['CB', 'LB', 'RB', 'LWB', 'RWB'].includes(position)) {\n                            topStats = [\n                                { label: 'DEF', value: player.def },\n                                { label: 'PHY', value: player.phy },\n                                { label: 'PAC', value: player.pac }\n                            ];\n                        } else if (position === 'GK') {\n                            topStats = [\n                                { label: 'DIV', value: player.div || player.def || 0 },\n                                { label: 'REF', value: player.ref || player.pas || 0 },\n                                { label: 'POS', value: player.pos || player.phy || 0 }\n                            ];\n                        } else {\n                            topStats = [\n                                { label: 'PAC', value: player.pac },\n                                { label: 'PAS', value: player.pas },\n                                { label: 'DRI', value: player.dri }\n                            ];\n                        }\n                        \n                        slot.innerHTML = `\n                            <div class=\"position-badge\">${position}<\/div>\n                            <div class=\"player-rating\">${player.ovr}<\/div>\n                            ${player.player_image ? `<img decoding=\"async\" src=\"${player.player_image}\" alt=\"${player.player_name}\" class=\"player-img\" rel=\"nofollow\">` : ''}\n                            <div class=\"player-name\">${player.player_name}<\/div>\n                            <div class=\"player-stats-row\">\n                                ${topStats.map(s => `\n                                    <div class=\"stat-mini-slot\">\n                                        <div class=\"stat-value\">${s.value || 0}<\/div>\n                                        <div class=\"stat-label\">${s.label}<\/div>\n                                    <\/div>\n                                `).join('')}\n                            <\/div>\n                            ${player.team_image ? `<img decoding=\"async\" src=\"${player.team_image}\" alt=\"${player.team}\" class=\"player-team-badge\" rel=\"nofollow\">` : ''}\n                            <div class=\"player-chem\" style=\"color: ${chemColor};\">\u26a1${chem}<\/div>\n                        `;\n                    }\n                } else {\n                    slot.innerHTML = `\n                        <div class=\"position-badge\">${position}<\/div>\n                        <div class=\"empty-slot-content\">\n                            <div class=\"empty-icon\">+<\/div>\n                        <\/div>\n                    `;\n                }\n\n                slot.onclick = () => openModal(idx, position);\n                rowDiv.appendChild(slot);\n            });\n\n            grid.appendChild(rowDiv);\n        });\n\n        updateStats();\n    }\n\n    function updateStats() {\n        const count = squad.filter(p => p).length;\n        const chem = getTotalChem();\n        const avgRating = getAvgRating();\n        const icons = getIconCount();\n\n        document.getElementById('teamChemistry').textContent = `${chem}\/33`;\n        document.getElementById('pitchChem').textContent = `${chem}\/33`;\n        document.getElementById('playerCount').textContent = `${count}\/11`;\n        document.getElementById('squadRating').textContent = avgRating;\n        document.getElementById('pitchRating').textContent = avgRating;\n        document.getElementById('iconCount').textContent = icons;\n    }\n\n    function openModal(slotIndex, position) {\n        currentSlotIndex = slotIndex;\n        document.getElementById('modalPosition').textContent = position;\n        document.getElementById('currentChem').textContent = `${getTotalChem()}\/33`;\n        document.getElementById('playerModal').classList.add('active');\n        \n        if (allPlayers.length === 0) {\n            \/\/ Load merged players JSON (regular + icons)\n            fetch('https:\/\/raw.githubusercontent.com\/maybek33\/fc-26-db\/main\/squad_players_with_icons.json')\n                .then(r => r.json())\n                .then(players => {\n                    allPlayers = players.map((p, idx) => ({\n                        rank: p.rank || idx + 1,\n                        player_name: p.player_name || 'Unknown',\n                        player_image: p.player_image || '',\n                        nationality: p.nationality || 'Unknown',\n                        nationality_image: p.nationality_image || '',\n                        team: p.team || 'Free Agent',\n                        team_image: p.team_image || '',\n                        league: p.league || 'Unknown',\n                        position: p.position || 'ST',\n                        ovr: p.ovr || 0,\n                        pac: p.pac || 0,\n                        sho: p.sho || 0,\n                        pas: p.pas || 0,\n                        dri: p.dri || 0,\n                        def: p.def || 0,\n                        phy: p.phy || 0\n                    }));\n                    populateFilters();\n                    filterPlayers(position);\n                })\n                .catch(err => {\n                    console.error('Error loading players:', err);\n                    document.getElementById('playerList').innerHTML = '<div style=\"text-align: center; padding: 40px; color: #ef4444;\">Error loading players. Please refresh.<\/div>';\n                });\n        } else {\n            filterPlayers(position);\n        }\n    }\n\n    function closeModal() {\n        document.getElementById('playerModal').classList.remove('active');\n        \n        \/\/ Reset chemistry mode when closing\n        chemistryModeActive = false;\n        sortByChemistry = false;\n        const toggle = document.getElementById('chemToggle');\n        const panel = document.getElementById('chemistryPanel');\n        toggle.classList.remove('active');\n        panel.classList.remove('active');\n    }\n\n    function populateFilters() {\n        const nations = [...new Set(allPlayers.map(p => p.nationality))].sort();\n        const leagues = [...new Set(allPlayers.map(p => p.league))].sort();\n\n        const nationFilter = document.getElementById('nationFilter');\n        nationFilter.innerHTML = '<option value=\"\">All Nations<\/option>' +\n            nations.map(n => `<option value=\"${n}\">${n}<\/option>`).join('');\n\n        const leagueFilter = document.getElementById('leagueFilter');\n        leagueFilter.innerHTML = '<option value=\"\">All Leagues<\/option>' +\n            leagues.map(l => `<option value=\"${l}\">${l}<\/option>`).join('');\n    }\n\n    function filterPlayers(position) {\n        const search = document.getElementById('playerSearch').value.toLowerCase();\n        const nation = document.getElementById('nationFilter').value;\n        const league = document.getElementById('leagueFilter').value;\n        const cardType = document.getElementById('cardTypeFilter').value;\n        const minRating = parseInt(document.getElementById('ratingFilter').value) || 0;\n        const statSort = document.getElementById('statFilter').value;\n\n        let filtered = allPlayers.filter(p => {\n            const matchesPos = p.position === position || \n                (position === 'ST' && ['CF', 'LW', 'RW', 'LF', 'RF'].includes(p.position)) ||\n                (position === 'CF' && ['ST', 'LW', 'RW', 'CAM', 'LF', 'RF'].includes(p.position)) ||\n                (position === 'LF' && ['LW', 'ST', 'CF', 'LM'].includes(p.position)) ||\n                (position === 'RF' && ['RW', 'ST', 'CF', 'RM'].includes(p.position)) ||\n                (position === 'CM' && ['CAM', 'CDM'].includes(p.position)) ||\n                (position === 'CAM' && ['CM', 'CDM', 'CF'].includes(p.position)) ||\n                (position === 'CDM' && ['CM'].includes(p.position)) ||\n                (position === 'LW' && ['LM', 'ST', 'CF', 'LF'].includes(p.position)) ||\n                (position === 'RW' && ['RM', 'ST', 'CF', 'RF'].includes(p.position)) ||\n                (position === 'LM' && ['LW', 'LF'].includes(p.position)) ||\n                (position === 'RM' && ['RW', 'RF'].includes(p.position)) ||\n                (position === 'LB' && ['LWB'].includes(p.position)) ||\n                (position === 'RB' && ['RWB'].includes(p.position)) ||\n                (position === 'LWB' && ['LB', 'LM'].includes(p.position)) ||\n                (position === 'RWB' && ['RB', 'RM'].includes(p.position));\n\n            const matchesSearch = !search || p.player_name.toLowerCase().includes(search) ||\n                p.team.toLowerCase().includes(search) || p.nationality.toLowerCase().includes(search);\n\n            const matchesNation = !nation || p.nationality === nation;\n            const matchesLeague = !league || p.league === league;\n            const matchesRating = p.ovr >= minRating;\n            \n            const playerIsIcon = isIcon(p);\n            const matchesCardType = !cardType || \n                (cardType === 'icon' && playerIsIcon) || \n                (cardType === 'regular' && !playerIsIcon);\n\n            const notUsed = !squad.some(sp => sp && sp.rank === p.rank);\n\n            return matchesPos && matchesSearch && matchesNation && matchesLeague && matchesRating && matchesCardType && notUsed;\n        });\n\n        const currentChem = getTotalChem();\n        filtered = filtered.map(p => {\n            const tempSquad = [...squad];\n            tempSquad[currentSlotIndex] = p;\n            const newChem = tempSquad.reduce((sum, pl, idx) => sum + (pl ? calculatePlayerChem(pl, tempSquad, idx) : 0), 0);\n            return { ...p, chemDiff: newChem - currentChem, newChem };\n        });\n\n        if (sortByChemistry) {\n            filtered.sort((a, b) => b.chemDiff - a.chemDiff || b.ovr - a.ovr);\n        } else if (statSort) {\n            filtered.sort((a, b) => (b[statSort] || 0) - (a[statSort] || 0) || b.ovr - a.ovr);\n        } else {\n            filtered.sort((a, b) => b.ovr - a.ovr);\n        }\n\n        displayPlayers(filtered.slice(0, 100));\n    }\n\n    function displayPlayers(players) {\n        const list = document.getElementById('playerList');\n        if (players.length === 0) {\n            list.innerHTML = '<div style=\"text-align: center; padding: 40px; color: #9ca3af;\">No players found<\/div>';\n            return;\n        }\n\n        list.innerHTML = players.map((p, i) => {\n            const playerIsIcon = isIcon(p);\n            let chemClass, chemIcon;\n            \n            if (playerIsIcon) {\n                chemClass = 'icon-full';\n                chemIcon = '\u2605';\n            } else {\n                chemClass = p.chemDiff > 0 ? 'positive' : p.chemDiff < 0 ? 'negative' : 'neutral';\n                chemIcon = p.chemDiff > 0 ? '\u2191' : p.chemDiff < 0 ? '\u2193' : '\u2014';\n            }\n\n            return `\n                <div class=\"player-card${playerIsIcon ? ' is-icon' : ''}\" data-idx=\"${i}\">\n                    <div class=\"player-card-content\">\n                        <div class=\"player-visual\">\n                            ${p.player_image ? `<img decoding=\"async\" src=\"${p.player_image}\" alt=\"${p.player_name}\" class=\"player-card-img\" rel=\"nofollow\">` : `<div class=\"player-rating-number\">${p.ovr}<\/div>`}\n                            <div class=\"player-badges\">\n                                ${p.nationality_image ? `<img decoding=\"async\" src=\"${p.nationality_image}\" alt=\"${p.nationality}\" class=\"nation-badge\" rel=\"nofollow\">` : ''}\n                                ${p.team_image ? `<img decoding=\"async\" src=\"${p.team_image}\" alt=\"${p.team}\" class=\"team-badge-small\" rel=\"nofollow\">` : ''}\n                            <\/div>\n                        <\/div>\n                        <div class=\"player-info\">\n                            <div class=\"player-card-name\">${p.player_name}<\/div>\n                            <div class=\"player-meta\">\n                                <span class=\"meta-tag\">${p.ovr} OVR<\/span>\n                                <span class=\"meta-tag\">${p.position}<\/span>\n                                ${playerIsIcon ? '<span class=\"meta-tag icon-tag\">\u2b50 ICON<\/span>' : ''}\n                                <span class=\"meta-tag\">${p.nationality}<\/span>\n                                ${!playerIsIcon ? `<span class=\"meta-tag\">${p.league}<\/span>` : ''}\n                            <\/div>\n                            <div class=\"player-stats-mini\">\n                                <div class=\"stat-mini\">\n                                    <div class=\"stat-mini-label\">PAC<\/div>\n                                    <div class=\"stat-mini-value\">${p.pac || '-'}<\/div>\n                                <\/div>\n                                <div class=\"stat-mini\">\n                                    <div class=\"stat-mini-label\">SHO<\/div>\n                                    <div class=\"stat-mini-value\">${p.sho || '-'}<\/div>\n                                <\/div>\n                                <div class=\"stat-mini\">\n                                    <div class=\"stat-mini-label\">PAS<\/div>\n                                    <div class=\"stat-mini-value\">${p.pas || '-'}<\/div>\n                                <\/div>\n                                <div class=\"stat-mini\">\n                                    <div class=\"stat-mini-label\">DRI<\/div>\n                                    <div class=\"stat-mini-value\">${p.dri || '-'}<\/div>\n                                <\/div>\n                                <div class=\"stat-mini\">\n                                    <div class=\"stat-mini-label\">DEF<\/div>\n                                    <div class=\"stat-mini-value\">${p.def || '-'}<\/div>\n                                <\/div>\n                                <div class=\"stat-mini\">\n                                    <div class=\"stat-mini-label\">PHY<\/div>\n                                    <div class=\"stat-mini-value\">${p.phy || '-'}<\/div>\n                                <\/div>\n                            <\/div>\n                        <\/div>\n                        <div class=\"chem-indicator ${chemClass}\">\n                            ${playerIsIcon ? `\n                                <div class=\"chem-change\">${chemIcon} 3<\/div>\n                                <div class=\"chem-total\">${p.newChem}\/33<\/div>\n                                <div class=\"icon-chem-note\">+2 Nation, +1 All Leagues<\/div>\n                            ` : `\n                                <div class=\"chem-change\">${chemIcon} ${p.chemDiff > 0 ? '+' : ''}${p.chemDiff}<\/div>\n                                <div class=\"chem-total\">${p.newChem}\/33<\/div>\n                            `}\n                        <\/div>\n                    <\/div>\n                <\/div>\n            `;\n        }).join('');\n\n        players.forEach((p, i) => {\n            list.querySelector(`[data-idx=\"${i}\"]`).onclick = () => {\n                squad[currentSlotIndex] = p;\n                closeModal();\n                renderFormation();\n            };\n        });\n    }\n\n    function suggestBestPlayers() {\n        if (allPlayers.length === 0) {\n            alert('Loading players... Please wait.');\n            return;\n        }\n\n        const emptySlots = [];\n        const formationPositions = formations[currentFormation].flat();\n        \n        squad.forEach((player, idx) => {\n            if (!player) emptySlots.push({ index: idx, position: formationPositions[idx] });\n        });\n\n        if (emptySlots.length === 0) {\n            alert('Squad complete!');\n            return;\n        }\n\n        if (squad.filter(p => p).length === 0) {\n            alert('Add at least one player first to get chemistry-based suggestions.');\n            return;\n        }\n\n        const firstEmpty = emptySlots[0];\n        const currentChem = getTotalChem();\n\n        let candidates = allPlayers.filter(p => {\n            const matchesPos = p.position === firstEmpty.position || \n                (firstEmpty.position === 'ST' && ['CF', 'LW', 'RW', 'LF', 'RF'].includes(p.position)) ||\n                (firstEmpty.position === 'CF' && ['ST', 'LW', 'RW', 'CAM', 'LF', 'RF'].includes(p.position)) ||\n                (firstEmpty.position === 'LF' && ['LW', 'ST', 'CF', 'LM'].includes(p.position)) ||\n                (firstEmpty.position === 'RF' && ['RW', 'ST', 'CF', 'RM'].includes(p.position)) ||\n                (firstEmpty.position === 'CM' && ['CAM', 'CDM'].includes(p.position)) ||\n                (firstEmpty.position === 'CAM' && ['CM', 'CDM', 'CF'].includes(p.position)) ||\n                (firstEmpty.position === 'CDM' && ['CM'].includes(p.position)) ||\n                (firstEmpty.position === 'LW' && ['LM', 'ST', 'CF', 'LF'].includes(p.position)) ||\n                (firstEmpty.position === 'RW' && ['RM', 'ST', 'CF', 'RF'].includes(p.position)) ||\n                (firstEmpty.position === 'LM' && ['LW', 'LF'].includes(p.position)) ||\n                (firstEmpty.position === 'RM' && ['RW', 'RF'].includes(p.position)) ||\n                (firstEmpty.position === 'LB' && ['LWB'].includes(p.position)) ||\n                (firstEmpty.position === 'RB' && ['RWB'].includes(p.position)) ||\n                (firstEmpty.position === 'LWB' && ['LB', 'LM'].includes(p.position)) ||\n                (firstEmpty.position === 'RWB' && ['RB', 'RM'].includes(p.position));\n\n            const notUsed = !squad.some(sp => sp && sp.rank === p.rank);\n            return matchesPos && notUsed && p.ovr >= 80;\n        });\n\n        candidates = candidates.map(p => {\n            const tempSquad = [...squad];\n            tempSquad[firstEmpty.index] = p;\n            const newChem = tempSquad.reduce((sum, pl, idx) => sum + (pl ? calculatePlayerChem(pl, tempSquad, idx) : 0), 0);\n            return { ...p, chemDiff: newChem - currentChem, newChem };\n        });\n\n        candidates.sort((a, b) => b.chemDiff - a.chemDiff || b.ovr - a.ovr);\n\n        if (candidates.length === 0) {\n            alert('No suitable players found for ' + firstEmpty.position);\n            return;\n        }\n\n        const top5 = candidates.slice(0, 5);\n        let message = `TOP 5 FOR ${firstEmpty.position}:\\n\\n`;\n        top5.forEach((p, i) => {\n            const iconLabel = isIcon(p) ? ' [ICON]' : '';\n            message += `${i + 1}. ${p.player_name}${iconLabel} (${p.ovr}) - ${p.chemDiff > 0 ? '+' : ''}${p.chemDiff} chem (${p.newChem}\/33)\\n`;\n        });\n\n        if (confirm(message + '\\nAdd #1?')) {\n            squad[firstEmpty.index] = top5[0];\n            renderFormation();\n        }\n    }\n\n    function saveSquad() {\n        const squadData = {\n            formation: currentFormation,\n            players: squad,\n            chemistry: getTotalChem(),\n            rating: getAvgRating()\n        };\n        localStorage.setItem('fc26_squad_icons', JSON.stringify(squadData));\n        alert('Squad saved to browser!');\n    }\n\n    function loadSquad() {\n        const saved = localStorage.getItem('fc26_squad_icons');\n        if (saved) {\n            const data = JSON.parse(saved);\n            currentFormation = data.formation;\n            squad = data.players;\n            document.getElementById('formationSelect').value = currentFormation;\n            renderFormation();\n        }\n    }\n\n    function exportSquad() {\n        const squadData = {\n            formation: currentFormation,\n            players: squad.map(p => p ? {\n                name: p.player_name,\n                rating: p.ovr,\n                position: p.position,\n                nationality: p.nationality,\n                team: p.team,\n                league: p.league,\n                isIcon: isIcon(p)\n            } : null),\n            chemistry: getTotalChem(),\n            avgRating: getAvgRating(),\n            iconCount: getIconCount()\n        };\n\n        const text = `EA FC 26 Squad (${currentFormation})\\nChemistry: ${squadData.chemistry}\/33 | Rating: ${squadData.avgRating} | Icons: ${squadData.iconCount}\\n\\n` +\n            squad.map((p, i) => {\n                const pos = formations[currentFormation].flat()[i];\n                if (p) {\n                    const iconLabel = isIcon(p) ? ' [ICON]' : '';\n                    return `${pos}: ${p.player_name}${iconLabel} (${p.ovr})`;\n                }\n                return `${pos}: Empty`;\n            }).join('\\n');\n\n        navigator.clipboard.writeText(text).then(() => {\n            alert('Squad copied to clipboard!');\n        }).catch(() => {\n            alert('Export data:\\n\\n' + text);\n        });\n    }\n\n    document.getElementById('formationSelect').onchange = (e) => {\n        currentFormation = e.target.value;\n        squad = Array(11).fill(null);\n        renderFormation();\n    };\n\n    document.getElementById('suggestBtn').onclick = suggestBestPlayers;\n    document.getElementById('saveBtn').onclick = saveSquad;\n    document.getElementById('exportBtn').onclick = exportSquad;\n    document.getElementById('clearBtn').onclick = () => {\n        if (confirm('Clear squad?')) {\n            squad = Array(11).fill(null);\n            renderFormation();\n        }\n    };\n\n    document.getElementById('closeModal').onclick = closeModal;\n    \n    document.getElementById('filtersToggle').onclick = () => {\n        const content = document.getElementById('filtersContent');\n        const arrow = document.getElementById('filtersArrow');\n        content.classList.toggle('open');\n        arrow.classList.toggle('open');\n    };\n    \n    document.getElementById('chemToggle').onclick = () => {\n        chemistryModeActive = !chemistryModeActive;\n        const toggle = document.getElementById('chemToggle');\n        const panel = document.getElementById('chemistryPanel');\n        \n        if (chemistryModeActive) {\n            toggle.classList.add('active');\n            panel.classList.add('active');\n            sortByChemistry = true;\n            document.getElementById('ratingFilter').value = '80';\n            document.getElementById('nationFilter').value = '';\n            document.getElementById('leagueFilter').value = '';\n            document.getElementById('cardTypeFilter').value = '';\n            document.getElementById('playerSearch').value = '';\n            document.getElementById('statFilter').value = '';\n        } else {\n            toggle.classList.remove('active');\n            panel.classList.remove('active');\n            sortByChemistry = false;\n            document.getElementById('ratingFilter').value = '0';\n        }\n        \n        filterPlayers(formations[currentFormation].flat()[currentSlotIndex]);\n    };\n    \n    document.getElementById('playerSearch').oninput = () => filterPlayers(formations[currentFormation].flat()[currentSlotIndex]);\n    document.getElementById('nationFilter').onchange = () => filterPlayers(formations[currentFormation].flat()[currentSlotIndex]);\n    document.getElementById('leagueFilter').onchange = () => filterPlayers(formations[currentFormation].flat()[currentSlotIndex]);\n    document.getElementById('cardTypeFilter').onchange = () => filterPlayers(formations[currentFormation].flat()[currentSlotIndex]);\n    document.getElementById('ratingFilter').onchange = () => filterPlayers(formations[currentFormation].flat()[currentSlotIndex]);\n    document.getElementById('statFilter').onchange = () => {\n        sortByChemistry = false;\n        if (chemistryModeActive) {\n            chemistryModeActive = false;\n            const toggle = document.getElementById('chemToggle');\n            const panel = document.getElementById('chemistryPanel');\n            toggle.classList.remove('active');\n            panel.classList.remove('active');\n        }\n        filterPlayers(formations[currentFormation].flat()[currentSlotIndex]);\n    };\n\n    loadSquad();\n    renderFormation();\n})();\n<\/script>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-the-only-fc-26-squad-builder-you-need-for-your-ultimate-team\">The Only FC 26 Squad Builder You Need for Your Ultimate Team<\/h2>\n\n\n\n<p>As we head into the 2026 season, the ultimate challenge remains: <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-ultimate-edition-benefits-bonuses-is-it-worth-it\">building the best possible squad in FC 26 Ultimate Team<\/a>. To stay ahead of the competition, a squad builder is an essential tool for planning your team&#8217;s chemistry, budget, and tactics before you spend a single coin. This page features a powerful, free, and easy-to-use <strong>FC 26 Squad Builder<\/strong> to help you craft your dream team right away. For newcomers, &#8220;FC&#8221; refers to EA SPORTS FC, the official title of the game, and &#8220;UT&#8221; is the common abbreviation for the wildly popular Ultimate Team mode.<\/p>\n\n\n\n<div style=\"background-color: #f9f9f9; padding: 20px; border-radius: 8px; margin-bottom: 20px;\">\n<h3 style=\"margin-top: 0;\">Summary<\/h3>\n<p>This guide introduces you to the ultimate on-page tool for creating your FC 26 Ultimate Team squads. We define what a squad builder is, provide a step-by-step guide on how to use our free, AI-powered tool, and highlight its key features like instant suggestions and budget management. We also explore community-driven strategies from platforms like Reddit and compare our tool to others like Futbin, positioning ours as the most convenient solution for squad planning and creation.<\/p>\n<\/div>\n\n\n\n<div style=\"background-color: #fff3cd; border-left: 4px solid #ffc107; padding: 20px; margin-bottom: 20px;\">\n<h3 style=\"margin-top: 0; color: #856404;\">TLDR<\/h3>\n<ul>\n<li>This page has a <strong>free, browser-based FC 26 Squad Builder<\/strong>. No download needed.<\/li>\n<li>Use our tool to plan formations, add players, check chemistry, and manage your coin budget instantly.<\/li>\n<li>Our AI provides smart player suggestions to help you build better teams faster.<\/li>\n<li>It&#8217;s the perfect place to build squads you see on Reddit or plan before buying players.<\/li>\n<li>All player data is up-to-date with the latest FC 26 Ultimate Team database.<\/li>\n<\/ul>\n<\/div>\n\n\n\n<div style=\"background: linear-gradient(135deg, #07F288 0%, #7BF8BE 100%); color: #0a3d2e; padding: 25px; border-radius: 12px; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1); margin-bottom: 30px;\">\n<h3 style=\"margin-top: 0; font-weight: bold;\">\ud83d\udcd1 Table of Contents<\/h3>\n<ul style=\"list-style-type: none; padding-left: 0;\">\n<li><a style=\"color: #0a3d2e; text-decoration: none; font-weight: bold;\" href=\"#what-is-an-fc-26-squad-builder\">What is an FC 26 Squad Builder?<\/a><\/li>\n<li><a style=\"color: #0a3d2e; text-decoration: none; font-weight: bold;\" href=\"#how-to-use-our-squad-builder\">How to Use Our Free FC 26 Squad Builder [Step-by-Step]<\/a><\/li>\n<li style=\"padding-left: 20px;\"><a style=\"color: #0a3d2e; text-decoration: none;\" href=\"#step-1-choose-formation\">Step 1: Choose Your Formation<\/a><\/li>\n<li style=\"padding-left: 20px;\"><a style=\"color: #0a3d2e; text-decoration: none;\" href=\"#step-2-add-players\">Step 2: Add Players to the Squad<\/a><\/li>\n<li style=\"padding-left: 20px;\"><a style=\"color: #0a3d2e; text-decoration: none;\" href=\"#step-3-optimize-chemistry\">Step 3: Optimize for Maximum Chemistry<\/a><\/li>\n<li style=\"padding-left: 20px;\"><a style=\"color: #0a3d2e; text-decoration: none;\" href=\"#step-4-manage-budget\">Step 4: Manage Your Squad Budget<\/a><\/li>\n<li><a style=\"color: #0a3d2e; text-decoration: none; font-weight: bold;\" href=\"#key-features-of-ai-builder\">Key Features of Our AI-Powered Squad Builder<\/a><\/li>\n<li><a style=\"color: #0a3d2e; text-decoration: none; font-weight: bold;\" href=\"#squad-building-strategies\">Squad Building Strategies and Community Insights<\/a><\/li>\n<li style=\"padding-left: 20px;\"><a style=\"color: #0a3d2e; text-decoration: none;\" href=\"#reddit-squads\">What are Reddit&#8217;s Favorite Squads?<\/a><\/li>\n<li style=\"padding-left: 20px;\"><a style=\"color: #0a3d2e; text-decoration: none;\" href=\"#understanding-tools\">Understanding Different Tools (Futbin, Futmind, etc.)<\/a><\/li>\n<li><a style=\"color: #0a3d2e; text-decoration: none; font-weight: bold;\" href=\"#faq\">Frequently Asked Questions (FAQ)<\/a><\/li>\n<\/ul>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-an-fc-26-squad-builder\">What is an FC 26 Squad Builder?<\/h2>\n\n\n\n<p>An FC 26 Squad Builder is an online tool that allows players to create, plan, and visualize potential Ultimate Team squads without needing to own the players in-game. This powerful utility is essential for theory-crafting the most effective teams. Using an FC 26 squad builder lets you test different player combinations and formations to see how they impact your team&#8217;s overall performance and chemistry before committing your valuable coins.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Plan &amp; Visualize:<\/strong> Its primary purpose is to let you assemble any possible squad using a complete database of FC 26 players. You can see your team on the screen before building it in the game.<\/li>\n\n\n\n<li><strong>Key Functionalities:<\/strong> A good builder automatically calculates player and team chemistry, shows you the overall squad rating, and provides an estimated market cost for the entire team.<\/li>\n\n\n\n<li><strong>For All Players:<\/strong> It is an invaluable resource for both new players learning the intricacies of chemistry and <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/ie\/fc-25\">veteran players<\/a> aiming to craft the next meta-defining or uniquely themed squad.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-to-use-our-squad-builder\">How to Use Our Free FC 26 Squad Builder [Step-by-Step]<\/h2>\n\n\n\n<p>Our squad builder is designed to be intuitive and powerful. Follow these simple steps to start creating your perfect FC 26 team in minutes. Below is a practical guide to get the most out of the tool embedded right here on this page.<\/p>\n\n\n\n<div style=\"background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin-bottom: 20px; border-radius: 4px;\">\n<h3 id=\"step-1-choose-formation\">Step 1: Choose Your Formation<\/h3>\n<p>The foundation of any great squad is its formation. This determines your team&#8217;s shape both in and out of possession. In our tool, you&#8217;ll find a dropdown menu or a visual selector with all the available formations in FC 26. Select the one that best suits your playstyle, whether it&#8217;s a balanced 4-4-2, a dominant 4-3-3, or a defensive 5-2-1-2.<\/p>\n<\/div>\n\n\n\n<div style=\"background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin-bottom: 20px; border-radius: 4px;\">\n<h3 id=\"step-2-add-players\">Step 2: Add Players to the Squad<\/h3>\n<p>Once your formation is set, click on any empty position to start adding players. Our tool features a comprehensive and constantly updated database. You can use the search bar to find players by name, or use filters to narrow down your options by club, nation, league, or even specific promo. Select a player, and they will instantly slot into the chosen position.<\/p>\n<\/div>\n\n\n\n<div style=\"background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin-bottom: 20px; border-radius: 4px;\">\n<h3 id=\"step-3-optimize-chemistry\">Step 3: Optimize for Maximum Chemistry<\/h3>\n<p>This is where the magic happens. As you add players, the tool automatically calculates and displays both individual player chemistry and your overall team chemistry score (up to 33). This is a major pain point for many players, and our tool simplifies it completely. You can see in real-time how swapping one player affects the links to others, allowing you to easily experiment and achieve maximum chemistry for peak in-game performance.<\/p>\n<\/div>\n\n\n\n<div style=\"background-color: #e3f2fd; border-left: 4px solid #2196f3; padding: 15px; margin-bottom: 20px; border-radius: 4px;\">\n<h3 id=\"step-4-manage-budget\">Step 4: Manage Your Squad Budget<\/h3>\n<p>Building a great team is also about managing your resources. Our squad builder provides a live-updated estimated cost for your entire squad based on current market values. This feature is crucial for helping you create a competitive team that is realistically within your coin budget, preventing you from overspending on one player at the expense of the rest of your lineup.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"key-features-of-ai-builder\">Key Features of Our AI-Powered Squad Builder<\/h2>\n\n\n\n<p>Our tool goes beyond the basics to give you a competitive edge. We&#8217;ve integrated smart features that make squad building faster, easier, and more effective. Here are the unique selling points that make our builder the best choice for any FC 26 player.<\/p>\n\n\n\n<div style=\"display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between;\">\n<div style=\"flex: 1; min-width: 300px; background-color: #fce4ec; border: 1px solid #f8bbd0; padding: 20px; border-radius: 8px;\">\n<h3 id=\"instant-ai-suggestions\" style=\"margin-top: 0;\">\ud83e\udde0 Instant AI Suggestions<\/h3>\n<p>Stuck on who to put in that final CDM spot? Our <strong>fc 26 squad builder ai<\/strong> can help. It analyzes your existing squad and suggests players that will provide perfect chemistry links or fill a tactical need. This makes squad building smarter and helps you discover player combinations you might have missed.<\/p>\n<\/div>\n<div style=\"flex: 1; min-width: 300px; background-color: #e8f5e9; border: 1px solid #c8e6c9; padding: 20px; border-radius: 8px;\">\n<h3 id=\"free-and-no-download\" style=\"margin-top: 0;\">\u2705 Free and No Download Required<\/h3>\n<p>Addressing the popular search for an <strong>fc 26 squad builder free<\/strong>, our tool is 100% free to use. Better yet, it&#8217;s entirely browser-based, meaning there is no <strong>fc 26 squad builder download<\/strong> required. You get instant access on any device without installations, offering a massive advantage in convenience.<\/p>\n<\/div>\n<div style=\"flex: 1; min-width: 300px; background-color: #e1f5fe; border: 1px solid #b3e5fc; padding: 20px; border-radius: 8px;\">\n<h3 id=\"full-database-integration\" style=\"margin-top: 0;\">\ud83d\udd04 Full Integration with the Latest FC 26 Database<\/h3>\n<p>Your plans are only as good as your data. We ensure our tool&#8217;s database is constantly synced with the official FC 26 game. This includes all new player items from promos, Team of the Week (TOTW), special cards, and any stat or position changes, so you can build with confidence.<\/p>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"squad-building-strategies\">Squad Building Strategies and Community Insights<\/h2>\n\n\n\n<p>A great tool is even better when combined with great ideas. The FC community is a massive source of inspiration, and our squad builder is the perfect canvas to bring those ideas to life.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"reddit-squads\">What are Reddit&#8217;s Favorite Squads?<\/h3>\n\n\n\n<p>Players searching for &#8220;<strong>fc 26 squad builder reddit<\/strong>&#8221; are looking for inspiration from one of the game&#8217;s most active communities. On subreddits like r\/EASportsFC, users share everything from &#8220;meta&#8221; teams built for pure competition, to budget-beast squads that outperform their price tags, and creative hybrid teams that link players from obscure leagues. Our tool is the perfect platform to build and experiment with these <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/ie\/community-wishes-ea-fc-26\">community-inspired ideas<\/a>. See a squad you like on Reddit? Recreate it here in seconds to see its stats, chemistry, and cost before you build it in-game.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"understanding-tools\">Understanding Different Tools (Futbin, Futmind, etc.)<\/h3>\n\n\n\n<p>You may have heard of other platforms like <strong>Futbin<\/strong>, <strong>Futmind<\/strong>, <strong>Radar FC<\/strong>, or <strong>Fut Scoreboard<\/strong>. These sites are excellent resources, often focusing heavily on live market data, player price indexing, and in-depth statistics. They serve a vital purpose for traders and hardcore data analysts.<\/p>\n\n\n\n<dl>\n<dt style=\"font-weight: bold;\">Market Data vs. Squad Planning<\/dt>\n<dd style=\"margin-left: 20px; margin-bottom: 10px;\">While those sites excel at showing you *what* a player costs, our tool excels at showing you *how* that player fits into your team. We are a dedicated squad planning and building solution.<\/dd>\n<dt style=\"font-weight: bold;\">The Recharge.com Advantage<\/dt>\n<dd style=\"margin-left: 20px;\">Our on-page convenience and user-friendly interface are unmatched. We offer a streamlined experience focused purely on building, without the clutter of complex trading features. The message is simple: &#8220;Get your ideas and pricing data there, but build and perfect your squads *here*.&#8221;<\/dd>\n<\/dl>\n\n\n\n<h2>What is Icon Chemistry in FC 26?<\/h2>\n<p>Icon Chemistry is a squad building mechanic that allows retired legendary players to function as &#8220;wildcards&#8221; within your starting eleven. Unlike standard players who require specific links to their current Club, League, and Nation to achieve full potential, Icons operate differently. These cards represent football legends (such as Pele or George Best) and do not belong to a current club. The defining feature of an Icon is that they always play on full chemistry (represented by 3 diamonds or points) as long as they are placed in their preferred position. This distinguishes them from standard cards, which often struggle to get full links in complex hybrid teams.<\/p>\n\n\n<h2 id=\"how-do-icons-affect-chemistry\">How Do Icons Affect Chemistry in FC 26?<\/h2>\n<p>A common question among players is: &#8220;How do icons affect chemistry in FC 26?&#8221; and &#8220;Do icon players affect chemistry for the rest of the team?&#8221; The answer lies in the specific values assigned to these cards. Icons are powerful tools for squad building because they offer guaranteed contribution points to your team&#8217;s thresholds.<\/p>\n\n<p>Here is the breakdown of the mathematical contribution Icons provide, bearing in mind the <a href=\"https:\/\/www.recharge.com\/blog\/en-gb\/ie\/community-wishes-ea-fc-26\">specific FC 26 mechanics<\/a> that might tweak meta balancing:<\/p>\n\n<div style=\"display: flex; gap: 20px; flex-wrap: wrap; margin-bottom: 30px;\">\n    <div style=\"flex: 1; min-width: 250px; background-color: #e3f2fd; padding: 20px; border-radius: 10px; border: 1px solid #bbdefb;\">\n        <h3 style=\"margin-top: 0; color: #1565c0;\">\ud83c\udf0d Nation Association<\/h3>\n        <p>Icons count as <strong>two players<\/strong> towards their specific Nation threshold. This is massive for nations that are harder to link. For example, a single French Icon counts as two French players, instantly unlocking the first tier of chemistry for other French cards in your team.<\/p>\n    <\/div>\n    <div style=\"flex: 1; min-width: 250px; background-color: #f3e5f5; padding: 20px; border-radius: 10px; border: 1px solid #e1bee7;\">\n        <h3 style=\"margin-top: 0; color: #6a1b9a;\">\u26bd League Association<\/h3>\n        <p>Every Icon counts as <strong>one player<\/strong> towards <em>every<\/em> league represented in your squad. This creates a &#8220;generic&#8221; link that helps you piece together hybrids. If you have a Premier League and La Liga hybrid, your Icon effectively acts as a player for both leagues simultaneously.<\/p>\n    <\/div>\n<\/div>\n\n<p>This system allows you to unlock chemistry points for other players in your squad who might be struggling for links. If you are one point short of full chemistry on a striker, adding an Icon to the midfield can often provide that final necessary point through the Nation or League calculation.<\/p>\n\n<h3 id=\"using-george-best\">Using George Best to Maximize Squad Links<\/h3>\n<p>To visualize this, let&#8217;s look at the example of <strong>George Best<\/strong>. As a legend from Northern Ireland, he provides a specific utility to your squad building.<\/p>\n\n<div style=\"border: 2px dashed #0a3d2e; padding: 20px; border-radius: 8px; margin-bottom: 25px; background-color: #fafafa;\">\n    <p style=\"margin: 0;\"><strong>\ud83d\udca1 Squad Building Example:<\/strong><\/p>\n    <p>Because the George Best FIFA card (now FC card) is an Icon, he instantly plays on 3 diamonds. However, his value to the team is that he counts as <strong>two Northern Irish players<\/strong>. If you have another player from Northern Ireland (perhaps an Evolution card or a special promo card), George Best alone will likely get that player to at least 2 chemistry points.<\/p>\n<\/div>\n\n<p>Furthermore, if you are running a high-level team combining the English Premier League and the Spanish La Liga, George Best bridges the gap. He counts as a Premier League player <em>and<\/em> a La Liga player simultaneously for the sake of the math, helping everyone around him reach full potential.<\/p>\n\n<h2 id=\"best-chemistry-styles\">Best Chemistry Styles for Icon Players<\/h2>\n<p>Since Icons always have full chemistry, you do not need to worry about fixing their &#8220;Chem&#8221; to make them playable. This leads to the question: &#8220;What is the best chemistry style in FC 26 for an Icon?&#8221; The answer depends entirely on the stats you want to boost.<\/p>\n\n<p>Because they are already on full points, they receive the maximum possible boost from Chemistry Styles. Here is how to optimize them:<\/p>\n\n<dl style=\"margin-bottom: 30px;\">\n    <dt style=\"font-weight: bold; font-size: 1.1em; color: #d32f2f;\">\ud83d\udd25 Hunter \/ Hawk<\/dt>\n    <dd style=\"margin-left: 20px; margin-bottom: 15px;\">Ideal for attackers like George Best or Thierry Henry. These styles maximize Pace and Shooting\/Physicality, ensuring your forwards can outrun defenders and finish chances.<\/dd>\n\n    <dt style=\"font-weight: bold; font-size: 1.1em; color: #1976d2;\">\ud83d\udee1\ufe0f Shadow \/ Anchor<\/dt>\n    <dd style=\"margin-left: 20px; margin-bottom: 15px;\">Essential for Icon defenders or defensive midfielders (like Paolo Maldini or Patrick Vieira). These maximize Pace and Defending, crucial for keeping up with the fast meta of FC 26.<\/dd>\n    \n    <dt style=\"font-weight: bold; font-size: 1.1em; color: #388e3c;\">\u2694\ufe0f Gladiator<\/dt>\n    <dd style=\"margin-left: 20px; margin-bottom: 15px;\">If you are searching for &#8220;<strong>Gladiator pc<\/strong>&#8221; builds, this style is excellent for attackers who press high up the pitch or box-to-box midfielders. It boosts Shooting and Defending, making your player a threat in front of goal while allowing them to win the ball back immediately.<\/dd>\n\n    <dt style=\"font-weight: bold; font-size: 1.1em; color: #f57c00;\">\u2699\ufe0f Engine<\/dt>\n    <dd style=\"margin-left: 20px; margin-bottom: 15px;\">Perfect for creative midfielders or wingers who feel slightly &#8220;clunky.&#8221; The Engine style boosts Pace, Passing, and Dribbling, making the player feel much more responsive on the ball.<\/dd>\n<\/dl>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">Frequently Asked Questions (FAQ)<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"is-it-free\">Is this FC 26 squad builder really free?<\/h3>\n\n\n\n<p>Yes, our squad building tool is completely free to use with all its features, including AI suggestions and budget calculations. There are no hidden costs or subscriptions required.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"do-i-need-an-account\">Do I need an account to build a squad?<\/h3>\n\n\n\n<p>No, you can start building your squad instantly without any sign-up or download. Just jump right in and start creating your team on the page.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"how-accurate\">How accurate is the player and chemistry information?<\/h3>\n\n\n\n<p>Our database is constantly updated to reflect the latest player stats, items, and chemistry rules in FC 26 Ultimate Team. We strive to maintain the highest level of accuracy so your planning is reliable.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"can-i-save\">Can I save or share the squads I create?<\/h3>\n\n\n\n<p>Yes, our tool includes functionality to save your creations. You can generate a unique link for any squad you build, allowing you to share it with friends, post it on social media, or come back to it later to make adjustments.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Use the ultimate FC 26 Squad Builder to craft your dream team. Our free, AI-powered tool helps you plan team chemistry, formations, and budget instantly. No download needed.<\/p>\n","protected":false},"author":49,"featured_media":31157,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"cos_headline_score":0,"cos_seo_score":0,"cos_headline_text":"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)","cos_headline_has_been_analyzed":false,"cos_last_analyzed_headline":[],"_hreflang_tags":"","footnotes":"","jetpack_publicize_message":"","jetpack_is_tweetstorm":false,"jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false}}},"categories":[23],"tags":[],"class_list":["post-31170","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-digital-lifestyle-old"],"jetpack_publicize_connections":[],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.4 (Yoast SEO v21.0) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)<\/title>\n<meta name=\"description\" content=\"Use the ultimate FC 26 Squad Builder to craft your dream team. Our free, AI-powered tool helps you plan team chemistry, formations, and budget instantly. No download needed.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)\" \/>\n<meta property=\"og:description\" content=\"Use the ultimate FC 26 Squad Builder to craft your dream team. Our free, AI-powered tool helps you plan team chemistry, formations, and budget instantly. No download needed.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused\" \/>\n<meta property=\"og:site_name\" content=\"Recharge Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-01-04T13:31:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-05T13:31:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2025\/10\/06153053\/hero-image-en-5.png\" \/>\n\t<meta property=\"og:image:width\" content=\"900\" \/>\n\t<meta property=\"og:image:height\" content=\"491\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Conor Byrne\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused\",\"url\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused\",\"name\":\"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)\",\"isPartOf\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#website\"},\"datePublished\":\"2026-01-04T13:31:03+00:00\",\"dateModified\":\"2026-01-05T13:31:13+00:00\",\"author\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6\"},\"description\":\"Use the ultimate FC 26 Squad Builder to craft your dream team. Our free, AI-powered tool helps you plan team chemistry, formations, and budget instantly. No download needed.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.recharge.com\/blog\/en-gb\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#website\",\"url\":\"https:\/\/www.recharge.com\/blog\/en-gb\/\",\"name\":\"Recharge Blog\",\"description\":\"Everything about online safety, smart spending &amp; your digital lifestyle.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.recharge.com\/blog\/en-gb\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6\",\"name\":\"Conor Byrne\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g\",\"caption\":\"Conor Byrne\"},\"description\":\"My passion for the e-commerce and fintech space started years ago with my first gaming console, giving me firsthand experience with the world of digital credit and top-ups. As a blog copywriter here at Recharge.com, I now get to use that insight to create clear, helpful content that makes navigating gift cards and online payments a breeze for our community.\",\"url\":\"https:\/\/www.recharge.com\/blog\/en-gb\/author\/conor-byrne\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)","description":"Use the ultimate FC 26 Squad Builder to craft your dream team. Our free, AI-powered tool helps you plan team chemistry, formations, and budget instantly. No download needed.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused","og_locale":"en_GB","og_type":"article","og_title":"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)","og_description":"Use the ultimate FC 26 Squad Builder to craft your dream team. Our free, AI-powered tool helps you plan team chemistry, formations, and budget instantly. No download needed.","og_url":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused","og_site_name":"Recharge Blog","article_published_time":"2026-01-04T13:31:03+00:00","article_modified_time":"2026-01-05T13:31:13+00:00","og_image":[{"width":900,"height":491,"url":"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2025\/10\/06153053\/hero-image-en-5.png","type":"image\/png"}],"author":"Conor Byrne","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused","url":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused","name":"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)","isPartOf":{"@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#website"},"datePublished":"2026-01-04T13:31:03+00:00","dateModified":"2026-01-05T13:31:13+00:00","author":{"@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6"},"description":"Use the ultimate FC 26 Squad Builder to craft your dream team. Our free, AI-powered tool helps you plan team chemistry, formations, and budget instantly. No download needed.","breadcrumb":{"@id":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/fc-26-squad-builder-ai-powered-chemistry-focused#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.recharge.com\/blog\/en-gb"},{"@type":"ListItem","position":2,"name":"FC 26 Squad Builder: AI-Powered &amp; Chemistry Focused (+Icons)"}]},{"@type":"WebSite","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#website","url":"https:\/\/www.recharge.com\/blog\/en-gb\/","name":"Recharge Blog","description":"Everything about online safety, smart spending &amp; your digital lifestyle.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.recharge.com\/blog\/en-gb\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-GB"},{"@type":"Person","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/857508b94164c3cdc1f206b5c30d31a6","name":"Conor Byrne","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.recharge.com\/blog\/en-gb\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/624bd2d0a75e67e81c16920493bcda346cb5cfd0f77cfdff3a72413de0254eeb?s=96&d=mm&r=g","caption":"Conor Byrne"},"description":"My passion for the e-commerce and fintech space started years ago with my first gaming console, giving me firsthand experience with the world of digital credit and top-ups. As a blog copywriter here at Recharge.com, I now get to use that insight to create clear, helpful content that makes navigating gift cards and online payments a breeze for our community.","url":"https:\/\/www.recharge.com\/blog\/en-gb\/author\/conor-byrne"}]}},"jetpack_featured_media_url":"https:\/\/creativegroup-blog-prd-eu-west-1-recharge-blog.s3.eu-west-1.amazonaws.com\/blog\/wp-content\/uploads\/2025\/10\/06153053\/hero-image-en-5.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts\/31170","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/users\/49"}],"replies":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/comments?post=31170"}],"version-history":[{"count":10,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts\/31170\/revisions"}],"predecessor-version":[{"id":35782,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/posts\/31170\/revisions\/35782"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/media\/31157"}],"wp:attachment":[{"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/media?parent=31170"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/categories?post=31170"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.recharge.com\/blog\/en-gb\/wp-json\/wp\/v2\/tags?post=31170"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}