/* /Pages/Home.razor.rz.scp.css */

.fantasy-page[b-5pt4j1rqvk] {
    min-height: 100vh;
    background: #0b1020;
    color: #e7edf8;
    font-family: "Segoe UI", Arial, sans-serif;
    font-size: 14px;
}

    .fantasy-page *[b-5pt4j1rqvk] {
        box-sizing: border-box;
    }

.topbar[b-5pt4j1rqvk] {
    min-height: 76px;
    padding: 18px 5%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    background: #11182a;
    border-bottom: 1px solid #263149;
}

.brand[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    gap: 13px;
}

.brand-icon[b-5pt4j1rqvk] {
    width: 43px;
    height: 43px;
    display: grid;
    place-items: center;
    background: linear-gradient(135deg, #7567ff, #357cff);
    border-radius: 12px;
    font-size: 16px;
    font-weight: 800;
    color: white;
}

.brand-name[b-5pt4j1rqvk] {
    font-size: 19px;
    font-weight: 750;
    letter-spacing: .1px;
}

.brand-subtitle[b-5pt4j1rqvk] {
    margin-top: 3px;
    color: #8c9bb8;
    font-size: 10px;
    letter-spacing: 1.7px;
}

.topbar-right[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    gap: 10px;
    color: #9dabca;
    font-size: 11px;
    letter-spacing: 1px;
}

.status-dot[b-5pt4j1rqvk] {
    width: 8px;
    height: 8px;
    background: #39d9a1;
    border-radius: 50%;
}

.version[b-5pt4j1rqvk] {
    margin-left: 15px;
    padding: 7px 10px;
    background: #202b43;
    border-radius: 6px;
    color: #c3d0e9;
}

.main-content[b-5pt4j1rqvk] {
    width: min(1440px, 94%);
    margin: 0 auto;
    padding: 42px 0 25px;
}

.hero[b-5pt4j1rqvk] {
    padding: 20px 0 34px;
}

.hero-label[b-5pt4j1rqvk],
.section-eyebrow[b-5pt4j1rqvk] {
    color: #8d83ff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2px;
}

.hero h1[b-5pt4j1rqvk] {
    margin: 16px 0;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.18;
    font-weight: 800;
    letter-spacing: -1px;
}

    .hero h1 span[b-5pt4j1rqvk] {
        background: linear-gradient(90deg, #a49aff, #56b7ff);
        -webkit-background-clip: text;
        background-clip: text;
        color: transparent;
    }

.hero p[b-5pt4j1rqvk] {
    color: #9daccc;
    font-size: 15px;
    line-height: 1.8;
}

.stats-grid[b-5pt4j1rqvk] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 17px;
    margin-bottom: 26px;
}

.stat-card[b-5pt4j1rqvk],
.panel[b-5pt4j1rqvk] {
    background: #131c2f;
    border: 1px solid #29344c;
    border-radius: 14px;
}

.stat-card[b-5pt4j1rqvk] {
    padding: 22px;
    min-height: 142px;
}

.stat-label[b-5pt4j1rqvk] {
    color: #9facc6;
    font-size: 13px;
}

.stat-value[b-5pt4j1rqvk] {
    font-size: 34px;
    font-weight: 750;
    margin-top: 12px;
    font-variant-numeric: tabular-nums;
}

.stat-unit[b-5pt4j1rqvk] {
    margin-left: 6px;
    font-size: 16px;
    color: #8e83ff;
}

.stat-player[b-5pt4j1rqvk] {
    font-size: 19px;
    margin-top: 20px;
    font-weight: 700;
    overflow-wrap: anywhere;
}

.stat-footer[b-5pt4j1rqvk] {
    margin-top: 12px;
    color: #7789a9;
    font-size: 10px;
    letter-spacing: 1px;
}

.accent[b-5pt4j1rqvk] {
    color: #a69cff;
}

.panel[b-5pt4j1rqvk] {
    padding: 27px;
    margin-bottom: 25px;
}

.section-heading[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 24px;
}

    .section-heading h2[b-5pt4j1rqvk] {
        margin: 9px 0;
        font-size: 21px;
        font-weight: 750;
    }

    .section-heading p[b-5pt4j1rqvk] {
        margin: 0;
        color: #95a5c3;
        line-height: 1.6;
    }

.section-tag[b-5pt4j1rqvk],
.table-tag[b-5pt4j1rqvk] {
    padding: 8px 12px;
    border-radius: 7px;
    color: #b4abff;
    background: #292447;
    font-weight: 700;
    font-size: 11px;
    white-space: nowrap;
}

.upload-area[b-5pt4j1rqvk] {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 225px;
    border: 2px dashed #3c4a67;
    border-radius: 12px;
    background: #10182a;
    padding: 26px;
    text-align: center;
}

.upload-symbol[b-5pt4j1rqvk] {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: 13px;
    background: #282449;
    color: #b9b1ff;
    font-size: 32px;
    font-weight: 700;
}

.upload-title[b-5pt4j1rqvk] {
    font-size: 17px;
    font-weight: 700;
}

.upload-description[b-5pt4j1rqvk] {
    color: #97a6c0;
    font-size: 12px;
}

.file-input[b-5pt4j1rqvk] {
    display: block;
    max-width: 100%;
    width: 285px;
    color: #aebbd3;
    font: inherit;
    font-size: 12px;
}

    .file-input[b-5pt4j1rqvk]::file-selector-button {
        margin-right: 12px;
        padding: 11px 17px;
        border: 0;
        border-radius: 8px;
        background: #6e60eb;
        color: white;
        font-weight: 700;
        cursor: pointer;
    }

        .file-input[b-5pt4j1rqvk]::file-selector-button:hover {
            background: #8579ff;
        }

.message[b-5pt4j1rqvk] {
    margin-top: 16px;
    padding: 13px 16px;
    border-radius: 8px;
    line-height: 1.6;
}

.success-message[b-5pt4j1rqvk] {
    background: #123d36;
    color: #85e8bf;
    border: 1px solid #236958;
}

.error-message[b-5pt4j1rqvk] {
    background: #451d2b;
    color: #ffb4c3;
    border: 1px solid #84374c;
}

.info-message[b-5pt4j1rqvk] {
    background: #1c3053;
    color: #aacfff;
}

.ranking-count[b-5pt4j1rqvk] {
    background: #202b43;
    padding: 9px 14px;
    border-radius: 8px;
    color: #c1cdec;
    font-weight: 600;
    white-space: nowrap;
}

.table-toolbar[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.search-box[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    gap: 10px;
    width: min(350px, 100%);
    padding: 0 14px;
    background: #0d1526;
    border: 1px solid #33425e;
    border-radius: 9px;
}

.search-icon[b-5pt4j1rqvk] {
    color: #8497ba;
    font-size: 22px;
}

.search-box input[b-5pt4j1rqvk] {
    width: 100%;
    padding: 12px 0;
    border: 0;
    background: transparent;
    color: #f3f6ff;
    outline: none;
    font: inherit;
}

    .search-box input[b-5pt4j1rqvk]::placeholder {
        color: #788ba9;
    }

.table-container[b-5pt4j1rqvk] {
    overflow-x: auto;
    border: 1px solid #29344c;
    border-radius: 10px;
}

.rankings-table[b-5pt4j1rqvk] {
    border-collapse: collapse;
    width: 100%;
    min-width: 1080px;
    font-size: 12px;
    font-variant-numeric: tabular-nums;
}

    .rankings-table th[b-5pt4j1rqvk] {
        background: #1e2940;
        color: #a7b7d2;
        text-align: left;
        font-weight: 700;
        font-size: 10px;
        letter-spacing: .6px;
        padding: 15px 12px;
        white-space: nowrap;
    }

    .rankings-table td[b-5pt4j1rqvk] {
        padding: 15px 12px;
        border-top: 1px solid #253249;
        color: #cfdbed;
        white-space: nowrap;
    }

    .rankings-table tbody tr:nth-child(even)[b-5pt4j1rqvk] {
        background: #162138;
    }

    .rankings-table tbody tr:hover[b-5pt4j1rqvk] {
        background: #223251;
    }

.rank-number[b-5pt4j1rqvk] {
    color: #98a9ff;
    font-weight: 800;
    font-size: 14px;
}

.player-name[b-5pt4j1rqvk] {
    color: #f1f5ff;
    font-weight: 700;
    font-size: 13px;
}

.team-label[b-5pt4j1rqvk] {
    color: #a1b1d0;
}

.score-badge[b-5pt4j1rqvk] {
    display: inline-block;
    min-width: 66px;
    padding: 6px 9px;
    border-radius: 6px;
    font-weight: 800;
    text-align: center;
}

.positive[b-5pt4j1rqvk] {
    background: #143c36;
    color: #61e2b2;
}

.negative[b-5pt4j1rqvk] {
    background: #432432;
    color: #ff9eac;
}

.table-footer[b-5pt4j1rqvk] {
    margin-top: 16px;
    color: #8193b4;
    font-size: 11px;
}

.empty-state[b-5pt4j1rqvk] {
    padding: 55px 20px;
    text-align: center;
    color: #92a3c2;
}

.empty-icon[b-5pt4j1rqvk] {
    font-size: 45px;
    color: #8b82f8;
}

.empty-state h3[b-5pt4j1rqvk] {
    color: #e7edf8;
    font-size: 18px;
}

.footer[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    color: #7285a4;
    font-size: 11px;
    padding: 15px 0 5px;
}

@media (max-width: 950px) {
    .stats-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .main-content[b-5pt4j1rqvk] {
        width: 94%;
        padding-top: 22px;
    }

    .topbar[b-5pt4j1rqvk] {
        padding: 16px 3%;
    }

    .topbar-right[b-5pt4j1rqvk] {
        display: none;
    }

    .stats-grid[b-5pt4j1rqvk] {
        gap: 10px;
    }

    .stat-card[b-5pt4j1rqvk] {
        padding: 15px;
        min-height: 130px;
    }

    .stat-value[b-5pt4j1rqvk] {
        font-size: 27px;
    }

    .stat-player[b-5pt4j1rqvk] {
        font-size: 15px;
    }

    .panel[b-5pt4j1rqvk] {
        padding: 16px;
    }

    .section-heading[b-5pt4j1rqvk] {
        flex-direction: column;
    }

    .table-toolbar[b-5pt4j1rqvk] {
        flex-direction: column;
        align-items: stretch;
    }

    .search-box[b-5pt4j1rqvk] {
        width: 100%;
    }

    .footer[b-5pt4j1rqvk] {
        flex-direction: column;
    }
}

/* 表格欄位排序按鈕 */

.sort-button[b-5pt4j1rqvk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;

    border: none;
    background: transparent;
    color: #a7b7d2;

    padding: 3px 0;

    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;

    transition: color 0.2s ease;
}

.sort-button:hover[b-5pt4j1rqvk] {
    color: #a49aff;
}

.sort-button:focus-visible[b-5pt4j1rqvk] {
    outline: 2px solid #8d83ff;
    outline-offset: 3px;
    border-radius: 3px;
}

/* 排序後的表格維持原有外觀 */

.rankings-table th[b-5pt4j1rqvk] {
    user-select: none;
}


/* 表格欄位排序按鈕 */

.sort-button[b-5pt4j1rqvk] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    border: none;
    background: transparent;
    color: #a7b7d2;
    padding: 3px 0;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: color 0.2s ease;
}

    .sort-button:hover[b-5pt4j1rqvk] {
        color: #a49aff;
    }

    .sort-button:focus-visible[b-5pt4j1rqvk] {
        outline: 2px solid #8d83ff;
        outline-offset: 3px;
        border-radius: 3px;
    }

/* 排序後的表格維持原有外觀 */

.rankings-table th[b-5pt4j1rqvk] {
    user-select: none;
}


/* 球員詳細分析按鈕 */

.player-detail-button[b-5pt4j1rqvk] {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    padding: 4px 0;
    background: transparent;
    border: none;
    color: #f1f5ff;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

    .player-detail-button:hover[b-5pt4j1rqvk] {
        color: #a99fff;
    }

    .player-detail-button:focus-visible[b-5pt4j1rqvk] {
        outline: 2px solid #8d83ff;
        outline-offset: 4px;
        border-radius: 3px;
    }

.detail-arrow[b-5pt4j1rqvk] {
    color: #8d83ff;
    font-size: 9px;
}

/* 詳細資料展開列 */

.detail-row td[b-5pt4j1rqvk] {
    padding: 0 !important;
    background: #0f1728 !important;
    white-space: normal !important;
}

.player-breakdown[b-5pt4j1rqvk] {
    padding: 26px;
    border-top: 1px solid #44407b;
    border-bottom: 1px solid #29344c;
}

.breakdown-header[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-bottom: 25px;
}

    .breakdown-header h3[b-5pt4j1rqvk] {
        margin: 0 0 7px;
        font-size: 19px;
        color: #ffffff;
    }

    .breakdown-header p[b-5pt4j1rqvk] {
        margin: 0;
        font-size: 12px;
        color: #8b9cbd;
    }

.breakdown-total[b-5pt4j1rqvk] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 8px;
}

    .breakdown-total span[b-5pt4j1rqvk] {
        font-size: 10px;
        color: #93a4c3;
        letter-spacing: 1px;
    }

    .breakdown-total strong[b-5pt4j1rqvk] {
        font-size: 23px;
        color: #a69cff;
    }

/* 九項能力卡片 */

.category-grid[b-5pt4j1rqvk] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.category-card[b-5pt4j1rqvk] {
    padding: 18px;
    border: 1px solid #303c54;
    border-radius: 10px;
    background: #18243a;
}

.category-name[b-5pt4j1rqvk] {
    font-size: 12px;
    font-weight: 700;
    color: #a5b6d3;
}

.category-score[b-5pt4j1rqvk] {
    margin: 13px 0;
    font-size: 22px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.z-positive[b-5pt4j1rqvk] {
    color: #55dfaf;
}

.z-negative[b-5pt4j1rqvk] {
    color: #ff899c;
}

.z-neutral[b-5pt4j1rqvk] {
    color: #aab7d1;
}

/* Z-Score 能力長條 */

.category-bar[b-5pt4j1rqvk] {
    height: 6px;
    background: #303a51;
    border-radius: 6px;
    overflow: hidden;
}

.category-bar-fill[b-5pt4j1rqvk] {
    height: 100%;
    border-radius: 6px;
}

    .category-bar-fill.z-positive[b-5pt4j1rqvk] {
        background: #35c796;
    }

    .category-bar-fill.z-negative[b-5pt4j1rqvk] {
        background: #f16f86;
    }

    .category-bar-fill.z-neutral[b-5pt4j1rqvk] {
        background: #74839e;
    }

.breakdown-footer[b-5pt4j1rqvk] {
    margin-top: 20px;
    color: #8193b4;
    font-size: 11px;
    line-height: 1.6;
}

@media (max-width: 700px) {
    .player-breakdown[b-5pt4j1rqvk] {
        padding: 16px;
    }

    .category-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 9px;
    }

    .category-card[b-5pt4j1rqvk] {
        padding: 12px;
    }

    .breakdown-header[b-5pt4j1rqvk] {
        align-items: flex-start;
    }

    .category-score[b-5pt4j1rqvk] {
        font-size: 18px;
    }
}

/* Category / Punt Strategy */

.strategy-panel[b-5pt4j1rqvk] {
    margin-bottom: 25px;
}

.strategy-toolbar[b-5pt4j1rqvk] {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
    margin-bottom: 22px;
}

.strategy-action[b-5pt4j1rqvk] {
    border: 1px solid #6157b8;
    background: #292449;
    color: #c5bfff;
    border-radius: 9px;
    padding: 11px 18px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

    .strategy-action:hover[b-5pt4j1rqvk] {
        background: #39316a;
    }

.strategy-grid[b-5pt4j1rqvk] {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.strategy-item[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 15px;
    border: 1px solid #35435e;
    border-radius: 10px;
    background: #172239;
    cursor: pointer;
    min-width: 0;
}

    .strategy-item:hover[b-5pt4j1rqvk] {
        border-color: #8c7dff;
        background: #202d49;
    }

    .strategy-item:has(input:not(:checked))[b-5pt4j1rqvk] {
        opacity: .65;
        background: #101827;
    }

    .strategy-item input[b-5pt4j1rqvk] {
        width: 17px;
        height: 17px;
        accent-color: #8174ff;
        cursor: pointer;
        flex-shrink: 0;
    }

.strategy-name[b-5pt4j1rqvk] {
    font-weight: 750;
    color: #e9efff;
    font-size: 13px;
}

.strategy-status[b-5pt4j1rqvk] {
    margin-left: auto;
    color: #80ddbb;
    font-size: 9px;
    font-weight: 700;
}

.strategy-item:has(input:not(:checked))
.strategy-status[b-5pt4j1rqvk] {
    color: #ff9da9;
}

.strategy-note[b-5pt4j1rqvk] {
    margin-top: 20px;
    color: #8b9fbd;
    font-size: 12px;
    line-height: 1.8;
}

@media (max-width: 1100px) {
    .strategy-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 650px) {
    .strategy-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .strategy-item[b-5pt4j1rqvk] {
        padding: 11px;
    }

    .strategy-status[b-5pt4j1rqvk] {
        font-size: 8px;
    }
}

/* 原始排名與策略排名比較 */

.breakdown-comparison[b-5pt4j1rqvk] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 30px;
}

.comparison-card[b-5pt4j1rqvk] {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 20px;
    background: #172239;
    border: 1px solid #34405a;
    border-radius: 11px;
}

    .comparison-card.highlight[b-5pt4j1rqvk] {
        background: #211e42;
        border-color: #7666cf;
    }

.comparison-label[b-5pt4j1rqvk] {
    color: #9caed0;
    font-size: 11px;
    letter-spacing: 1px;
    font-weight: 700;
}

.comparison-score[b-5pt4j1rqvk] {
    color: #f2f5ff;
    font-size: 27px;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.comparison-card.highlight .comparison-score[b-5pt4j1rqvk] {
    color: #b0a5ff;
}

.comparison-rank[b-5pt4j1rqvk] {
    color: #a1b1cf;
    font-size: 12px;
}

/* 分項分析標題 */

.breakdown-section-title[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    margin: 0 0 17px;
}

    .breakdown-section-title h4[b-5pt4j1rqvk] {
        color: #f0f4ff;
        font-size: 16px;
        margin: 0;
    }

    .breakdown-section-title > span[b-5pt4j1rqvk] {
        color: #8e9fbd;
        font-size: 11px;
    }

/* Category 卡片狀態 */

.category-card-header[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.category-state[b-5pt4j1rqvk] {
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .5px;
}

.state-active[b-5pt4j1rqvk] {
    color: #56ddb0;
}

.state-punt[b-5pt4j1rqvk] {
    color: #f58ba4;
}

.category-punted[b-5pt4j1rqvk] {
    background: #111827;
    border-color: #283247;
    opacity: .70;
}

    .category-punted .category-name[b-5pt4j1rqvk] {
        color: #8292ad;
    }

.punt-label[b-5pt4j1rqvk] {
    color: #fa93a8;
    font-size: 18px;
    letter-spacing: 1px;
}

.category-original[b-5pt4j1rqvk] {
    color: #8192b0;
    font-size: 11px;
    line-height: 1.6;
    margin-top: 10px;
}

/* 升降名次的專用顏色 */

.comparison-score.z-positive[b-5pt4j1rqvk] {
    color: #56ddb0;
}

.comparison-score.z-negative[b-5pt4j1rqvk] {
    color: #ff91a5;
}

.comparison-score.z-neutral[b-5pt4j1rqvk] {
    color: #aab7d1;
}

@media (max-width: 700px) {
    .breakdown-comparison[b-5pt4j1rqvk] {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .comparison-card[b-5pt4j1rqvk] {
        padding: 15px;
    }

    .comparison-score[b-5pt4j1rqvk] {
        font-size: 23px;
    }

    .breakdown-section-title[b-5pt4j1rqvk] {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* 球員明細捲動定位 */

.player-breakdown[b-5pt4j1rqvk] {
    scroll-margin-top: 20px;
}

/* 避免使用者設定減少動畫時仍強制平滑捲動 */
@media (prefers-reduced-motion: reduce) {
    html[b-5pt4j1rqvk] {
        scroll-behavior: auto;
    }
}


/* 自訂 Category 權重 */

.weighted-category[b-5pt4j1rqvk] {
    padding: 15px;
    background: #172239;
    border: 1px solid #35435e;
    border-radius: 11px;
    transition: border-color .2s, background .2s;
    min-width: 0;
}

    .weighted-category:hover[b-5pt4j1rqvk] {
        border-color: #8174ff;
    }

.weighted-category-off[b-5pt4j1rqvk] {
    background: #101827;
    opacity: .65;
}

.weighted-header[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
}

    .weighted-header input[b-5pt4j1rqvk] {
        width: 17px;
        height: 17px;
        accent-color: #8174ff;
    }

.weighted-name[b-5pt4j1rqvk] {
    font-weight: 750;
    color: #e9efff;
    font-size: 13px;
}

.weighted-status[b-5pt4j1rqvk] {
    margin-left: auto;
    color: #61dfba;
    font-size: 10px;
    font-weight: 700;
}

.weighted-category-off .weighted-status[b-5pt4j1rqvk] {
    color: #ff97a8;
}

.weight-control[b-5pt4j1rqvk] {
    margin-top: 18px;
}

.weight-label[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: #8e9fbc;
    font-size: 10px;
    letter-spacing: .5px;
}

    .weight-label strong[b-5pt4j1rqvk] {
        color: #b7aaff;
        font-size: 15px;
        font-variant-numeric: tabular-nums;
    }

.weight-slider[b-5pt4j1rqvk] {
    display: block;
    width: 100%;
    margin: 14px 0 8px;
    cursor: pointer;
    accent-color: #8d83ff;
}

    .weight-slider:disabled[b-5pt4j1rqvk] {
        cursor: not-allowed;
    }

.weight-scale[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    color: #8192ae;
    font-size: 10px;
}

.selected-categories[b-5pt4j1rqvk] {
    white-space: normal;
    text-align: right;
    max-width: 65%;
    line-height: 1.7;
    overflow-wrap: anywhere;
}

@media (max-width: 650px) {
    .weighted-category[b-5pt4j1rqvk] {
        padding: 12px;
    }

    .selected-categories[b-5pt4j1rqvk] {
        max-width: 100%;
        text-align: left;
    }
}

/* =========================================
   Fantasy Analyzer - Readability Upgrade
   1080P 基準 / 2K 自適應
   ========================================= */

/* 網站基本字體 */
.fantasy-page[b-5pt4j1rqvk] {
    font-size: 16px;
    line-height: 1.6;
}

/* 上方導覽 */
.brand-name[b-5pt4j1rqvk] {
    font-size: 22px;
}

.brand-subtitle[b-5pt4j1rqvk] {
    font-size: 12px;
}

.topbar-right[b-5pt4j1rqvk] {
    font-size: 13px;
}

.version[b-5pt4j1rqvk] {
    font-size: 12px;
}

/* 標題 */
.hero-label[b-5pt4j1rqvk],
.section-eyebrow[b-5pt4j1rqvk] {
    font-size: 13px;
}

.section-heading h2[b-5pt4j1rqvk] {
    font-size: 25px;
}

.section-heading p[b-5pt4j1rqvk],
.hero p[b-5pt4j1rqvk] {
    font-size: 16px;
}

/* 統計卡片 */
.stat-label[b-5pt4j1rqvk] {
    font-size: 15px;
}

.stat-value[b-5pt4j1rqvk] {
    font-size: 38px;
}

.stat-player[b-5pt4j1rqvk] {
    font-size: 21px;
}

.stat-footer[b-5pt4j1rqvk] {
    font-size: 12px;
}

/* Category / Punt Strategy */
.weighted-name[b-5pt4j1rqvk] {
    font-size: 15px;
}

.weighted-status[b-5pt4j1rqvk] {
    font-size: 12px;
}

.weight-label[b-5pt4j1rqvk] {
    font-size: 12px;
}

    .weight-label strong[b-5pt4j1rqvk] {
        font-size: 18px;
    }

.weight-scale[b-5pt4j1rqvk] {
    font-size: 12px;
}

.strategy-action[b-5pt4j1rqvk] {
    font-size: 15px;
    padding: 12px 20px;
}

.strategy-note[b-5pt4j1rqvk] {
    font-size: 14px;
}

/* 排名區 */
.ranking-count[b-5pt4j1rqvk],
.section-tag[b-5pt4j1rqvk],
.table-tag[b-5pt4j1rqvk] {
    font-size: 13px;
}

.search-box input[b-5pt4j1rqvk] {
    font-size: 15px;
}

/* 排名表格 */
.rankings-table[b-5pt4j1rqvk] {
    font-size: 15px;
    min-width: 1250px;
}

    .rankings-table th[b-5pt4j1rqvk] {
        font-size: 13px;
        padding: 17px 14px;
    }

    .rankings-table td[b-5pt4j1rqvk] {
        font-size: 15px;
        padding: 18px 14px;
    }

.sort-button[b-5pt4j1rqvk] {
    font-size: 13px;
}

.player-detail-button[b-5pt4j1rqvk] {
    font-size: 16px;
}

.rank-number[b-5pt4j1rqvk] {
    font-size: 16px;
}

.player-name[b-5pt4j1rqvk] {
    font-size: 16px;
}

.score-badge[b-5pt4j1rqvk] {
    font-size: 15px;
    min-width: 74px;
    padding: 7px 11px;
}

.table-footer[b-5pt4j1rqvk] {
    font-size: 13px;
}

/* 球員展開卡片 */
.breakdown-header h3[b-5pt4j1rqvk] {
    font-size: 23px;
}

.breakdown-header p[b-5pt4j1rqvk] {
    font-size: 14px;
}

.comparison-label[b-5pt4j1rqvk] {
    font-size: 13px;
}

.comparison-score[b-5pt4j1rqvk] {
    font-size: 30px;
}

.comparison-rank[b-5pt4j1rqvk] {
    font-size: 14px;
}

.breakdown-section-title h4[b-5pt4j1rqvk] {
    font-size: 19px;
}

.breakdown-section-title > span[b-5pt4j1rqvk] {
    font-size: 13px;
}

/* 九項 / 十三項詳細分析 */
.category-name[b-5pt4j1rqvk] {
    font-size: 15px;
}

.category-score[b-5pt4j1rqvk] {
    font-size: 26px;
}

.category-state[b-5pt4j1rqvk] {
    font-size: 12px;
}

.category-original[b-5pt4j1rqvk] {
    font-size: 13px;
}

.punt-label[b-5pt4j1rqvk] {
    font-size: 22px;
}

.breakdown-footer[b-5pt4j1rqvk] {
    font-size: 13px;
}

/* 匯入區與提示訊息 */
.upload-title[b-5pt4j1rqvk] {
    font-size: 19px;
}

.upload-description[b-5pt4j1rqvk] {
    font-size: 14px;
}

.file-input[b-5pt4j1rqvk] {
    font-size: 14px;
}

.message[b-5pt4j1rqvk] {
    font-size: 15px;
}



/* ======================================
   Weighted Category Breakdown
   ====================================== */

.category-calculation[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin: 18px 0;
}

.calculation-item[b-5pt4j1rqvk] {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}

    .calculation-item span[b-5pt4j1rqvk] {
        color: #94a8ca;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: .5px;
    }

    .calculation-item strong[b-5pt4j1rqvk] {
        color: #e6edfa;
        font-size: 19px;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
    }

        .calculation-item strong.z-positive[b-5pt4j1rqvk] {
            color: #55dfaf;
        }

        .calculation-item strong.z-negative[b-5pt4j1rqvk] {
            color: #ff899c;
        }

        .calculation-item strong.z-neutral[b-5pt4j1rqvk] {
            color: #aab7d1;
        }

.calculation-symbol[b-5pt4j1rqvk] {
    color: #697d9d;
    font-size: 19px;
    font-weight: 700;
}

.category-card[b-5pt4j1rqvk] {
    min-height: 155px;
}

/* 1080P 桌面 */
@media (max-width: 1700px) {
    .category-calculation[b-5pt4j1rqvk] {
        gap: 5px;
    }

    .calculation-item strong[b-5pt4j1rqvk] {
        font-size: 17px;
    }

    .calculation-item span[b-5pt4j1rqvk] {
        font-size: 10px;
    }
}

/* 手機與窄螢幕 */
@media (max-width: 700px) {
    .category-calculation[b-5pt4j1rqvk] {
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 10px;
    }

    .calculation-item strong[b-5pt4j1rqvk] {
        font-size: 17px;
    }
}


.breakdown-contribution-total[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    margin-top: 22px;
    padding: 18px;
    background: #211e42;
    border: 1px solid #6257ad;
    border-radius: 10px;
}

    .breakdown-contribution-total span[b-5pt4j1rqvk] {
        color: #b6afd9;
        font-size: 14px;
    }

    .breakdown-contribution-total strong[b-5pt4j1rqvk] {
        color: #c1b7ff;
        font-size: 24px;
        font-weight: 800;
        font-variant-numeric: tabular-nums;
    }

/* Z-Score 評分說明 */

.scoring-guide[b-5pt4j1rqvk] {
    margin-top: 24px;
    background: #101a2e;
    border: 1px solid #394563;
    border-radius: 12px;
    overflow: hidden;
}

    .scoring-guide summary[b-5pt4j1rqvk] {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 15px;
        padding: 19px 22px;
        color: #c4bbff;
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
    }

        .scoring-guide summary:hover[b-5pt4j1rqvk] {
            background: #1b2945;
        }

        .scoring-guide summary:focus-visible[b-5pt4j1rqvk] {
            outline: 2px solid #9f91ff;
            outline-offset: -3px;
        }

    .scoring-guide .guide-hint[b-5pt4j1rqvk] {
        color: #93a4c4;
        font-size: 13px;
        font-weight: 400;
    }

.guide-content[b-5pt4j1rqvk] {
    padding: 24px;
    border-top: 1px solid #394563;
    color: #b7c5df;
    font-size: 15px;
    line-height: 1.9;
}

    .guide-content h3[b-5pt4j1rqvk] {
        margin: 24px 0 10px;
        color: #f1f4ff;
        font-size: 18px;
    }

        .guide-content h3:first-child[b-5pt4j1rqvk] {
            margin-top: 0;
        }

.guide-formula[b-5pt4j1rqvk] {
    margin: 12px 0;
    padding: 15px 18px;
    background: #202c46;
    border-left: 3px solid #9688ff;
    border-radius: 6px;
    color: #e1dcff;
    font-size: 15px;
    overflow-wrap: anywhere;
}

.guide-warning[b-5pt4j1rqvk] {
    margin-top: 22px;
    padding: 16px;
    border: 1px solid #675837;
    border-radius: 8px;
    background: #2c281e;
    color: #f0d7a3;
}

@media (max-width: 650px) {
    .scoring-guide summary[b-5pt4j1rqvk] {
        flex-wrap: wrap;
    }

    .guide-content[b-5pt4j1rqvk] {
        padding: 16px;
    }
}

/* CSV AVG / TOTAL 模式選擇 */

.csv-mode-selector[b-5pt4j1rqvk] {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 18px 0;
}

.csv-mode-title[b-5pt4j1rqvk] {
    width: 100%;
    text-align: center;
    color: #b2c1df;
    font-size: 15px;
    font-weight: 700;
}

.csv-mode-option[b-5pt4j1rqvk] {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 18px;
    border: 1px solid #3d4c69;
    border-radius: 9px;
    background: #18243b;
    color: #dbe6fa;
    font-size: 15px;
    cursor: pointer;
}

    .csv-mode-option:hover[b-5pt4j1rqvk] {
        border-color: #9488ff;
        background: #253251;
    }

    .csv-mode-option:has(input:checked)[b-5pt4j1rqvk] {
        border-color: #887bff;
        background: #30294f;
    }

    .csv-mode-option input[b-5pt4j1rqvk] {
        width: 17px;
        height: 17px;
        accent-color: #9588ff;
        cursor: pointer;
    }

@media (max-width: 600px) {
    .csv-mode-selector[b-5pt4j1rqvk] {
        flex-direction: column;
    }

    .csv-mode-option[b-5pt4j1rqvk] {
        width: 100%;
    }
}

/* ======================================
   Player Pool Manager
   ====================================== */

.pool-toolbar[b-5pt4j1rqvk] {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 20px;
}

.pool-table-container[b-5pt4j1rqvk] {
    overflow-x: auto;
    border: 1px solid #29344c;
    border-radius: 10px;
}

.pool-table[b-5pt4j1rqvk] {
    width: 100%;
    min-width: 850px;
    border-collapse: collapse;
    font-size: 15px;
}

    .pool-table th[b-5pt4j1rqvk] {
        padding: 15px;
        text-align: left;
        background: #1e2940;
        color: #a7b7d2;
        font-size: 13px;
    }

    .pool-table td[b-5pt4j1rqvk] {
        padding: 14px 15px;
        border-top: 1px solid #29344c;
        color: #e3eafa;
    }

    .pool-table tbody tr:nth-child(even)[b-5pt4j1rqvk] {
        background: #172239;
    }

    .pool-table tbody tr:hover[b-5pt4j1rqvk] {
        background: #223251;
    }

.pool-row-actions[b-5pt4j1rqvk] {
    display: flex;
    gap: 8px;
}

.pool-button[b-5pt4j1rqvk] {
    padding: 9px 13px;
    border: 1px solid #485678;
    border-radius: 8px;
    background: #25314e;
    color: #e3eafa;
    cursor: pointer;
    font-size: 13px;
    white-space: nowrap;
}

    .pool-button:hover[b-5pt4j1rqvk] {
        border-color: #9c91ff;
        background: #354269;
    }

    .pool-button.danger[b-5pt4j1rqvk] {
        color: #ff9aac;
        border-color: #704052;
    }

        .pool-button.danger:hover[b-5pt4j1rqvk] {
            background: #502738;
        }

.player-editor[b-5pt4j1rqvk] {
    margin: 22px 0;
    padding: 24px;
    background: #101a2e;
    border: 1px solid #6257ad;
    border-radius: 12px;
}

.editor-heading[b-5pt4j1rqvk] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

    .editor-heading h3[b-5pt4j1rqvk] {
        margin: 0;
        color: #f2f5ff;
        font-size: 21px;
    }

.editor-note[b-5pt4j1rqvk],
.pool-footer-note[b-5pt4j1rqvk] {
    color: #96a8c9;
    font-size: 13px;
    line-height: 1.8;
}

.editor-grid[b-5pt4j1rqvk] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-top: 22px;
}

    .editor-grid label[b-5pt4j1rqvk] {
        display: flex;
        flex-direction: column;
        gap: 8px;
        color: #b9c8e4;
        font-size: 13px;
        font-weight: 700;
        min-width: 0;
    }

    .editor-grid input[b-5pt4j1rqvk] {
        width: 100%;
        min-width: 0;
        padding: 12px 13px;
        color: #f1f5ff;
        background: #19263f;
        border: 1px solid #3a4a69;
        border-radius: 8px;
        font-size: 15px;
    }

        .editor-grid input:focus[b-5pt4j1rqvk] {
            outline: 2px solid #877aff;
            outline-offset: 1px;
        }

.editor-actions[b-5pt4j1rqvk] {
    display: flex;
    gap: 12px;
    margin-top: 25px;
}

.delete-confirmation[b-5pt4j1rqvk] {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding: 16px;
    margin-bottom: 20px;
    background: #392331;
    border: 1px solid #814457;
    border-radius: 10px;
    color: #ffe1e8;
    font-size: 14px;
}

    .delete-confirmation strong[b-5pt4j1rqvk] {
        color: #ffffff;
    }

.pool-footer-note[b-5pt4j1rqvk] {
    margin: 16px 0 0;
}

@media (max-width: 1100px) {
    .editor-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .editor-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .player-editor[b-5pt4j1rqvk] {
        padding: 16px;
    }
}

@media (max-width: 450px) {
    .editor-grid[b-5pt4j1rqvk] {
        grid-template-columns: 1fr;
    }
}

.pool-search[b-5pt4j1rqvk] {
    width: min(340px, 100%);
    padding: 11px 14px;
    border: 1px solid #3a4a69;
    border-radius: 8px;
    background: #101a2e;
    color: #f1f5ff;
    font-size: 15px;
}

    .pool-search:focus[b-5pt4j1rqvk] {
        outline: 2px solid #877aff;
    }
/* 統一 24 欄資料版面 */
.editor-group[b-5pt4j1rqvk] { margin: 22px 0; padding: 18px; border: 1px solid #34415e; border-radius: 10px; background: #151f34; }
.editor-group h4[b-5pt4j1rqvk] { margin: 0 0 14px; color: #c2baff; font-size: 17px; }
.editor-group .editor-grid[b-5pt4j1rqvk] { margin-top: 0; }
.editor-readonly[b-5pt4j1rqvk] { padding: 11px 13px; border: 1px dashed #415070; border-radius: 8px; color: #9aaccb; display: flex; flex-direction: column; gap: 6px; font-size: 13px; }
.editor-readonly strong[b-5pt4j1rqvk] { color: #e7edff; font-size: 15px; }
.pool-table-full[b-5pt4j1rqvk] { min-width: 2450px; white-space: nowrap; }
.pool-table-full th[b-5pt4j1rqvk], .pool-table-full td[b-5pt4j1rqvk] { white-space: nowrap; }
.rankings-table[b-5pt4j1rqvk] { min-width: 2650px; }
.rankings-table th[b-5pt4j1rqvk], .rankings-table td[b-5pt4j1rqvk] { white-space: nowrap; }
.player-stats-detail[b-5pt4j1rqvk] { margin-bottom: 26px; }
.player-stats-detail h4[b-5pt4j1rqvk] { color: #d8d1ff; font-size: 18px; }
.player-stats-detail-grid[b-5pt4j1rqvk] { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 10px; }
.player-stat-value[b-5pt4j1rqvk] { min-width: 0; background: #18243a; border: 1px solid #35415a; border-radius: 8px; padding: 12px; display: flex; flex-direction: column; gap: 5px; }
.player-stat-value span[b-5pt4j1rqvk] { color: #9baed0; font-size: 12px; }
.player-stat-value strong[b-5pt4j1rqvk] { color: #f0f3ff; font-size: 15px; overflow-wrap: anywhere; }
@media (max-width: 1000px) { .player-stats-detail-grid[b-5pt4j1rqvk] { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 550px) { .player-stats-detail-grid[b-5pt4j1rqvk] { grid-template-columns: repeat(2,minmax(0,1fr)); } }



/* =====================================
   Wide Ranking Table
   ===================================== */

.table-container[b-5pt4j1rqvk],
.pool-table-container[b-5pt4j1rqvk] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: auto;
    scrollbar-color: #8275e8 #18243a;
}

/* 表格不要擠壓資料 */
.rankings-table[b-5pt4j1rqvk],
.pool-table[b-5pt4j1rqvk] {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

    /* 每一欄保留足夠的閱讀空間 */
    .rankings-table th[b-5pt4j1rqvk],
    .rankings-table td[b-5pt4j1rqvk] {
        white-space: nowrap;
        padding: 15px 12px;
    }

        /* 第一欄固定：RANK */
        .rankings-table th:first-child[b-5pt4j1rqvk],
        .rankings-table td:first-child[b-5pt4j1rqvk] {
            position: sticky;
            left: 0;
            z-index: 3;
            background: #1d2941;
            min-width: 70px;
        }

        /* 第二欄固定：PLAYER */
        .rankings-table th:nth-child(2)[b-5pt4j1rqvk],
        .rankings-table td:nth-child(2)[b-5pt4j1rqvk] {
            position: sticky;
            left: 70px;
            z-index: 3;
            background: #1d2941;
            min-width: 180px;
            box-shadow: 3px 0 8px rgba(0,0,0,.18);
        }

    /* 表頭優先顯示 */
    .rankings-table thead th[b-5pt4j1rqvk] {
        z-index: 5;
    }

/* 捲軸樣式 */
.table-container[b-5pt4j1rqvk]::-webkit-scrollbar,
.pool-table-container[b-5pt4j1rqvk]::-webkit-scrollbar {
    height: 13px;
}

.table-container[b-5pt4j1rqvk]::-webkit-scrollbar-thumb,
.pool-table-container[b-5pt4j1rqvk]::-webkit-scrollbar-thumb {
    background: #7269ca;
    border-radius: 8px;
}

.table-container[b-5pt4j1rqvk]::-webkit-scrollbar-track,
.pool-table-container[b-5pt4j1rqvk]::-webkit-scrollbar-track {
    background: #18243a;
}



/* =========================================
   大型桌面顯示器
   ========================================= */
@media (min-width: 2200px) {
    .main-content[b-5pt4j1rqvk] {
        width: 100%;
        max-width: none;
    }

    .fantasy-page[b-5pt4j1rqvk] {
        font-size: 17px;
    }

    .rankings-table[b-5pt4j1rqvk] {
        font-size: 16px;
    }

        .rankings-table td[b-5pt4j1rqvk] {
            font-size: 16px;
        }

    .stat-card[b-5pt4j1rqvk] {
        padding: 26px;
    }

    .weighted-category[b-5pt4j1rqvk] {
        padding: 19px;
    }

    .category-card[b-5pt4j1rqvk] {
        padding: 21px;
    }
}

/* =========================================
   1080P 與一般筆電
   ========================================= */
@media (max-width: 1600px) {
    .main-content[b-5pt4j1rqvk] {
        width: 95%;
    }

    .strategy-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .rankings-table[b-5pt4j1rqvk] {
        min-width: 1150px;
    }
}

/* =========================================
   平板與手機
   ========================================= */
@media (max-width: 900px) {
    .strategy-grid[b-5pt4j1rqvk] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rankings-table[b-5pt4j1rqvk] {
        min-width: 1150px;
    }

    .table-container[b-5pt4j1rqvk] {
        overflow-x: auto;
    }
}

@media (max-width: 550px) {
    .fantasy-page[b-5pt4j1rqvk] {
        font-size: 15px;
    }

    .strategy-grid[b-5pt4j1rqvk] {
        grid-template-columns: 1fr;
    }

    .section-heading h2[b-5pt4j1rqvk] {
        font-size: 21px;
    }
}

.weight-slider[b-5pt4j1rqvk] {
    height: 9px;
}

.weighted-category[b-5pt4j1rqvk] {
    min-height: 160px;
}

.weight-control[b-5pt4j1rqvk] {
    margin-top: 20px;
}


/* ================================================
   Full-width desktop + independent player details
   2026-10 layout revision
   ================================================ */
.fantasy-page[b-5pt4j1rqvk] { width: 100%; min-width: 0; }
.fantasy-page .main-content[b-5pt4j1rqvk] {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 32px clamp(12px, 1.5vw, 36px) 28px;
    min-width: 0;
}
.fantasy-page .panel[b-5pt4j1rqvk],
.fantasy-page .ranking-panel[b-5pt4j1rqvk],
.fantasy-page .player-pool-panel[b-5pt4j1rqvk] {
    min-width: 0;
    max-width: 100%;
}
/* Only the table scrolls sideways; the detail card is a full-width sibling. */
.ranking-panel .table-container[b-5pt4j1rqvk],
.pool-table-container[b-5pt4j1rqvk] {
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}
.ranking-panel .rankings-table[b-5pt4j1rqvk] {
    min-width: 2650px;
    width: max-content;
}
/* The first two table columns remain visible during horizontal scrolling. */
.rankings-table th:first-child[b-5pt4j1rqvk],
.rankings-table td:first-child[b-5pt4j1rqvk] { width: 70px; min-width: 70px; }
.rankings-table th:nth-child(2)[b-5pt4j1rqvk],
.rankings-table td:nth-child(2)[b-5pt4j1rqvk] { min-width: 180px; }
/* Always keep long player names readable. */
.rankings-table th:nth-child(2)[b-5pt4j1rqvk],
.rankings-table td:nth-child(2)[b-5pt4j1rqvk] { max-width: 280px; }
.rankings-table .player-detail-button[b-5pt4j1rqvk] { white-space: nowrap; }
/* The player detail card must never inherit the scrollable table width. */
.player-detail-outside[b-5pt4j1rqvk] {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin-top: 20px;
    border: 1px solid #44407b;
    border-radius: 12px;
    background: #10192c;
    overflow: hidden;
}
.player-detail-outside .player-breakdown[b-5pt4j1rqvk] {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 24px;
    scroll-margin-top: 24px;
}
.player-detail-outside .category-grid[b-5pt4j1rqvk],
.player-detail-outside .player-stats-detail-grid[b-5pt4j1rqvk],
.player-detail-outside .breakdown-comparison[b-5pt4j1rqvk] { min-width: 0; }
.player-detail-outside .category-card[b-5pt4j1rqvk],
.player-detail-outside .player-stat-value[b-5pt4j1rqvk] { min-width: 0; }
@media (max-width: 900px) {
    .fantasy-page .main-content[b-5pt4j1rqvk] { padding: 20px 12px; }
    .player-detail-outside .player-breakdown[b-5pt4j1rqvk] { padding: 15px; }
}


/* ==============================================
   Compact ranking table (fits 2560px desktop)
   Keep only necessary width; player details live outside.
   ============================================== */
.ranking-panel .rankings-table[b-5pt4j1rqvk] {
    width: 100%;
    min-width: 2040px;
    table-layout: auto;
    font-size: 12px;
}
.ranking-panel .rankings-table th[b-5pt4j1rqvk],
.ranking-panel .rankings-table td[b-5pt4j1rqvk] {
    padding: 11px 6px;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}
.ranking-panel .rankings-table th[b-5pt4j1rqvk] {
    letter-spacing: 0;
    font-size: 11px;
}
/* Rank + player remain sticky, but take less space. */
.ranking-panel .rankings-table th:first-child[b-5pt4j1rqvk],
.ranking-panel .rankings-table td:first-child[b-5pt4j1rqvk] {
    width: 52px;
    min-width: 52px;
    max-width: 52px;
    left: 0;
}
.ranking-panel .rankings-table th:nth-child(2)[b-5pt4j1rqvk],
.ranking-panel .rankings-table td:nth-child(2)[b-5pt4j1rqvk] {
    width: 165px;
    min-width: 165px;
    max-width: 165px;
    left: 52px;
}
.ranking-panel .rankings-table .player-detail-button[b-5pt4j1rqvk] {
    display: inline-block;
    max-width: 153px;
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: middle;
    text-align: left;
}
/* Short number columns occupy less than text and score columns. */
.ranking-panel .rankings-table th:nth-child(n+5):nth-child(-n+25)[b-5pt4j1rqvk],
.ranking-panel .rankings-table td:nth-child(n+5):nth-child(-n+25)[b-5pt4j1rqvk] {
    min-width: 49px;
}
.ranking-panel .rankings-table th:nth-last-child(-n+3)[b-5pt4j1rqvk],
.ranking-panel .rankings-table td:nth-last-child(-n+3)[b-5pt4j1rqvk] {
    min-width: 92px;
}
@media (max-width: 2150px) {
    .ranking-panel .rankings-table[b-5pt4j1rqvk] { min-width: 2040px; }
}

/* Strategy Builder: 與球員編輯表單一致的五組分類 */
.strategy-group[b-5pt4j1rqvk] { margin-top: 24px; }
.strategy-group-title[b-5pt4j1rqvk] {
    margin: 0 0 12px;
    padding: 0 0 10px;
    border-bottom: 1px solid #34425c;
    color: #afa2ff;
    font-size: 17px;
    font-weight: 750;
}
.strategy-group .strategy-grid[b-5pt4j1rqvk] { margin-top: 0; }

/* Beta 1.1 homepage and changelog */
.hero-features[b-5pt4j1rqvk] {display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.hero-features span[b-5pt4j1rqvk] {padding:9px 14px;border:1px solid #394766;border-radius:8px;background:#19243b;color:#b6a8ff;font-size:13px;font-weight:600;}
.changelog-panel[b-5pt4j1rqvk] {margin:24px 0 30px;border:1px solid #303d59;border-radius:14px;background:#131c2f;overflow:hidden;}
.changelog-panel summary[b-5pt4j1rqvk] {display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 24px;cursor:pointer;color:#eef2ff;font-size:16px;font-weight:700;list-style:none;}
.changelog-panel summary[b-5pt4j1rqvk]::-webkit-details-marker {display:none;}
.changelog-panel summary:hover[b-5pt4j1rqvk] {background:#1b2740;}
.changelog-version[b-5pt4j1rqvk] {color:#b6a8ff;background:#282347;padding:6px 10px;border-radius:7px;font-size:12px;}
.changelog-content[b-5pt4j1rqvk] {border-top:1px solid #303d59;padding:24px;color:#b6c6e4;line-height:1.8;}
.changelog-content h3[b-5pt4j1rqvk] {color:#eef2ff;margin:0 0 12px;}
.changelog-content ul[b-5pt4j1rqvk] {padding-left:22px;}
.changelog-content li[b-5pt4j1rqvk] {margin-bottom:7px;}
