/**
 * Public-facing stylesheet for the Keirin Fantasy Sports plugin.
 * select_players 2026 design apply.
 *
 * @package KeirinFantasySports
 */

:root {
    --kfs-font-main: 'Noto Sans JP', sans-serif;
    --kfs-font-number: 'Montserrat', 'Noto Sans JP', sans-serif;
    --kfs-primary: #2563eb;
    --kfs-primary-dark: #1e40af;
    --kfs-primary-light: #eff6ff;
    --kfs-primary-border: #93c5fd;
    --kfs-accent: #10b981;
    --kfs-accent-gold: #f59e0b;
    --kfs-accent-pink: #ec4899;
    --kfs-accent-purple: #8b5cf6;
    --kfs-bg-canvas: #f1f5f9;
    --kfs-card-bg: #ffffff;
    --kfs-card-bg-sub: #f8fafc;
    --kfs-card-bg-tint: #f8fbff;
    --kfs-text-dark: #0f172a;
    --kfs-text-main: #1e293b;
    --kfs-text-medium: #334155;
    --kfs-text-sub: #64748b;
    --kfs-text-muted: #64748b;
    --kfs-text-placeholder: #94a3b8;
    --kfs-border: #e2e8f0;
    --kfs-border-medium: #cbd5e1;
    --kfs-border-strong: #94a3b8;
    --kfs-success: #10b981;
    --kfs-danger: #ef4444;
    --kfs-shadow-soft: 0 10px 30px rgba(15, 23, 42, 0.08);
    --kfs-shadow-card: 0 8px 24px rgba(15, 23, 42, 0.06);
    --kfs-shadow-premium: 0 20px 50px rgba(15, 23, 42, 0.14);
    --kfs-card-radius: 14px;
    --kfs-card-radius-lg: 16px;
    --kfs-card-radius-sm: 10px;
    --kfs-card-radius-pill: 999px;
    --kfs-card-padding: 14px;
    --kfs-card-padding-lg: 18px;
    --kfs-btn-radius: 10px;
    --kfs-btn-height: 34px;
    --kfs-fs-xs: 10px;
    --kfs-fs-2xs: 11px;
    --kfs-fs-sm: 12px;
    --kfs-fs-base: 13px;
    --kfs-fs-md: 14px;
    --kfs-fs-lg: 15px;
    --kfs-fs-xl: 17px;
    --kfs-fs-2xl: 22px;
    --kfs-max-width: 1000px;
    --app-max-width: 1000px;
    --kfs-gutter-pc: 12px;
    --kfs-gutter-sp: 8px;
}

#kfs-plugin-unique-wrapper {
    all: unset;
    display: block;
    width: 100%;
    background: var(--kfs-bg-canvas);
    color: var(--kfs-text-main);
    font-family: var(--kfs-font-main);
    line-height: 1.55;
    -webkit-font-smoothing: antialiased;
}

#kfs-plugin-unique-wrapper *,
#kfs-plugin-unique-wrapper *::before,
#kfs-plugin-unique-wrapper *::after {
    box-sizing: border-box;
    font-family: inherit;
}

body.kfs-jin-override-theme-elements,
body.kfs-jin-override-theme-elements #main-contents,
body.kfs-jin-override-theme-elements #main-contents .cps-post-main,
body.kfs-jin-override-theme-elements #main-contents .entry-content {
    font-family: var(--kfs-font-main) !important;
}

/* Shared styles for pages except select_players */
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) {
    max-width: 1100px;
    margin: 20px auto;
    background: var(--kfs-card-bg);
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius-lg);
    box-shadow: var(--kfs-shadow-soft);
    overflow: hidden;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-page-head {
    padding: var(--kfs-card-padding-lg) 20px;
    border-bottom: 1px solid var(--kfs-border);
    background: linear-gradient(180deg, var(--kfs-card-bg-sub), var(--kfs-card-bg));
    position: sticky;
    top: 0;
    z-index: 5;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.admin-bar #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-page-head {
    top: 32px;
}



#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-page-title {
    font-size: var(--kfs-fs-2xl);
    line-height: 1.3;
    font-weight: 900;
    color: var(--kfs-text-dark);
    margin-bottom: 10px;
    font-family: var(--kfs-font-number);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .main-content {
    padding: 18px 20px 22px;
}

/* Account page: avoid sticky head overlap with first heading/form */
#kfs-plugin-unique-wrapper.kfs-page-account .kfs-page-head {
    position: static;
    top: auto;
}

.admin-bar #kfs-plugin-unique-wrapper.kfs-page-account .kfs-page-head {
    top: auto;
}

#kfs-plugin-unique-wrapper.kfs-page-account .main-content.kfs-account-container {
    padding-top: 22px;
}

#kfs-plugin-unique-wrapper.kfs-page-account .main-content.kfs-account-container > h4 {
    margin-top: 0;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-page-navigation-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-head {
    padding: 10px 12px;
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius);
    background: var(--kfs-card-bg);
    margin-bottom: 12px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-name {
    font-size: var(--kfs-fs-lg);
    font-weight: 800;
    color: var(--kfs-text-dark);
    margin-bottom: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 10px;
    border-radius: var(--kfs-card-radius-pill);
    border: 1px solid var(--kfs-border-medium);
    background: var(--kfs-card-bg-sub);
    color: var(--kfs-text-dark);
    text-decoration: none;
    font-size: var(--kfs-fs-sm);
    font-weight: 800;
    font-family: var(--kfs-font-number);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-link.is-active {
    background: var(--kfs-border);
    border-color: var(--kfs-border-strong);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-link:hover {
    background: #eef2ff;
    border-color: #a5b4fc;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-link.is-results {
    background: var(--kfs-primary-light);
    border-color: var(--kfs-primary-border);
    color: var(--kfs-primary-dark);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-link.is-ranking {
    background: #f5f3ff;
    border-color: #c4b5fd;
    color: #6d28d9;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-page-link.is-top {
    background: #ecfeff;
    border-color: #67e8f9;
    color: #0e7490;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-link-button,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-button-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--kfs-btn-height);
    padding: 8px 12px;
    border-radius: var(--kfs-btn-radius);
    border: 1px solid var(--kfs-border-medium);
    background: var(--kfs-card-bg);
    color: var(--kfs-text-dark) !important;
    text-decoration: none !important;
    font-weight: 700;
    transition: transform 0.15s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-link-button,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-button-primary {
    font-family: var(--kfs-font-number);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-link-button:hover,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-button-primary:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
}


#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-button-primary {
    background: var(--kfs-primary);
    border-color: var(--kfs-primary-dark);
    color: #fff !important;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-section-title {
    font-size: var(--kfs-fs-xl);
    font-weight: 800;
    color: var(--kfs-text-dark);
    margin: 18px 0 10px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-overview {
    margin-top: 28px;
    margin-bottom: 14px;
    padding: 18px;
    border: 1px solid rgba(37, 99, 235, 0.14);
    border-radius: 22px;
    background:
        radial-gradient(circle at top right, rgba(96, 165, 250, 0.16), transparent 34%),
        linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.96));
    box-shadow: 0 16px 34px rgba(15, 23, 42, 0.08);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-overview-head .kfs-section-title {
    margin-top: 4px;
    margin-bottom: 6px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-kicker {
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-overview-copy {
    margin: 0;
    color: #475569;
    font-size: 13px;
    line-height: 1.6;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-user-stats {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card {
    position: relative;
    min-height: 132px;
    padding: 16px 18px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 18px;
    background: linear-gradient(180deg, #ffffff, #eff6ff);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card.is-main {
    background:
        linear-gradient(135deg, rgba(37, 99, 235, 0.98), rgba(30, 64, 175, 0.96)),
        linear-gradient(180deg, #ffffff, #eff6ff);
    border-color: rgba(37, 99, 235, 0.2);
    box-shadow: 0 16px 28px rgba(37, 99, 235, 0.22);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card .stat-eyebrow {
    display: block;
    margin-bottom: 8px;
    color: #2563eb;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card.is-main .stat-eyebrow,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card.is-main .stat-value,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card.is-main .stat-label {
    color: #ffffff;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card .stat-value {
    display: block;
    font-family: var(--kfs-font-number);
    font-size: 42px;
    line-height: 1;
    font-weight: 900;
    color: #1e3a8a;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card .stat-value-sub {
    font-size: 34px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card .stat-label {
    margin-top: 8px;
    color: #475569;
    font-size: 13px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy {
    background:
        radial-gradient(circle at top right, rgba(59, 130, 246, 0.16), transparent 30%),
        linear-gradient(180deg, #f8fbff, #eef4ff 52%, #ffffff);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-page-head {
    background:
        linear-gradient(135deg, rgba(7, 28, 89, 0.96), rgba(19, 54, 146, 0.96)),
        linear-gradient(180deg, #f8fafc, #fff);
    border-bottom-color: rgba(191, 219, 254, 0.28);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-page-title,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-event-page-name {
    color: #f8fbff;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-event-page-head {
    background: rgba(7, 18, 61, 0.42);
    border-color: rgba(147, 197, 253, 0.24);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-event-page-link {
    background: rgba(255, 255, 255, 0.08);
    border-color: rgba(191, 219, 254, 0.3);
    color: #eff6ff;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-event-page-link:hover,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-event-page-link.is-top {
    background: rgba(96, 165, 250, 0.2);
    border-color: rgba(125, 211, 252, 0.5);
    color: #ffffff;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .main-content {
    padding-top: 22px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-shell {
    display: grid;
    gap: 18px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.95fr);
    gap: 18px;
    padding: 24px;
    border-radius: 24px;
    background:
        linear-gradient(160deg, rgba(5, 22, 76, 0.98), rgba(12, 45, 131, 0.96) 58%, rgba(24, 94, 196, 0.92)),
        linear-gradient(180deg, #0f172a, #1d4ed8);
    box-shadow: 0 24px 48px rgba(15, 23, 42, 0.18);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero::before,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero::after {
    content: "";
    position: absolute;
    inset: auto;
    border-radius: 999px;
    pointer-events: none;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero::before {
    width: 420px;
    height: 420px;
    right: -140px;
    bottom: -240px;
    background: radial-gradient(circle, rgba(56, 189, 248, 0.3), transparent 68%);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero::after {
    width: 340px;
    height: 340px;
    right: 120px;
    top: -220px;
    background: radial-gradient(circle, rgba(191, 219, 254, 0.22), transparent 72%);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-copy,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-side {
    position: relative;
    z-index: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-copy h2 {
    margin: 12px 0 10px;
    color: #f8fbff;
    font-size: clamp(28px, 4vw, 40px);
    line-height: 1.1;
    font-weight: 900;
    letter-spacing: 0.01em;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-title {
    white-space: nowrap;
    word-break: keep-all;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-copy p {
    max-width: 540px;
    margin: 0;
    color: rgba(239, 246, 255, 0.82);
    font-size: 14px;
    line-height: 1.8;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-side {
    display: grid;
    justify-items: end;
    gap: 16px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-completion-ring {
    width: 132px;
    height: 132px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    line-height: 1;
    position: relative;
    border: 1px solid rgba(191, 219, 254, 0.45);
    background:
        radial-gradient(circle at center, rgba(7, 20, 65, 0.92) 48%, transparent 49%),
        conic-gradient(from 0deg, #f8fafc 0deg, #f8fafc calc(var(--kfs-progress, 0) * 1deg), rgba(148, 163, 184, 0.2) 0deg);
    box-shadow: inset 0 0 0 12px rgba(255, 255, 255, 0.05);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-completion-ring::before {
    content: "達成率";
    position: absolute;
    top: 33px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(219, 234, 254, 0.94);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-completion-value {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    text-align: center;
    line-height: 1;
    position: absolute;
    inset: 0;
    margin: 0;
    color: #ffffff;
    font-family: var(--kfs-font-number);
    font-size: 28px;
    font-weight: 900;
    padding-top: 18px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-grid {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card {
    padding: 14px;
    border-radius: 16px;
    border: 1px solid rgba(191, 219, 254, 0.18);
    background: rgba(4, 14, 46, 0.42);
    color: #eff6ff;
    backdrop-filter: blur(12px);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card strong {
    display: block;
    margin-top: 4px;
    font-family: var(--kfs-font-number);
    font-size: 28px;
    line-height: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-label {
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card.is-normal { box-shadow: inset 0 0 0 1px rgba(147, 197, 253, 0.16); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card.is-bronze { box-shadow: inset 0 0 0 1px rgba(180, 83, 9, 0.18); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card.is-silver { box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.18); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card.is-gold { box-shadow: inset 0 0 0 1px rgba(245, 158, 11, 0.18); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card.is-platinum { box-shadow: inset 0 0 0 1px rgba(226, 232, 240, 0.12); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-card.is-diamond { box-shadow: inset 0 0 0 1px rgba(56, 189, 248, 0.28); }

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-panel {
    padding: 18px;
    border-radius: 22px;
    border: 1px solid rgba(191, 219, 254, 0.32);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 255, 0.96));
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.08);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-panel-copy-wrap {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-panel-copy {
    margin: 6px 0 0;
    color: #64748b;
    font-size: 13px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-total-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 8px 12px;
    border-radius: 999px;
    background: #dbeafe;
    color: #1d4ed8;
    font-family: var(--kfs-font-number);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.06em;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-list {
    display: grid;
    gap: 12px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid #dbeafe;
    border-radius: 18px;
    background:
        linear-gradient(180deg, #ffffff, #f8fbff);
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card:hover {
    transform: translateY(-1px);
    border-color: #93c5fd;
    box-shadow: 0 16px 24px rgba(15, 23, 42, 0.08);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon-wrap {
    width: 72px;
    height: 72px;
    border-radius: 18px;
    display: grid;
    place-items: center;
    background:
        linear-gradient(160deg, #0f172a, #1e3a8a);
    position: relative;
    overflow: hidden;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon-wrap::before {
    content: "";
    position: absolute;
    top: 16px;
    left: 50%;
    width: 28px;
    height: 20px;
    transform: translateX(-50%);
    border-radius: 0 0 13px 13px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(219, 234, 254, 0.88));
    box-shadow:
        inset 0 0 0 2px rgba(255, 255, 255, 0.3),
        0 8px 14px rgba(15, 23, 42, 0.18);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon {
    position: relative;
    display: block;
    width: 38px;
    height: 42px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon::before,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon::after {
    content: "";
    position: absolute;
    box-sizing: border-box;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon::before {
    left: 50%;
    top: 11px;
    width: 8px;
    height: 17px;
    transform: translateX(-50%);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 0 4px rgba(255, 255, 255, 0.96);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon::after {
    top: 10px;
    left: 50%;
    width: 38px;
    height: 18px;
    transform: translateX(-50%);
    border-left: 3px solid rgba(255, 255, 255, 0.92);
    border-right: 3px solid rgba(255, 255, 255, 0.92);
    border-bottom: 3px solid transparent;
    border-top: 3px solid transparent;
    border-radius: 18px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card.is-normal .kfs-trophy-icon-wrap { background: linear-gradient(160deg, #1e3a8a, #60a5fa); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card.is-bronze .kfs-trophy-icon-wrap { background: linear-gradient(160deg, #7c2d12, #b45309); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card.is-silver .kfs-trophy-icon-wrap { background: linear-gradient(160deg, #334155, #94a3b8); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card.is-gold .kfs-trophy-icon-wrap { background: linear-gradient(160deg, #7c2d12, #f59e0b); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card.is-platinum .kfs-trophy-icon-wrap { background: linear-gradient(160deg, #334155, #cbd5e1); }
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card.is-diamond .kfs-trophy-icon-wrap { background: linear-gradient(160deg, #0f172a, #22d3ee 58%, #a5f3fc); }

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-name {
    font-size: 18px;
    font-weight: 900;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 6px;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-date,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-tier {
    font-family: var(--kfs-font-number);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-tier {
    display: inline-flex;
    align-items: center;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-description {
    margin: 8px 0 0;
    color: #475569;
    font-size: 14px;
    line-height: 1.7;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-empty {
    padding: 44px 18px;
    border: 1px dashed #bfdbfe;
    border-radius: 20px;
    text-align: center;
    background:
        radial-gradient(circle at top center, rgba(191, 219, 254, 0.42), transparent 42%),
        linear-gradient(180deg, #f8fbff, #ffffff);
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-empty-icon {
    width: 84px;
    height: 84px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: linear-gradient(160deg, #dbeafe, #bfdbfe);
    position: relative;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-empty-icon::before {
    content: "";
    position: absolute;
    inset: 24px;
    border-radius: 50% 50% 40% 40%;
    border: 4px solid #1d4ed8;
    border-bottom-width: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-empty h3 {
    margin: 0 0 8px;
    font-size: 20px;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-empty p {
    max-width: 540px;
    margin: 0 auto;
    color: #64748b;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-top: 16px;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-pagination-status {
    min-width: 120px;
    text-align: center;
    font-family: var(--kfs-font-number);
    font-size: 13px;
    font-weight: 800;
    color: #334155;
}

@media (max-width: 820px) {
    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-side {
        justify-items: start;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-grid {
        width: 100%;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-panel-head {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media (max-width: 640px) {
    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-card {
        grid-template-columns: 1fr;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-icon-wrap {
        width: 64px;
        height: 64px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-summary-grid {
        grid-template-columns: 1fr 1fr;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-pagination {
        flex-wrap: wrap;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-hero-title {
        font-size: clamp(18px, 5.1vw, 24px);
        line-height: 1.05;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-completion-ring {
        width: 120px;
        height: 120px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-completion-ring::before {
        top: 29px;
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-completion-value {
        font-size: 24px;
        padding-top: 16px;
    }
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-empty-message,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-user-loading,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-error-message,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .success-message {
    border-radius: var(--kfs-card-radius-sm);
    padding: 10px 12px;
    margin: 10px 0;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-empty-message,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-user-loading {
    border: 1px solid var(--kfs-border);
    background: var(--kfs-card-bg-sub);
    color: var(--kfs-text-sub);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-error-message {
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .success-message {
    border: 1px solid #86efac;
    background: #f0fdf4;
    color: #166534;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-table-scroll-wrapper,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-table-wrapper {
    overflow-x: auto;
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius);
    background: var(--kfs-card-bg);
    box-shadow: 0 6px 20px rgba(15, 23, 42, 0.05);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-table,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--kfs-fs-md);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-table th,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table th,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-table td,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table td {
    border-bottom: 1px solid var(--kfs-border);
    padding: 10px 12px;
    text-align: left;
    vertical-align: middle;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-table th,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table th {
    background: var(--kfs-card-bg-sub);
    color: var(--kfs-text-medium);
    font-weight: 800;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-result-ace-badge {
    display: inline-block;
    margin-left: 8px;
    padding: 3px 8px;
    border-radius: var(--kfs-card-radius-pill);
    background: var(--kfs-primary-dark);
    color: var(--kfs-card-bg);
    font-family: var(--kfs-font-number);
    font-size: var(--kfs-fs-2xs);
    font-weight: 800;
    vertical-align: middle;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-medal {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 999px;
    margin-right: 6px;
    vertical-align: middle;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-medal-gold { background: #f59e0b; }
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-medal-silver { background: #94a3b8; }
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-medal-bronze { background: #b45309; }

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-list {
    display: none;
}


#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .score-col,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .holding-points-col,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .stat-value,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-info-value,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-emphasis,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-rank,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-meta {
    font-family: var(--kfs-font-number);
    font-variant-numeric: tabular-nums;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-auth-layout {
    max-width: 560px;
    margin: 0 auto;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-auth-card {
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius);
    background: var(--kfs-card-bg);
    padding: var(--kfs-card-padding);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-auth-description {
    margin: 0 0 10px;
    color: var(--kfs-text-sub);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-auth-form .form-row {
    margin: 0 0 12px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-auth-form label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-auth-form .input-text {
    width: 100%;
    border: 1px solid var(--kfs-border-medium);
    border-radius: var(--kfs-btn-radius);
    padding: 10px 12px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-auth-links {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-content-container {
    max-width: 760px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-logout-page-container {
    margin: 0 auto;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-hero {
    padding: 18px 20px 16px;
    background: linear-gradient(135deg, #0f172a, #1e293b);
    color: #fff;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero {
    padding: 10px 14px 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-brand {
    display: flex;
    align-items: center;
    gap: 10px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-brand-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
    display: grid;
    place-items: center;
    background: rgba(16, 185, 129, 0.2);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-brand-title {
    font-weight: 900;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-brand-subtitle {
    font-size: var(--kfs-fs-sm);
    opacity: 0.85;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-nav-toggle {
    background: transparent;
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: var(--kfs-card-radius-sm);
    width: 36px;
    height: 36px;
    display: none;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-top-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-menu-ad-wrap {
    flex-basis: 100%;
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-menu-ad-link,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-menu-ad-image {
    display: block;
    width: 100%;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-menu-ad-image {
    border-radius: 8px;
    height: auto;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-menu-ad-html {
    background: rgba(255, 255, 255, 0.1);
    border-radius: 8px;
    padding: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-menu-ad-gtm {
    min-height: 56px;
    border-radius: 8px;
    border: 1px dashed rgba(255, 255, 255, 0.35);
    background: rgba(255, 255, 255, 0.08);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-menu-ad-caption {
    margin-top: 4px;
    font-size: var(--kfs-fs-2xs);
    opacity: 0.8;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-nav-link {
    color: #fff;
    text-decoration: none;
    font-weight: 700;
    padding: 6px 10px;
    border-radius: 9px;
    background: rgba(255, 255, 255, 0.12);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-nav-link.active {
    background: rgba(16, 185, 129, 0.28);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-login-signup-prompt {
    margin-top: 12px;
    border: 1px solid rgba(148, 163, 184, 0.4);
    border-radius: var(--kfs-card-radius);
    padding: 10px 12px;
    background: rgba(255, 255, 255, 0.06);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-cards-container {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-card {
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius);
    background: var(--kfs-card-bg);
    overflow: hidden;
    box-shadow: var(--kfs-shadow-card);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-card-content {
    padding: 12px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-status {
    display: inline-flex;
    align-items: center;
    border: 1px solid var(--kfs-border-medium);
    border-radius: var(--kfs-card-radius-pill);
    font-size: var(--kfs-fs-2xs);
    padding: 2px 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-hot {
    font-size: var(--kfs-fs-xs);
    font-weight: 800;
    color: #059669;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-title {
    font-size: var(--kfs-fs-xl);
    font-weight: 800;
    color: var(--kfs-text-dark);
    margin-top: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-divider {
    border-top: 1px solid var(--kfs-border);
    margin: 10px 0;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-info-label {
    display: block;
    font-size: var(--kfs-fs-2xs);
    color: var(--kfs-text-muted);
    margin-bottom: 2px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-info-value {
    font-size: var(--kfs-fs-base);
    font-weight: 700;
    color: var(--kfs-text-main);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-card-actions {
    border-top: 1px solid var(--kfs-border);
    padding: 10px 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 22px 0 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended {
    justify-content: flex-start;
    flex-wrap: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended .kfs-section-title {
    margin: 0;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ended-year-filter-wrap {
    margin-left: 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    flex: 0 0 auto;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended > p {
    margin: 0 0 0 6px !important;
    display: inline-flex !important;
    width: auto !important;
    align-items: center;
    flex: 0 0 auto;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended > p:empty {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended > p > br,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended .kfs-ended-year-filter-wrap > br {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended > p .kfs-ended-year-filter-wrap {
    margin-left: 0;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ended-year-filter-label {
    font-size: var(--kfs-fs-sm);
    font-weight: 700;
    color: var(--kfs-text-sub);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ended-year-filter {
    height: 30px;
    border: 1px solid var(--kfs-border-medium);
    border-radius: 8px;
    background: var(--kfs-card-bg);
    color: var(--kfs-text-dark);
    font-size: var(--kfs-fs-sm);
    font-weight: 700;
    padding: 0 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-section-title-bar {
    width: 5px;
    height: 18px;
    border-radius: var(--kfs-card-radius-pill);
    background: var(--kfs-primary);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-bar-gray {
    background: var(--kfs-text-muted);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ended-events-table {
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius);
    overflow: hidden;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-table-desktop {
    display: block;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-table-mobile {
    display: none;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mobile-event-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 12px;
    border-bottom: 1px solid var(--kfs-border);
    color: inherit;
    text-decoration: none;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ended-detail-btn {
    min-height: 32px;
    padding: 6px 12px;
    font-size: var(--kfs-fs-sm);
    font-weight: 800;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mobile-event-detail {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid var(--kfs-border-medium);
    border-radius: 8px;
    background: var(--kfs-card-bg);
    color: var(--kfs-text-medium);
    font-size: var(--kfs-fs-2xs);
    font-weight: 700;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mobile-event-name {
    color: var(--kfs-text-dark);
    font-weight: 700;
    margin: 4px 0;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-profile-summary-card {
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius);
    background: var(--kfs-card-bg);
    padding: 14px;
    box-shadow: var(--kfs-shadow-card);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-profile-stats {
    margin: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-profile-stat-item {
    margin: 0;
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius-sm);
    padding: 9px 10px;
    background: var(--kfs-card-bg-sub);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-profile-stat-item dt {
    font-size: var(--kfs-fs-2xs);
    color: var(--kfs-text-muted);
    font-weight: 700;
    margin: 0 0 4px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-profile-stat-item dd {
    margin: 0;
    font-size: 16px;
    color: var(--kfs-text-dark);
    font-weight: 900;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-selected-players-details summary {
    cursor: pointer;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-selected-players-details ul {
    margin: 8px 0 0;
    padding-left: 18px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-emphasis {
    font-weight: 800;
    color: var(--kfs-primary-dark);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table .kfs-result-row-bench {
    opacity: 0.5;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table .kfs-result-row-bench .kfs-player-role-chip.is-bench {
    background: rgba(100, 116, 139, 0.12);
    color: var(--kfs-text-sub);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table .kfs-results-total-row th {
    background: var(--kfs-card-bg-sub);
    font-weight: 800;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table .kfs-result-row-bench {
    opacity: 0.5;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table .kfs-result-row-bench .kfs-player-role-chip.is-bench {
    background: rgba(100, 116, 139, 0.12);
    color: #64748b;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-table .kfs-results-total-row th {
    background: #f8fafc;
    font-weight: 800;
}

@media (max-width: 920px) {
    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-event-cards-container {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) {
        margin: 10px auto;
        border-radius: 12px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-page-head,
    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .main-content,
    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-hero {
        padding-left: 12px;
        padding-right: 12px;
    }

    .admin-bar #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-page-head {
        top: 46px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-nav-toggle {
        display: none !important;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-page-navigation-links {
        flex-wrap: nowrap;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
        padding-bottom: 2px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-top-nav {
        width: 100%;
        flex-wrap: wrap;
        overflow: visible;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-top-nav .kfs-menu-ad-wrap {
        min-width: 100%;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-top-nav.is-collapsed {
        display: none;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-table-desktop,
    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-table-wrapper:not(.kfs-keep-on-mobile) {
        display: none;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-table-mobile,
    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-list {
        display: block;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-card {
        border: 1px solid #e2e8f0;
        border-radius: 12px;
        padding: 10px 12px;
        margin-bottom: 8px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-row {
        display: flex;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 4px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-name {
        font-weight: 700;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ranking-mobile-meta {
        font-size: 12px;
        color: #475569;
        display: grid;
        gap: 2px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-profile-stats {
        grid-template-columns: 1fr;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-ended-year-filter-wrap {
        width: auto;
        margin-left: 6px;
        justify-content: flex-start;
    }

    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-ended > p {
        margin: 0 0 0 6px !important;
        width: auto !important;
        display: inline-flex !important;
        justify-content: flex-start;
    }
}

body.kfs-jin-override-theme-elements .entry-content.has-global-padding,
body.kfs-jin-override-theme-elements .entry-content.alignfull {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: none !important;
    margin-top: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .entry-content p,
#kfs-plugin-unique-wrapper.kfs-page-select_players .entry-content br,
#kfs-plugin-unique-wrapper.kfs-page-select_players .cps-post-main p,
#kfs-plugin-unique-wrapper.kfs-page-select_players .cps-post-main br {
    margin: 0 !important;
    padding: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players {
    min-height: 100vh;
    background: linear-gradient(135deg, #eef4ff 0%, #fdf4ff 30%, #f0fdf4 60%, #f7fafc 100%);
    background-attachment: fixed;
    --kfs-select-header-offset: 122px;
    --kfs-select-header-offset-admin: 154px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players a {
    color: inherit;
    text-decoration: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .font-num,
#kfs-plugin-unique-wrapper.kfs-page-select_players #header-event-points,
#kfs-plugin-unique-wrapper.kfs-page-select_players #footer-budget,
#kfs-plugin-unique-wrapper.kfs-page-select_players #total-spent-display,
#kfs-plugin-unique-wrapper.kfs-page-select_players #budget-left-display,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-num,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-score-num,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-value,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-multi {
    font-family: 'Montserrat', sans-serif;
    font-variant-numeric: tabular-nums;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-message {
    width: min(var(--kfs-max-width), calc(100% - (var(--kfs-gutter-pc) * 2)));
    margin: 6px auto 8px;
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 12px;
    font-weight: 700;
    position: relative;
    z-index: 1002;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-auth-inline-links {
    display: inline-flex;
    gap: 8px;
    margin-left: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-auth-inline-link {
    color: inherit;
    text-decoration: underline;
    font-weight: 800;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-message-warning {
    border: 1px solid #fde68a;
    background: #fffbeb;
    color: #92400e;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-message-error {
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-message-success {
    border: 1px solid #86efac;
    background: #f0fdf4;
    color: #166534;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root {
    all: unset;
    display: block;
    background-color: #f1f5f9;
    font-family: 'Noto Sans JP', 'Montserrat', sans-serif;
    color: var(--kfs-text-main);
    line-height: 1.55;
    --app-max-width: 1000px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root > p,
#kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root > br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form {
    width: min(var(--app-max-width), calc(100% - (var(--kfs-gutter-pc) * 2)));
    margin: 0 auto;
    padding: 0 0 120px;
    position: relative;
}

.admin-bar #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form {
    padding-top: 0;
}

/* Prevent wpautop from creating phantom spacing in shortcode markup */
#kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form > p,
#kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form > br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

body.kfs-jin-override-theme-elements .cps-post-main,
body.kfs-jin-override-theme-elements .cps-post-main-box,
body.kfs-jin-override-theme-elements .cps-post-box {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}

body.kfs-jin-override-theme-elements #main-contents.main-contents {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* JIN animation keeps transform on .main-contents.animate on desktop,
   which breaks viewport-based fixed positioning for floating footer. */
body.kfs-jin-override-select-players #main-contents.main-contents.animate {
    animation: none !important;
    transform: none !important;
    opacity: 1 !important;
}

body.kfs-jin-override-theme-elements #sidebar,
body.kfs-jin-override-theme-elements .share-top,
body.kfs-jin-override-theme-elements .share,
body.kfs-jin-override-theme-elements #breadcrumb,
body.kfs-jin-override-theme-elements .cps-post-header,
body.kfs-jin-override-theme-elements h1.cps-post-title {
    display: none !important;
}

/* Hide only the JIN pickup/slide banner area on KFS public pages. */
body.kfs-jin-override-theme-elements .pickup-contents-box,
body.kfs-jin-override-theme-elements .pickup-contents,
body.kfs-jin-override-theme-elements #pickup-contents,
body.kfs-jin-override-theme-elements .pickup_contents {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

/* Hide only the WordPress admin toolbar; keep the public site header visible. */
body.kfs-jin-override-theme-elements #wpadminbar {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

body.kfs-jin-override-theme-elements #contents {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .container-inner {
    width: min(var(--app-max-width), calc(100% - (var(--kfs-gutter-pc) * 2)));
    margin: 0 auto;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .glass-header,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header {
    position: sticky;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    background: rgba(255, 255, 255, 0.86);
    border-bottom: 1px solid rgba(226, 232, 240, 0.85);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 6px 24px rgba(15, 23, 42, 0.05);
    transition: background 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.admin-bar #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header {
    top: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header p:empty,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header br {
    display: none !important;
}

/* wpautop may inject non-empty whitespace <p> wrappers in header/budget blocks */
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header p,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header br,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard p,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 6px 10px 4px;
    transition: padding 0.2s ease, gap 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-brand {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-brand-text {
    min-width: 0;
    flex: 1 1 auto;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-brand-icon {
    width: 32px;
    height: 32px;
    border-radius: 9px;
    display: grid;
    place-items: center;
    color: #fff;
    background: linear-gradient(135deg, #10b981, #0d9488, #0891b2);
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35);
    flex-shrink: 0;
    animation: iconPulse 3s ease-in-out infinite;
    transition: width 0.2s ease, height 0.2s ease, border-radius 0.2s ease;
}

@keyframes iconPulse {
    0%, 100% { box-shadow: 0 6px 16px rgba(16, 185, 129, 0.35); }
    50% { box-shadow: 0 8px 24px rgba(16, 185, 129, 0.5); }
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-brand-label {
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: #059669;
    line-height: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-event-name {
    font-size: 13px;
    font-weight: 900;
    color: #1f2937;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: none;
    min-width: 0;
    flex: 1 1 auto;
    transition: font-size 0.2s ease, max-width 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-event-title-row {
    display: flex !important;
    align-items: center;
    gap: 8px;
    min-width: 0;
    width: 100%;
    flex-wrap: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-closed-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #fecaca;
    background: #fef2f2;
    color: #991b1b;
    border-radius: 999px;
    padding: 2px 8px;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
    line-height: 1.25;
    flex-shrink: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-cost-badge {
    flex-shrink: 0;
    border-radius: 10px;
    border: 1px solid #334155;
    background: #0f172a;
    color: #fff;
    padding: 4px 8px;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.18);
    max-width: 160px;
    transition: padding 0.2s ease, border-radius 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-label {
    font-size: 8px;
    line-height: 1;
    letter-spacing: 0.12em;
    font-weight: 800;
    text-transform: uppercase;
    color: #94a3b8;
    margin-bottom: 3px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-value {
    display: flex;
    align-items: baseline;
    gap: 2px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players #header-event-points {
    font-size: 16px;
    line-height: 1;
    font-weight: 900;
    color: #fff;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-unit {
    font-size: 9px;
    color: #94a3b8;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard {
    background: linear-gradient(135deg, #ffffff 0%, #fefefe 100%);
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 1.5rem;
    padding: 10px;
    margin-bottom: 6px;
    box-shadow: 0 12px 32px rgba(148, 163, 184, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    position: relative;
    overflow: hidden;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard p:empty,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard br {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard p {
    margin: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #10b981, #2563eb, #8b5cf6, #ec4899);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-inner {
    background: rgba(248, 250, 252, 0.6);
    border-radius: 12px;
    padding: 8px;
    display: flex;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-left {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-circle-container {
    width: 64px;
    height: 64px;
    position: relative;
    flex-shrink: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-circle {
    width: 100%;
    height: 100%;
    transform: rotate(-90deg);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-circle-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-percent {
    font-size: 12px;
    line-height: 1;
    font-weight: 900;
    color: #0f172a;
    letter-spacing: 0.02em;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-title {
    font-size: 11px;
    font-weight: 900;
    margin-bottom: 1px;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-subtitle {
    font-size: 10px;
    color: var(--kfs-text-sub);
    margin-bottom: 3px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slots {
    display: flex;
    gap: 4px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot {
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: #e2e8f0;
    transition: all 0.3s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled {
    width: 7px;
    height: 7px;
    box-shadow: 0 0 0 1px rgba(37, 99, 235, 0.2);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled:nth-child(1) { background: #10b981; box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.2); }
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled:nth-child(2) { background: #2563eb; box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.2); }
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled:nth-child(3) { background: #8b5cf6; box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.2); }
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled:nth-child(4) { background: #ec4899; box-shadow: 0 0 0 2px rgba(236, 72, 153, 0.2); }
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled:nth-child(5) { background: #f59e0b; box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.2); }
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled:nth-child(6) { background: #ef4444; box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.2); }

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mini-slot.is-filled.mini-pop {
    animation: miniPop 0.25s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-right {
    display: grid;
    grid-template-columns: repeat(2, minmax(92px, 1fr));
    gap: 6px;
    flex: 1 1 380px;
    border-left: 1px solid #e2e8f0;
    padding-left: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-stat-label {
    font-size: 9px;
    font-weight: 800;
    color: #94a3b8;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 1px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-stat-value {
    font-size: 18px;
    line-height: 1;
    font-weight: 900;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-stat-primary {
    background: linear-gradient(135deg, #2563eb, #7c3aed);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-stat-unit {
    font-size: 9px;
    color: #94a3b8;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-nav {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    margin: 0;
    padding: 0 10px 4px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-nav::-webkit-scrollbar {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-event-nav,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-links {
    display: flex;
    gap: 6px;
    flex-wrap: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-nav-arrow,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-link {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    height: 26px;
    border: 1px solid var(--kfs-border);
    background: rgba(255, 255, 255, 0.95);
    border-radius: 7px;
    padding: 0 8px;
    font-size: 10px;
    font-weight: 700;
    color: #334155;
    transition: all 0.2s ease;
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-link.is-results {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-link.is-ranking {
    background: #f5f3ff;
    border-color: #c4b5fd;
    color: #6d28d9;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-link.is-top {
    background: #ecfeff;
    border-color: #67e8f9;
    color: #0e7490;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact {
    background: rgba(255, 255, 255, 0.94);
    border-bottom-color: rgba(226, 232, 240, 0.95);
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-header-top {
    padding: 4px 10px 2px;
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-brand-icon {
    width: 24px;
    height: 24px;
    border-radius: 7px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-brand-label {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-event-name {
    font-size: 12px;
    max-width: min(560px, calc(100vw - 215px));
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-selection-closed-badge {
    font-size: 9px;
    padding: 2px 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-cost-badge {
    padding: 3px 7px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-cost-label {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact #header-event-points {
    font-size: 14px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-nav {
    gap: 4px;
    padding: 0 10px 3px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-nav-arrow,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-page-link {
    height: 24px;
    padding: 0 7px;
    font-size: 9px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-nav-arrow:hover,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-link:hover {
    transform: translateY(-1px);
    border-color: #93c5fd;
    color: #2563eb;
    background: linear-gradient(135deg, #eff6ff, #fff);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-nav-arrow.is-disabled {
    opacity: 0.45;
    pointer-events: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-inline-tab-panels {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-deadline-countdown {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    height: 30px;
    border-radius: 10px;
    border: 1px solid #fecaca;
    background: linear-gradient(135deg, #fef2f2, #fff1f2);
    color: #991b1b;
    font-size: 11px;
    font-weight: 800;
    padding: 0 10px;
    margin: 0 2px 8px;
    animation: deadlinePulse 2s ease-in-out infinite;
}

@keyframes deadlinePulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); }
    50% { box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.1); }
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-deadline-label {
    color: #dc2626;
    font-size: 10px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-deadline-time {
    color: #b91c1c;
    letter-spacing: 0.04em;
    font-weight: 900;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-table-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
    flex-wrap: wrap;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-search-group {
    background: #fff;
    border: 1px solid var(--kfs-border);
    border-radius: 12px;
    padding: 8px 10px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-search-group {
    width: min(100%, 340px);
    margin-left: auto;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-region-filter-group {
    width: 100%;
    display: flex;
    align-items: flex-start;
    gap: 8px;
    background: #fff;
    border: 1px solid var(--kfs-border);
    border-radius: 12px;
    padding: 8px 10px;
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.04);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-region-filter-label {
    font-size: 12px;
    font-weight: 800;
    color: #334155;
    line-height: 30px;
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-region-filter-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-region-filter-btn {
    height: 28px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f8fafc;
    color: #334155;
    font-size: 11px;
    font-weight: 800;
    padding: 0 10px;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-region-filter-btn.is-active {
    background: #dbeafe;
    border-color: #60a5fa;
    color: #1e40af;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-search-input {
    width: 100%;
    height: 34px;
    border: 1px solid var(--kfs-border);
    border-radius: 8px;
    background: #f8fafc;
    color: #0f172a;
    padding: 0 10px;
    font-size: 13px;
    outline: none;
    transition: all 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-search-input:focus {
    border-color: #93c5fd;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
    background: #fff;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-top-selected-player-banner {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: linear-gradient(135deg, #eff6ff 0%, #ffffff 100%);
    color: #1e3a8a;
    font-size: 13px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-top-selected-player-label {
    font-weight: 900;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-top-selected-player-name {
    color: #1d4ed8;
    font-weight: 900;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-top-selected-player-count {
    color: #1e40af;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-indicator {
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #fdba74;
    border-left: 4px solid #f59e0b;
    border-radius: 12px;
    background: linear-gradient(180deg, #fffbeb, #fff7ed);
    box-shadow: 0 6px 16px rgba(245, 158, 11, 0.12);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-indicator.is-confirmed {
    border-color: #86efac;
    border-left-color: #16a34a;
    background: linear-gradient(180deg, #f0fdf4, #ecfdf5);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-title {
    margin: 0 0 4px;
    font-size: 13px;
    font-weight: 900;
    color: #b45309;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-indicator.is-confirmed .kfs-combo-title {
    color: #166534;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-subtitle {
    margin: 0 0 8px;
    color: #78350f;
    font-size: 11px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-item {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    border-radius: 8px;
    padding: 7px 9px;
    font-size: 12px;
    font-weight: 800;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-item.hint {
    background: rgba(251, 146, 60, 0.12);
    color: #9a3412;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-combo-item.confirmed {
    background: rgba(22, 163, 74, 0.12);
    color: #166534;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-leader-skill-banner {
    display: none;
    align-items: center;
    gap: 10px;
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid rgba(245, 158, 11, 0.65);
    border-radius: 12px;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #78350f;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-leader-skill-icon {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #92400e;
    color: #ffffff;
    font-weight: 900;
    line-height: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-leader-skill-copy {
    min-width: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-leader-skill-title {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-leader-skill-desc {
    margin-top: 2px;
    font-size: 12px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-container {
    border: 1px solid rgba(226, 232, 240, 0.8);
    border-radius: 18px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .grid-layout {
    display: grid;
    grid-template-columns: 46px 56px minmax(180px, 1fr) 60px 52px 52px 72px 64px 56px 56px;
    align-items: center;
    gap: 4px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-header {
    background: linear-gradient(180deg, #f8fafc, #f1f5f9);
    border-bottom: 1px solid #e2e8f0;
    padding: 7px 8px;
    color: #64748b;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-sort-trigger {
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 0;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-sort-trigger::after {
    content: '';
    display: inline-block;
    margin-left: 4px;
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 6px solid transparent;
    vertical-align: middle;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-sort-trigger.is-active::after {
    border-top-color: #334155;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-sort-trigger.is-asc::after {
    transform: rotate(180deg);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-col {
    min-width: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-select,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-grade {
    text-align: center;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-cost,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-score,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-win,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-odds,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-avg,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-venue {
    text-align: right;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-term,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-age {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1;
    color: #475569;
    white-space: nowrap;
    letter-spacing: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row .kfs-pl-win,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row .kfs-pl-odds,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row .kfs-pl-avg {
    font-family: 'Montserrat', sans-serif;
    font-size: 10px;
    font-weight: 800;
    color: #475569;
}

/* 今開催pt: デフォルト（計算前）は一番右に表示 */
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-venue {
    order: 10;
}

/* 今開催pt: 計算後はコストの左側に表示 */
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-venue-calculated .kfs-pl-venue {
    order: 4;
}

/* 今開催ptの値がある場合の目立つスタイル */
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-venue-highlight {
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border-radius: 4px;
    padding: 2px 4px;
    margin: -2px 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-venue-num {
    font-family: 'Montserrat', sans-serif;
    font-size: 11px;
    font-weight: 900;
    color: #b45309;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-body {
    background: #fff;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row,
#kfs-plugin-unique-wrapper.kfs-page-select_players .player-row {
    position: relative;
    padding: 4px 6px;
    min-height: 36px;
    border-bottom: 1px solid #f1f5f9;
    transition: all 0.25s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-container p:empty,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-container br {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row p,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row .kfs-pl-col p {
    margin: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-name > p {
    margin: 0 !important;
    padding: 0 !important;
    display: inline;
    line-height: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row:hover,
#kfs-plugin-unique-wrapper.kfs-page-select_players .player-row:hover {
    background: linear-gradient(90deg, rgba(37, 99, 235, 0.04), rgba(139, 92, 246, 0.02));
    transform: translateX(2px);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row.kfs-row-selected,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row.is-selected {
    background: linear-gradient(90deg, rgba(16, 185, 129, 0.08), rgba(37, 99, 235, 0.04), #fff);
    animation: rowSelectPulse 0.4s ease;
}

@keyframes rowSelectPulse {
    0% { background-color: rgba(16, 185, 129, 0.2); }
    100% { background-color: transparent; }
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row.kfs-row-selected::before,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row.is-selected::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    background: linear-gradient(180deg, #10b981, #2563eb);
    border-radius: 0 4px 4px 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-toggle-btn {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-btn-label {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-check-icon,
#kfs-plugin-unique-wrapper.kfs-page-select_players .selection-check {
    width: 18px;
    height: 18px;
    border-radius: 4px;
    border: 1px solid #cbd5e1;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    color: #fff;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-row-selected .kfs-check-icon,
#kfs-plugin-unique-wrapper.kfs-page-select_players .is-selected .selection-check {
    background: linear-gradient(135deg, #10b981, #059669);
    border-color: #10b981;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
    animation: checkPop 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-toggle-btn .check-svg {
    color: #fff;
    opacity: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-toggle-btn .check-svg.opacity-0 {
    opacity: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-row-selected .kfs-toggle-btn .check-svg,
#kfs-plugin-unique-wrapper.kfs-page-select_players .is-selected .kfs-toggle-btn .check-svg {
    opacity: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-toggle-btn.disabled,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-toggle-btn:disabled {
    opacity: 0.45;
    cursor: not-allowed;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-pill,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-pill {
    display: inline-block;
    min-width: 38px;
    border-radius: 4px;
    padding: 2px 0;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
    color: #fff;
    letter-spacing: 0.05em;
    text-align: center;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-ss,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-ss {
    background: #ef4444;
    box-shadow: 0 2px 8px rgba(239, 68, 68, 0.3);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-s1,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-s1 {
    background: #475569;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-s2,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-s2 {
    background: #94a3b8;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-a1,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-a1 {
    background: #2563eb;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-a2,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-a2 {
    background: #4b5563;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-a3,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-a3 {
    background: #9ca3af;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-l1,
#kfs-plugin-unique-wrapper.kfs-page-select_players .badge-l1 {
    background: #7c3aed;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name {
    font-size: 12px;
    line-height: 1.15;
    font-weight: 900;
    color: #1e293b;
    margin-bottom: 1px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 100%;
    min-width: 0;
    margin-bottom: 1px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row > p {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
    flex: 0 0 auto;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row > br,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row > p > br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row .kfs-player-name {
    flex: 0 1 auto;
    min-width: 0;
    max-width: calc(100% - 3.8em);
    margin-bottom: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row > p {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row > p > br {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-hometown-badge {
    flex: 0 0 auto;
    align-self: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 0;
    padding: 1px 5px;
    border-radius: 999px;
    background: #dc2626;
    color: #ffffff;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: 0.02em;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-short {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-prefecture {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-row {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 2px;
    line-height: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-track {
    flex: 1 1 auto;
    height: 3px;
    background: #e2e8f0;
    border-radius: 999px;
    overflow: hidden;
    margin-right: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-row > p {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
    padding: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-fill {
    height: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, #10b981, #2563eb, #8b5cf6, #ec4899);
    background-size: 200% 100%;
    animation: popularityShimmer 3s ease infinite;
}

@keyframes popularityShimmer {
    0% { background-position: 100% 0; }
    50% { background-position: 0% 0; }
    100% { background-position: 100% 0; }
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-value {
    font-size: 8px;
    font-weight: 900;
    color: #2563eb;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-multi {
    font-size: 9px;
    font-weight: 900;
    color: #0f766e;
    background: linear-gradient(135deg, #d1fae5, #a7f3d0);
    padding: 1px 4px;
    border-radius: 4px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-num {
    font-size: 11px;
    font-weight: 900;
    color: #334155;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-score-num {
    font-size: 10px;
    font-weight: 800;
    color: #475569;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-empty {
    text-align: center;
    font-size: 14px;
    color: #64748b;
    padding: 40px 20px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mobile-card-layer {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-mobile-sort-bar {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-floating-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    pointer-events: none;
    padding: 0 10px 8px;
}

body.kfs-jin-override-select-players #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-floating-footer {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .premium-footer {
    pointer-events: auto;
    max-width: 1000px;
    margin: 0 auto;
    width: 100%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.95), rgba(248, 250, 252, 0.95));
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(226, 232, 240, 0.6);
    border-radius: 1.15rem;
    padding: 0.625rem;
    box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.9);
    padding-bottom: calc(0.625rem + env(safe-area-inset-bottom));
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .premium-footer p,
#kfs-plugin-unique-wrapper.kfs-page-select_players .premium-footer br {
    margin: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .premium-footer p:empty,
#kfs-plugin-unique-wrapper.kfs-page-select_players .premium-footer br {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-top-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 0.35rem;
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-team-slots {
    display: flex;
    gap: 4px;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-top: 8px;
    margin-top: -8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-team-slots::-webkit-scrollbar {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot {
    width: 32px;
    height: 32px;
    background: #f1f5f9;
    border: 1px dashed #cbd5e1;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 9px;
    font-weight: 900;
    color: #94a3b8;
    position: relative;
    overflow: hidden;
    transition: all 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.is-active,
#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected {
    border: 1px solid #38bdf8;
    background: #38bdf8;
    box-shadow: 0 4px 12px rgba(56, 189, 248, 0.35);
    color: #fff;
    overflow: visible;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected.slot-pop {
    animation: slotPop 0.28s ease-out;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .slot-no {
    position: absolute;
    top: 2px;
    left: 4px;
    font-family: 'Montserrat', sans-serif;
    font-size: 7px;
    font-weight: 800;
    line-height: 1;
    opacity: 0.9;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .slot-icon {
    font-size: 11px;
    line-height: 1;
    font-weight: 900;
    letter-spacing: 0.01em;
    transform: translateY(1px);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .slot-ace-icon {
    position: absolute;
    top: -7px;
    right: -6px;
    width: 13px;
    height: 13px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #f59e0b;
    color: #ffffff;
    border: 1px solid #ffffff;
    font-size: 8px;
    line-height: 1;
    font-weight: 900;
    z-index: 3;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .slot-ace-icon.slot-leader-icon {
    top: -7px;
    right: 8px;
    background: #1d4ed8;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .kfs-slot-tooltip {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%) translateY(4px);
    opacity: 0;
    pointer-events: none;
    z-index: 10;
    white-space: nowrap;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.96);
    color: #fff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.25);
    transition: opacity 0.16s ease, transform 0.16s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .kfs-slot-tooltip::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: rgba(15, 23, 42, 0.96);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected:hover .kfs-slot-tooltip,
#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected.is-tooltip-open .kfs-slot-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

@media (hover: none), (pointer: coarse) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected:hover .kfs-slot-tooltip {
        opacity: 0;
        transform: translateX(-50%) translateY(4px);
    }
}

#kfs-slot-tooltip-floating {
    position: fixed;
    left: 0;
    top: 0;
    z-index: 10050;
    pointer-events: none;
    white-space: nowrap;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.96);
    color: #ffffff;
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 10px 20px rgba(15, 23, 42, 0.25);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-budget-container {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px;
    text-align: right;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .budget-label {
    display: inline-block;
    font-size: 7px;
    font-weight: 900;
    color: #94a3b8;
    text-transform: uppercase;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .budget-value {
    font-family: 'Montserrat', sans-serif;
    font-size: 1.1rem;
    font-weight: 900;
    background: linear-gradient(135deg, #1e293b, #475569);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    font-style: italic;
    line-height: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-tools-grid {
    margin-top: 6px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-submit {
    flex: 2 1 0;
    width: auto;
    background: #e2e8f0;
    color: #94a3b8;
    border: none;
    padding: 0.62rem 0.7rem;
    border-radius: 0.9rem;
    font-size: 13px;
    line-height: 1.1;
    min-height: 38px;
    font-weight: 900;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-submit:not(:disabled) {
    background: linear-gradient(135deg, #10b981, #059669, #047857);
    color: #fff;
    box-shadow: 0 8px 24px rgba(16, 185, 129, 0.35);
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-submit:not(:disabled)::before {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
    animation: submitShimmer 2s ease-in-out infinite;
}

@keyframes submitShimmer {
    0% { left: -100%; }
    100% { left: 100%; }
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-submit:not(:disabled):active {
    transform: scale(0.98);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-temp-save {
    flex: 0.8 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    min-width: 0;
    margin: 0;
    background: linear-gradient(135deg, #f8fafc, #f1f5f9);
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    color: #64748b;
    font-size: 9px;
    font-weight: 700;
    cursor: pointer;
    padding: 0 8px;
    transition: all 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-temp-save:hover {
    background: linear-gradient(135deg, #fff, #f8fafc);
    border-color: #93c5fd;
    color: #2563eb;
    transform: translateY(-1px);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-expand-selection {
    flex: 0.8 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    min-width: 0;
    margin: 0;
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    border: 1px solid #93c5fd;
    border-radius: 8px;
    color: #1d4ed8;
    font-size: 10px;
    font-weight: 800;
    cursor: pointer;
    padding: 0 8px;
    transition: all 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-expand-selection:hover {
    background: linear-gradient(135deg, #ffffff, #eff6ff);
    border-color: #60a5fa;
    color: #1e40af;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-ai-pick {
    flex: 1 1 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    min-width: 0;
    margin: 0;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    border: 1px solid #f59e0b;
    border-radius: 8px;
    color: #92400e;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
    padding: 0 8px;
    transition: all 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-ai-pick:hover {
    background: linear-gradient(135deg, #fff7ed, #fef3c7);
    border-color: #d97706;
    color: #78350f;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-clear-selection {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    min-width: 0;
    margin: 0;
    background: linear-gradient(135deg, #fee2e2, #fecaca);
    border: 1px solid #f87171;
    border-radius: 8px;
    color: #991b1b;
    font-size: 10px;
    font-weight: 900;
    cursor: pointer;
    padding: 0 8px;
    transition: all 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .btn-clear-selection:hover {
    background: linear-gradient(135deg, #fff1f2, #fee2e2);
    border-color: #ef4444;
    color: #7f1d1d;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal {
    position: fixed;
    inset: 0;
    z-index: 10020;
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.46);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal-dialog {
    position: relative;
    width: min(560px, calc(100% - 24px));
    margin: 0;
    border-radius: 14px;
    border: 1px solid #e2e8f0;
    background: #fff;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.28);
    padding: 14px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #fff;
    color: #334155;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal-title {
    margin: 0 28px 10px 0;
    font-size: 15px;
    font-weight: 900;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal-content {
    display: grid;
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet {
    position: fixed;
    inset: 0;
    z-index: 10024;
    display: none;
}

body.kfs-sheet-open {
    overflow: hidden;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet.is-open {
    display: block;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.36);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-panel {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0 auto;
    width: min(560px, 100%);
    max-height: min(78dvh, 620px);
    border-radius: 16px 16px 0 0;
    border: 1px solid #dbeafe;
    border-bottom: 0;
    background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
    box-shadow: 0 -16px 34px rgba(15, 23, 42, 0.2);
    padding: 8px 12px calc(10px + env(safe-area-inset-bottom));
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-handle {
    width: 44px;
    height: 4px;
    border-radius: 999px;
    background: #cbd5e1;
    margin: 0 auto 2px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-title {
    margin: 0;
    font-size: 15px;
    font-weight: 900;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-close {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    border: 1px solid #bfdbfe;
    background: #fff;
    color: #1e3a8a;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected.kfs-slot-starter {
    border-color: #2563eb;
    background: #2563eb;
    box-shadow: 0 4px 12px rgba(37, 99, 235, 0.35);
    color: #ffffff;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected.kfs-slot-bench {
    border-color: #64748b;
    background: #64748b;
    box-shadow: 0 4px 12px rgba(51, 65, 85, 0.3);
    color: #ffffff;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot.kfs-slot-selected.kfs-slot-ace {
    border-color: #f59e0b;
    box-shadow: 0 0 0 2px rgba(245, 158, 11, 0.35), 0 4px 12px rgba(51, 65, 85, 0.3);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-subtitle {
    margin: 0;
    font-size: 12px;
    color: #475569;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-body {
    overflow: auto;
    min-height: 0;
    display: grid;
    gap: 8px;
    padding-bottom: 4px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-meta-pill {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 0 10px;
    border-radius: 999px;
    border: 1px solid #bfdbfe;
    background: #ffffff;
    color: #1e3a8a;
    font-size: 11px;
    font-weight: 800;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-meta-pill.is-over {
    border-color: #fecaca;
    color: #b91c1c;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-copy {
    margin: 0;
    font-size: 11px;
    color: #64748b;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-list {
    display: grid;
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-list.is-starter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option {
    width: 100%;
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 10px;
    border-radius: 12px;
    border: 1px solid #bfdbfe;
    background: #fff;
    color: #0f172a;
    text-align: left;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option.is-active {
    border-color: #2563eb;
    background: #eff6ff;
    box-shadow: 0 6px 14px rgba(37, 99, 235, 0.18);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-no {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #1d4ed8;
    color: #fff;
    font-size: 11px;
    font-weight: 800;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-main {
    min-width: 0;
    display: grid;
    gap: 1px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-name {
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-cost {
    font-size: 11px;
    color: #475569;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: #1e40af;
    color: #fff;
    font-size: 10px;
    font-weight: 800;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-option-tag.is-muted {
    background: #e2e8f0;
    color: #334155;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-starter-card {
    grid-template-columns: minmax(0, 1fr);
    align-content: center;
    gap: 2px;
    min-height: 48px;
    padding: 6px 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-starter-name {
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-starter-cost {
    font-size: 10px;
    font-weight: 700;
    color: #475569;
    line-height: 1.1;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-footer {
    display: grid;
    grid-template-columns: 1fr 1.35fr;
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-secondary,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-primary {
    min-height: 42px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 800;
    border: 1px solid transparent;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-secondary {
    border-color: #cbd5e1;
    background: #fff;
    color: #334155;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-primary {
    background: linear-gradient(135deg, #2563eb, #1d4ed8);
    color: #fff;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-primary:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal {
    position: fixed;
    inset: 0;
    z-index: 10025;
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.56);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal-dialog {
    position: relative;
    width: min(560px, calc(100% - 24px));
    margin: 0;
    border-radius: 18px;
    border: 1px solid #bfdbfe;
    background: linear-gradient(180deg, #ffffff, #eff6ff);
    box-shadow: 0 22px 56px rgba(15, 23, 42, 0.3);
    padding: 18px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid #bfdbfe;
    background: #ffffff;
    color: #1e3a8a;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal-title {
    margin: 0 36px 8px 0;
    font-size: 18px;
    font-weight: 900;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal-copy {
    margin: 0 0 12px;
    color: #475569;
    font-size: 13px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option-list {
    display: grid;
    gap: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #bfdbfe;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,0.96), rgba(219,234,254,0.72));
    color: #0f172a;
    text-align: left;
    cursor: pointer;
    transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option:hover,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option:focus-visible {
    transform: translateY(-1px);
    border-color: #60a5fa;
    box-shadow: 0 12px 24px rgba(37, 99, 235, 0.16);
    outline: none;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option:disabled {
    opacity: 0.6;
    cursor: wait;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    border-radius: 999px;
    background: #1d4ed8;
    color: #ffffff;
    font-size: 13px;
    font-weight: 900;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option-name {
    min-width: 0;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.4;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option-multiplier {
    padding: 6px 10px;
    border-radius: 999px;
    background: #0f172a;
    color: #dbeafe;
    font-family: var(--kfs-font-number);
    font-size: 13px;
    font-weight: 800;
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper .kfs-share-modal {
    position: fixed;
    inset: 0;
    z-index: 10030;
    display: none;
}

#kfs-plugin-unique-wrapper .kfs-share-modal.is-open {
    display: flex;
    align-items: center;
    justify-content: center;
}

#kfs-plugin-unique-wrapper .kfs-share-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(15, 23, 42, 0.56);
}

#kfs-plugin-unique-wrapper .kfs-share-modal-dialog {
    position: relative;
    width: min(720px, calc(100% - 24px));
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    margin: 0;
    padding: 20px;
    border-radius: 18px;
    border: 1px solid #dbeafe;
    background: #fff;
    box-shadow: 0 20px 60px rgba(15, 23, 42, 0.32);
}

#kfs-plugin-unique-wrapper .kfs-share-modal-close {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 32px;
    height: 32px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #fff;
    color: #334155;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

@media (max-width: 768px) {
    #kfs-plugin-unique-wrapper .kfs-share-modal-close {
        top: 18px;
        right: 12px;
    }
}

#kfs-plugin-unique-wrapper .kfs-share-modal-title {
    margin: 0 40px 8px 0;
    color: #0f172a;
    font-size: 20px;
    font-weight: 900;
}

#kfs-plugin-unique-wrapper .kfs-share-modal-message {
    margin: 0 0 14px;
    color: #1e293b;
    font-size: 15px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper .kfs-share-modal-body {
    margin-bottom: 16px;
    border: 1px solid #e2e8f0;
    border-radius: 14px;
    background: #f8fafc;
    padding: 14px;
}

#kfs-plugin-unique-wrapper .kfs-share-summary-list {
    display: grid;
    gap: 6px;
    margin: 0;
    padding: 0;
    list-style: none;
    color: #0f172a;
    font-size: 14px;
    font-weight: 600;
}

#kfs-plugin-unique-wrapper .kfs-share-hashtag {
    margin-top: 10px;
    color: #2563eb;
    font-size: 13px;
    font-weight: 800;
}

#kfs-plugin-unique-wrapper .kfs-share-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
}

#kfs-plugin-unique-wrapper .kfs-share-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #fff;
    color: #0f172a;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

#kfs-plugin-unique-wrapper .kfs-share-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

#kfs-plugin-unique-wrapper .kfs-share-btn.is-x {
    border-color: #111827;
    background: #111827;
    color: #fff;
}

#kfs-plugin-unique-wrapper .kfs-share-btn.is-line {
    border-color: #16a34a;
    background: #16a34a;
    color: #fff;
}

#kfs-plugin-unique-wrapper .kfs-share-btn.is-facebook {
    border-color: #2563eb;
    background: #2563eb;
    color: #fff;
}

#kfs-plugin-unique-wrapper .kfs-share-btn.is-instagram {
    border-color: #db2777;
    background: linear-gradient(135deg, #fb7185, #db2777 55%, #7c3aed);
    color: #fff;
}

#kfs-plugin-unique-wrapper .kfs-share-btn.is-copy,
#kfs-plugin-unique-wrapper .kfs-share-btn.is-download {
    border-color: #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

#kfs-plugin-unique-wrapper .kfs-share-image-wrap {
    display: grid;
    gap: 10px;
}

#kfs-plugin-unique-wrapper .kfs-share-image-preview {
    display: block;
    width: 100%;
    border: 1px solid #dbeafe;
    border-radius: 16px;
    background: #eff6ff;
}

#kfs-plugin-unique-wrapper .kfs-share-image-note {
    margin: 0;
    color: #475569;
    font-size: 12px;
    font-weight: 600;
}

#kfs-plugin-unique-wrapper .kfs-event-page-link.kfs-share-launch {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-mode-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-mode-btn,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-action-btn {
    min-height: 36px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    color: #1f2937;
    font-size: 12px;
    font-weight: 800;
    padding: 0 10px;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-mode-btn.is-active {
    border-color: #2563eb;
    background: #eff6ff;
    color: #1d4ed8;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-inline-input {
    display: flex;
    gap: 8px;
    align-items: center;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-number-input {
    width: 170px;
    height: 36px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 0 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-result {
    border: 1px solid #d1fae5;
    background: #ecfdf5;
    color: #065f46;
    border-radius: 10px;
    padding: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-picked-list {
    margin: 6px 0 0;
    padding-left: 18px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-action-row {
    display: flex;
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-panel {
    margin-top: 0;
    border-radius: 10px;
    border: 1px solid transparent;
    background: rgba(239, 246, 255, 0.97);
    box-shadow: 0 10px 24px rgba(30, 64, 175, 0.14);
    padding: 0 8px;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(6px);
    transition: max-height 0.25s ease, opacity 0.22s ease, transform 0.22s ease, margin-top 0.2s ease, padding 0.2s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-panel.is-open {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    margin-top: 6px;
    border-color: #bfdbfe;
    padding: 8px;
    max-height: min(52vh, 380px);
    opacity: 1;
    transform: translateY(0);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-head > br {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-title {
    font-size: 11px;
    font-weight: 900;
    color: #1e3a8a;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-close {
    border: 1px solid #93c5fd;
    background: #fff;
    color: #1e40af;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    font-size: 14px;
    line-height: 1;
    padding: 0;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid;
    gap: 4px;
    min-height: 0;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding-right: 2px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-item {
    display: grid;
    grid-template-columns: 18px 1fr auto;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #dbeafe;
    border-radius: 8px;
    padding: 4px 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-no {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 999px;
    background: #1d4ed8;
    color: #fff;
    font-size: 10px;
    font-weight: 900;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-name {
    font-size: 12px;
    font-weight: 700;
    color: #0f172a;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-cost {
    font-size: 11px;
    font-weight: 800;
    color: #1e40af;
    font-family: var(--kfs-font-number);
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-empty {
    font-size: 11px;
    color: #475569;
    text-align: center;
    padding: 8px 4px 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-save-status {
    min-height: 12px;
    margin-top: 4px;
    text-align: center;
    color: #475569;
    font-size: 10px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-footer-spacer {
    height: 110px;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players .hide-sp,
#kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-hide-sp {
    display: block;
}

#kfs-plugin-unique-wrapper.kfs-page-select_players #budget-circle {
    transition: stroke-dashoffset 0.75s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (max-width: 1024px) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form {
        width: min(var(--app-max-width), calc(100% - 20px));
        padding-top: 0;
        padding-bottom: 120px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .container-inner {
        width: min(var(--app-max-width), calc(100% - 20px));
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-message {
        width: min(var(--app-max-width), calc(100% - 20px));
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-table-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-search-group {
        width: 100%;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-region-filter-group {
        width: 100%;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-inner {
        flex-direction: column;
        align-items: stretch;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-left {
        width: 100%;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-right {
        border-left: none;
        border-top: 1px solid #e2e8f0;
        padding-left: 0;
        padding-top: 10px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

@media (max-width: 782px) {
    .admin-bar #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header {
        top: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form {
        padding-top: 0;
    }

    .admin-bar #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form {
        padding-top: 0;
    }
}

@media (max-width: 768px) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root .kfs-mobile-card-layer,
    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-card-layer,
    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root .kfs-mobile-sort-bar,
    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-sort-bar {
        display: none !important;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root .kfs-player-list-container,
    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-player-list-container {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        border: 1px solid rgba(226, 232, 240, 0.8) !important;
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
        pointer-events: auto !important;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-sort-bar {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        margin-bottom: 10px;
        padding: 2px 0 6px;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-sort-bar::-webkit-scrollbar {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-sort-trigger {
        flex: 0 0 auto;
        min-height: 34px;
        padding: 0 12px;
        border: 1px solid #cbd5e1;
        border-radius: 999px;
        background: #ffffff;
        color: #334155;
        font-size: 11px;
        font-weight: 900;
        letter-spacing: 0.04em;
        text-transform: none;
        white-space: nowrap;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-sort-trigger.is-active {
        border-color: #60a5fa;
        background: #eff6ff;
        color: #1d4ed8;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-sort-trigger::after {
        margin-left: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-card-layer {
        display: grid;
        gap: 10px;
        margin-bottom: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-player-list-container {
        position: absolute;
        left: -99999px;
        top: auto;
        width: 1px;
        height: 1px;
        overflow: hidden;
        border: 0;
        box-shadow: none;
        pointer-events: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-card {
        border: 1px solid rgba(226, 232, 240, 0.9);
        border-radius: 14px;
        background: linear-gradient(180deg, #ffffff, #f8fafc);
        box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
        padding: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-card.is-selected {
        border-color: rgba(16, 185, 129, 0.55);
        box-shadow: 0 10px 26px rgba(16, 185, 129, 0.14);
        background: linear-gradient(180deg, #f0fdf4, #ffffff);
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-card-head {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 8px;
        margin-bottom: 8px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-main {
        min-width: 0;
        flex: 1 1 auto;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-grade {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 38px;
        min-height: 20px;
        padding: 0 7px;
        border-radius: 999px;
        background: #e2e8f0;
        color: #0f172a;
        font-size: 10px;
        font-weight: 900;
        line-height: 1;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-name {
        margin-top: 4px;
        color: #0f172a;
        font-size: 14px;
        font-weight: 900;
        line-height: 1.3;
        word-break: break-word;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-meta {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 6px;
        margin-bottom: 8px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-stat {
        padding: 7px 9px;
        border: 1px solid #e2e8f0;
        border-radius: 10px;
        background: #ffffff;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-stat-label {
        display: block;
        margin-bottom: 3px;
        color: #64748b;
        font-size: 9px;
        font-weight: 800;
        letter-spacing: 0.04em;
        text-transform: uppercase;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-stat-value {
        display: block;
        color: #0f172a;
        font-family: var(--kfs-font-number);
        font-size: 15px;
        font-weight: 900;
        line-height: 1.1;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-action {
        width: 100%;
        min-height: 40px;
        border: 1px solid #cbd5e1;
        border-radius: 10px;
        background: linear-gradient(135deg, #ffffff, #f8fafc);
        color: #1e293b;
        font-size: 12px;
        font-weight: 900;
        line-height: 1.2;
        padding: 8px 10px;
        touch-action: manipulation;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-card.is-selected .kfs-mobile-player-action {
        border-color: #10b981;
        background: linear-gradient(135deg, #10b981, #059669);
        color: #ffffff;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-action:disabled {
        opacity: 0.48;
        cursor: not-allowed;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-app-root.is-mobile-ui .kfs-mobile-player-empty {
        padding: 16px 14px;
        border: 1px dashed #cbd5e1;
        border-radius: 14px;
        background: #ffffff;
        color: #64748b;
        font-size: 13px;
        font-weight: 700;
        text-align: center;
    }

    body:not(.admin-bar) #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header {
        top: 0 !important;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form {
        width: calc(100% - (var(--kfs-gutter-sp) * 2));
        padding-top: 0;
        padding-bottom: 108px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .container-inner {
        width: calc(100% - (var(--kfs-gutter-sp) * 2));
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-message {
        width: calc(100% - (var(--kfs-gutter-sp) * 2));
        margin-top: 4px;
        margin-bottom: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header-top {
        padding: 4px 6px 2px;
        gap: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-brand-icon {
        width: 24px;
        height: 24px;
        border-radius: 7px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-brand-label {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-event-name {
        max-width: none;
        font-size: 11px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-event-title-row {
        gap: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-closed-badge {
        font-size: 8px;
        padding: 2px 5px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-cost-badge {
        padding: 3px 6px;
        border-radius: 8px;
        max-width: 130px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-label {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players #header-event-points {
        font-size: 14px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-unit {
        font-size: 8px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-nav {
        padding: 4px 6px;
        gap: 6px 8px;
        justify-content: center;
        flex-wrap: wrap;
        overflow: visible;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header:not(.is-compact) .kfs-page-links {
        display: flex;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-page-links {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-event-nav {
        gap: 4px;
        flex-wrap: nowrap;
        width: 100%;
        justify-content: center;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-links {
        gap: 4px;
        flex-wrap: wrap;
        justify-content: center;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-nav-arrow,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-page-link {
        height: 28px;
        border-radius: 8px;
        padding: 0 10px;
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-header-top {
        padding: 3px 6px 1px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-brand-icon {
        width: 20px;
        height: 20px;
        border-radius: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-event-name {
        font-size: 10px;
        max-width: 58vw;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-cost-badge {
        padding: 2px 5px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact #header-event-points {
        font-size: 12px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-select-nav {
        padding: 0 6px 1px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-nav-arrow,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-header.is-compact .kfs-page-link {
        height: 24px;
        padding: 0 8px;
        font-size: 9px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-dashboard {
        border-radius: 12px;
        padding: 6px;
        margin-bottom: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-inner {
        display: grid;
        grid-template-columns: 56px minmax(0, 1fr);
        align-items: center;
        padding: 6px;
        gap: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-circle-container {
        width: 56px;
        height: 56px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-percent {
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-left {
        gap: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-info {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-right {
        border: 0;
        padding: 0;
        gap: 4px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-stat-label {
        font-size: 8px;
        margin-bottom: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-stat-value {
        font-size: 14px;
        line-height: 1;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-stat-unit {
        font-size: 8px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .grid-layout {
        grid-template-columns: 34px 40px minmax(110px, 1fr) 50px 42px 42px 52px 48px 50px 50px;
        gap: 2px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .hide-sp,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-hide-sp {
        display: none !important;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-header {
        padding: 6px 4px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row {
        padding: 4px 3px;
        min-height: 34px;
        cursor: pointer;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name {
        font-size: 10px;
        display: block;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-row {
        gap: 3px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-hometown-badge {
        padding: 1px 4px;
        font-size: 9px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-name {
        position: relative;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-name-short {
        display: none;
        position: sticky;
        left: 78px;
        z-index: 4;
        width: 3.4em;
        padding: 1px 3px;
        border-radius: 4px;
        background: rgba(255, 255, 255, 0.94);
        box-shadow: 0 1px 0 rgba(148, 163, 184, 0.45);
        font-size: 10px;
        font-weight: 900;
        line-height: 1.15;
        color: #0f172a;
        letter-spacing: 0.03em;
        white-space: nowrap;
        overflow: hidden;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-container.is-h-scrolled .kfs-player-name-short {
        display: inline-block;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-container.is-h-scrolled .kfs-player-name {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-btn-label {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-check-icon,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .selection-check {
        width: 16px;
        height: 16px;
        border-radius: 4px;
        border-width: 1px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-grade-pill,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .badge-pill {
        min-width: 36px;
        font-size: 7px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-popularity-multi {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-cost-num {
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-score-num {
        font-size: 9px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-list-header,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-player-row {
        min-width: 640px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-win,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-odds,
    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-pl-avg {
        font-size: 9px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-venue-num {
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-floating-footer {
        padding-left: var(--kfs-gutter-sp);
        padding-right: var(--kfs-gutter-sp);
        padding-bottom: calc(4px + env(safe-area-inset-bottom));
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .premium-footer {
        border-radius: 14px;
        padding: 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-top-row {
        gap: 4px;
        margin-bottom: 4px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-team-slots {
        gap: 3px;
        flex: 1 1 auto;
        min-width: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot {
        width: 26px;
        height: 26px;
        border-radius: 6px;
        font-size: 8px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .slot-no {
        font-size: 6px;
        top: 2px;
        left: 3px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot .slot-icon {
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-budget-container {
        gap: 3px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .budget-label {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .budget-value {
        font-size: 15px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-actions {
        gap: 4px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-tools-grid {
        margin-top: 4px;
        gap: 4px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .btn-submit {
        min-height: 34px;
        padding: 0.55rem 0.5rem;
        border-radius: 0.75rem;
        font-size: 12px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .btn-submit .icon-arrow {
        width: 14px;
        height: 14px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .btn-temp-save {
        min-width: 0;
        height: 32px;
        font-size: 9px;
        padding: 0 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .btn-expand-selection {
        min-width: 0;
        height: 32px;
        font-size: 9px;
        padding: 0 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .btn-ai-pick {
        min-width: 0;
        height: 32px;
        font-size: 9px;
        padding: 0 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .btn-clear-selection {
        min-width: 0;
        height: 32px;
        font-size: 9px;
        padding: 0 6px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-modal-dialog {
        width: calc(100% - 16px);
        margin: 0;
        padding: 12px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-mode-list {
        grid-template-columns: 1fr;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ai-inline-input {
        flex-direction: column;
        align-items: stretch;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-panel.is-open {
        max-height: min(50vh, 340px);
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-title {
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-name {
        font-size: 11px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-selection-preview-cost {
        font-size: 10px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-save-status {
        min-height: 0;
        margin-top: 2px;
        font-size: 9px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-footer-spacer {
        height: 84px;
    }
}

@media (max-width: 420px) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players #kfs-save-form {
        padding-top: 0;
        padding-bottom: 100px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-select-event-name {
        max-width: 56vw;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-left {
        flex-direction: row;
        align-items: center;
        gap: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-right {
        grid-template-columns: 1fr;
        gap: 2px;
        padding-top: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-budget-right .kfs-budget-stat:first-child {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-deadline-countdown {
        width: 100%;
        justify-content: center;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-budget-container {
        display: none;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot {
        width: 24px;
        height: 24px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-footer-spacer {
        height: 78px;
    }
}

@media (max-width: 400px) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-slot {
        width: 30px;
        height: 30px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-team-slots {
        gap: 3px;
    }
}

@keyframes checkPop {
    0% {
        transform: scale(0.82);
    }

    50% {
        transform: scale(1.16);
    }

    100% {
        transform: scale(1);
    }
}

@keyframes slotPop {
    0% {
        transform: scale(0.52) rotate(-8deg);
        opacity: 0;
    }

    100% {
        transform: scale(1) rotate(0);
        opacity: 1;
    }
}

@keyframes miniPop {
    0% {
        transform: scale(0.6);
    }

    100% {
        transform: scale(1);
    }
}

/* --- JIN Theme: center plugin pages in content area (except select_players) --- */
body.kfs-jin-override #main-contents,
body.kfs-jin-override #main-contents .cps-post-box,
body.kfs-jin-override #main-contents .cps-post,
body.kfs-jin-override #main-contents .cps-post-main-box,
body.kfs-jin-override #main-contents .cps-post-main,
body.kfs-jin-override #main-contents .entry-content {
    max-width: none !important;
    width: 100% !important;
}

body.kfs-jin-override #main-contents .cps-post-main,
body.kfs-jin-override #main-contents .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body.kfs-jin-override #main-contents #kfs-plugin-unique-wrapper:not(.kfs-page-select_players),
#main-contents #kfs-plugin-unique-wrapper:not(.kfs-page-select_players),
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) {
    width: calc(100% - 24px) !important;
    max-width: 1100px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    margin-top: 20px !important;
    margin-bottom: 20px !important;
}

@media (max-width: 768px) {
    #main-contents #kfs-plugin-unique-wrapper:not(.kfs-page-select_players),
    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) {
        width: calc(100% - 12px) !important;
        margin-top: 10px !important;
        margin-bottom: 10px !important;
    }
}

#kfs-plugin-unique-wrapper.kfs-page-trophy p:empty,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-content p:empty,
#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-panel-head p:empty {
    display: none !important;
    margin: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy br {
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-rarity-note {
    margin-top: 12px;
    padding: 12px 14px;
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 14px;
    background: rgba(15, 23, 42, 0.26);
    color: #dbeafe;
    font-size: 13px;
    line-height: 1.7;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-sort-form {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 18px;
    flex-wrap: wrap;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-sort-form label {
    color: #cbd5e1;
    font-size: 13px;
    font-weight: 700;
}

#kfs-plugin-unique-wrapper.kfs-page-trophy .kfs-trophy-sort-form select {
    min-width: 220px;
}

/* --- Default/info pages: centered content block --- */
#kfs-plugin-unique-wrapper.kfs-page-default .kfs-page-head,
#kfs-plugin-unique-wrapper.kfs-page-default .main-content,
#kfs-plugin-unique-wrapper.kfs-page-whatiskeirinfantasy .kfs-page-head,
#kfs-plugin-unique-wrapper.kfs-page-whatiskeirinfantasy .main-content {
    text-align: center;
}

#kfs-plugin-unique-wrapper.kfs-page-default .main-content p,
#kfs-plugin-unique-wrapper.kfs-page-whatiskeirinfantasy .main-content p {
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
}

/* --- Calendar score cards: final layout fix --- */
#kfs-plugin-unique-wrapper.kfs-page-calendar {
    background:
        radial-gradient(1400px 500px at -15% -20%, rgba(14, 165, 233, 0.13), transparent 52%),
        radial-gradient(1100px 420px at 115% 0%, rgba(16, 185, 129, 0.12), transparent 50%),
        linear-gradient(160deg, #f5f8ff 0%, #f7fdfc 45%, #f8fafc 100%) !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero {
    background:
        linear-gradient(130deg, rgba(15, 23, 42, 0.96), rgba(30, 41, 59, 0.92)),
        radial-gradient(circle at 10% -20%, rgba(14, 165, 233, 0.34), transparent 40%) !important;
    border-bottom: 1px solid rgba(148, 163, 184, 0.38) !important;
    box-shadow: 0 10px 30px rgba(15, 23, 42, 0.24) !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-topbar {
    margin-bottom: 12px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero-metric {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(203, 213, 225, 0.36) !important;
    border-radius: 12px;
    padding: 10px 12px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero-metric-label {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #cbd5e1;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero-metric-value {
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-variant-numeric: tabular-nums;
    font-size: 20px;
    font-weight: 900;
    color: #ffffff;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .main-content {
    background: transparent;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-brand-title {
    font-size: 15px;
    font-weight: 900;
    letter-spacing: 0.02em;
    color: #f8fafc;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-brand-subtitle {
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #bae6fd;
    opacity: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-nav-link {
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.01em;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-title {
    font-size: clamp(18px, 2.2vw, 24px);
    font-weight: 900;
    color: #0f172a;
    letter-spacing: 0.01em;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-meta {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    border-radius: 999px;
    border: 1px solid #bfdbfe !important;
    background: #eff6ff !important;
    color: #1d4ed8 !important;
    padding: 2px 10px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.03em;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-empty-message,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-user-loading {
    font-size: 14px;
    font-weight: 700;
    color: #475569;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .user-stats .stat-value,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card .kfs-event-info-value,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card .kfs-event-multiplier,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card .kfs-event-participants,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-td-period,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-mobile-event-period {
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    font-variant-numeric: tabular-nums;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .user-stats {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 20px 0;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .user-stats .stat-card {
    background: #ffffff;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 12px 14px;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
    display: flex;
    flex-direction: column;
    gap: 4px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .user-stats .stat-label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #475569;
    margin: 0;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .user-stats .stat-value {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 900;
    color: #0f172a;
    margin: 0;
}

@media (max-width: 768px) {
    #kfs-plugin-unique-wrapper.kfs-page-calendar .user-stats {
        grid-template-columns: 1fr;
        margin: 12px 12px 0;
    }
}

/* --- Calendar ongoing/upcoming cards: rich visual layer --- */
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-cards-container {
    gap: 16px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming {
    border: 1px solid #dbe3ef;
    border-radius: 16px;
    background:
        radial-gradient(1200px 260px at -10% -30%, rgba(37, 99, 235, 0.08), transparent 45%),
        radial-gradient(800px 220px at 110% 120%, rgba(16, 185, 129, 0.10), transparent 45%),
        #ffffff;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    overflow: visible;
    position: relative;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming:hover {
    transform: translateY(-2px);
    box-shadow: 0 16px 32px rgba(15, 23, 42, 0.12);
    border-color: #c4d3e8;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-card-content {
    padding: 14px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-card-content p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-card-content br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 40px;
    position: relative;
    z-index: 4;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-meta {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    gap: 6px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-title {
    font-size: clamp(16px, 2.2vw, 26px);
    font-weight: 900;
    letter-spacing: 0.015em;
    line-height: 1.35;
    color: #0b1220;
    margin-top: 10px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-status {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    line-height: 1;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-status-live-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #ef4444;
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.55);
    animation: kfsCalendarLivePulse 1.8s infinite;
}

@keyframes kfsCalendarLivePulse {
    0% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.55);
    }
    70% {
        transform: scale(1);
        box-shadow: 0 0 0 6px rgba(239, 68, 68, 0);
    }
    100% {
        transform: scale(0.95);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, 0);
    }
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .status-開催中 {
    border-color: #93c5fd;
    background: #dbeafe;
    color: #1d4ed8;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .status-選手選択中 {
    border-color: #86efac;
    background: #dcfce7;
    color: #166534;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-status[data-status="準備中"] {
    border-color: #cbd5e1 !important;
    background: #f8fafc !important;
    color: #475569 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-status[data-status="選手選択中"] {
    border-color: #86efac !important;
    background: #dcfce7 !important;
    color: #166534 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-status[data-status="開催中"] {
    border-color: #93c5fd !important;
    background: #dbeafe !important;
    color: #1d4ed8 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-status[data-status="終了"],
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-status[data-status="確定済"],
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-event-status[data-status="終了"],
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-event-status[data-status="確定済"] {
    border-color: #cbd5e1 !important;
    background: #f1f5f9 !important;
    color: #334155 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-selection-state-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    line-height: 1;
    border-radius: 999px;
    border: 1px solid transparent;
    font-size: 11px;
    font-weight: 900;
    padding: 4px 10px;
    color: #111827;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-selection-state-badge.is-selected {
    background: #7dd3fc;
    border-color: #38bdf8;
    color: #111827;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-selection-state-badge.is-unselected {
    background: #fde68a;
    border-color: #f59e0b;
    color: #111827;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-withdraw-warning-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    border: 1px solid #fb923c;
    background: #fff7ed;
    color: #9a3412;
    font-weight: 900;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
    z-index: 12;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-withdraw-warning-mark {
    transform: translateY(-1px);
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-withdraw-warning-tooltip {
    position: absolute;
    left: 50%;
    bottom: calc(100% + 8px);
    transform: translateX(-50%) translateY(4px);
    opacity: 0;
    pointer-events: none;
    width: max-content;
    max-width: min(78vw, 360px);
    white-space: normal;
    text-align: left;
    border-radius: 8px;
    border: 1px solid #fdba74;
    background: #fff7ed;
    color: #7c2d12;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    padding: 8px 10px;
    box-shadow: 0 8px 20px rgba(124, 45, 18, 0.18);
    transition: opacity 0.16s ease, transform 0.16s ease;
    z-index: 20;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-withdraw-warning-tooltip::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #fdba74;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-withdraw-warning-btn:hover .kfs-withdraw-warning-tooltip,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-withdraw-warning-btn.is-open .kfs-withdraw-warning-tooltip {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

@media (hover: none), (pointer: coarse) {
    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-withdraw-warning-btn:hover .kfs-withdraw-warning-tooltip {
        opacity: 0;
        transform: translateX(-50%) translateY(4px);
    }
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-hot {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    line-height: 1;
    gap: 4px;
    border-radius: 999px;
    border: 1px solid #6ee7b7;
    background: #ecfdf5;
    color: #047857;
    font-size: 11px;
    font-weight: 900;
    padding: 2px 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-hot-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-participants {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    line-height: 1;
    border-radius: 999px;
    border: 1px solid #93c5fd;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
    padding: 2px 8px;
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-multiplier {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    margin-left: 6px;
    border-radius: 999px;
    border: 1px solid #fbbf24;
    background: #fef3c7;
    color: #92400e;
    font-size: 11px;
    font-weight: 900;
    padding: 2px 8px;
    line-height: 1;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-info-grid {
    margin-top: 4px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-info-item {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 6px 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-info-label {
    font-size: 11px;
    font-weight: 800;
    color: #475569;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-info-value {
    font-size: 18px;
    font-weight: 900;
    color: #0b1220;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-card-actions {
    border-top: 1px solid #e2e8f0;
    background: linear-gradient(180deg, rgba(248, 250, 252, 0.6), #f8fafc);
    padding: 12px 14px;
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
    flex-direction: column;
    gap: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-card-actions > br,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-card-actions > p {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background-image: none !important;
    padding-right: 14px !important;
    line-height: 1;
    min-height: 40px;
    border-radius: 12px;
    padding: 8px 14px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.01em;
    white-space: nowrap;
    width: 100%;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-ranking-table th {
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #475569;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-ranking-table td {
    font-size: 14px;
    color: #1e293b;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-mobile-event-name {
    font-size: 15px;
    font-weight: 800;
    color: #0f172a;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-mobile-event-period {
    font-size: 13px;
    color: #334155;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-link-button::before,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-link-button::after {
    content: none !important;
    display: none !important;
    background: none !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 0 !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-link-button svg {
    display: block;
    flex-shrink: 0;
    vertical-align: middle;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-link-button.kfs-select-entry-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    background-image: none !important;
    line-height: 1.2 !important;
    margin: 0 !important;
    width: 100% !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-link-button.kfs-select-entry-btn::before,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-link-button.kfs-select-entry-btn::after {
    content: none !important;
    display: none !important;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-notice {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
    color: #475569;
}

#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-btn-secondary {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
    width: 100%;
}

/* --- Calendar ended-events: remove wpautop phantom gaps --- */
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table > br,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-table-desktop > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-table-desktop > br,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-table-mobile > p,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-table-mobile > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-table-mobile > br,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-mobile-event-item > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-mobile-event-item > br,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-mobile-event-info > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-mobile-event-info > br,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-ended-detail-btn > p:empty,
#kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-ended-events-table .kfs-ended-detail-btn > br {
    display: none !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    line-height: 0 !important;
}

@media (max-width: 768px) {
    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero-metrics {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-hero-metric-value {
        font-size: 18px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-header {
        flex-wrap: wrap;
    }

    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-section-meta {
        margin-left: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-nav-toggle {
        display: none !important;
    }

    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-title {
        font-size: clamp(14px, 3.8vw, 18px);
    }

    #kfs-plugin-unique-wrapper.kfs-page-calendar .kfs-event-card.kfs-event-ongoing-upcoming .kfs-event-info-value {
        font-size: 15px;
    }
}

/* --- Account page: mail opt-in toggle --- */
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-toggle {
    appearance: none;
    -webkit-appearance: none;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    border: 1px solid var(--kfs-border-medium);
    background: var(--kfs-card-bg-sub);
    border-radius: var(--kfs-card-radius-pill);
    padding: 6px 12px 6px 6px;
    cursor: pointer;
    pointer-events: auto;
    z-index: 1;
    line-height: 1;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-toggle input[type="checkbox"] {
    position: static;
    opacity: 1;
    width: 16px;
    height: 16px;
    margin: 0;
    pointer-events: auto;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-toggle-text {
    font-size: var(--kfs-fs-base);
    font-weight: 700;
    color: var(--kfs-text-medium);
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-toggle-track {
    width: 44px;
    height: 24px;
    border-radius: var(--kfs-card-radius-pill);
    background: var(--kfs-border-medium);
    padding: 2px;
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
    transition: background-color 0.2s ease;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-toggle-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.22);
    transform: translateX(0);
    transition: transform 0.2s ease;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-toggle input[type="checkbox"]:checked ~ .kfs-mail-opt-toggle-track {
    background: #22c55e;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-toggle input[type="checkbox"]:checked ~ .kfs-mail-opt-toggle-track .kfs-mail-opt-toggle-thumb {
    transform: translateX(20px);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-mail-opt-note {
    font-size: var(--kfs-fs-sm) !important;
    font-weight: 400 !important;
    color: var(--kfs-text-sub) !important;
    line-height: 1.5;
    margin-top: 6px;
}

/* --- SP override: keep footer remaining cost visible --- */
@media (max-width: 768px) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-budget-container {
        display: flex !important;
        align-items: baseline;
        justify-content: flex-end;
        gap: 3px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .budget-label {
        display: inline-block !important;
        font-size: 10px;
    }
}

@media (max-width: 420px) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players .footer-budget-container {
        display: flex !important;
    }
}
/* --- Ranking pages: safe visual refresh with existing table/form structure --- */
#kfs-plugin-unique-wrapper.kfs-page-overall_ranking,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking {
    background:
        radial-gradient(1200px 420px at -10% -15%, rgba(37, 99, 235, 0.10), transparent 45%),
        radial-gradient(900px 340px at 110% 0%, rgba(16, 185, 129, 0.08), transparent 42%),
        linear-gradient(180deg, var(--kfs-card-bg-tint) 0%, var(--kfs-card-bg-sub) 100%);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-page-head,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-page-head {
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.94));
    border-bottom-color: rgba(191, 219, 254, 0.65);
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.08);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-page-title,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-page-title {
    letter-spacing: 0.01em;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-page-navigation-links,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-page-navigation-links {
    gap: 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links {
    padding: 12px 14px;
    border: 1px solid var(--kfs-primary-border);
    border-radius: var(--kfs-card-radius);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.96));
    box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links label,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links label {
    font-size: var(--kfs-fs-sm);
    font-weight: 800;
    color: var(--kfs-text-medium);
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links input[type="text"],
#kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links select,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links input[type="text"],
#kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links select {
    min-height: 36px;
    border: 1px solid var(--kfs-border-medium);
    border-radius: var(--kfs-btn-radius);
    background: var(--kfs-card-bg);
    color: var(--kfs-text-dark);
    padding: 0 12px;
    font-size: var(--kfs-fs-base);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.75);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links input[type="text"] {
    min-width: min(100%, 240px);
}

#kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links input[type="text"] {
    min-width: min(100%, 220px);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links input[type="text"]:focus,
#kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links select:focus,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links input[type="text"]:focus,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links select:focus {
    border-color: var(--kfs-primary-border);
    outline: none;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.12);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-section-header,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-section-header {
    margin: 26px 0 12px;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-section-title,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-section-title {
    font-size: clamp(18px, 2.1vw, 22px);
    letter-spacing: 0.01em;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table-wrapper,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table-wrapper {
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.99), rgba(248, 250, 252, 0.98));
    box-shadow: 0 14px 30px rgba(15, 23, 42, 0.07);
    overflow: hidden;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table th,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table th {
    position: sticky;
    top: 0;
    z-index: 1;
    background:
        linear-gradient(180deg, #f8fbff, #f1f5f9);
    color: var(--kfs-text-medium);
    font-size: var(--kfs-fs-2xs);
    font-weight: 900;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table tbody tr,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table tbody tr {
    transition: background-color 0.18s ease, transform 0.18s ease;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table tbody tr:hover,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table tbody tr:hover {
    background: rgba(239, 246, 255, 0.78);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table tbody td,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table tbody td {
    padding-top: 12px;
    padding-bottom: 12px;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table .rank-col,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table .rank-col {
    width: 84px;
    white-space: nowrap;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table .username-col,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table .username-col {
    font-weight: 800;
    color: var(--kfs-text-dark);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table .score-col,
#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table .holding-points-col,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table .score-col {
    font-size: var(--kfs-fs-lg);
    font-weight: 900;
    color: var(--kfs-primary-dark);
}

#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table .details-col {
    min-width: 260px;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .rank-number,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .rank-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 30px;
    padding: 0 10px;
    border-radius: var(--kfs-card-radius-pill);
    background: var(--kfs-card-bg-sub);
    border: 1px solid var(--kfs-border);
    font-family: var(--kfs-font-number);
    font-size: var(--kfs-fs-base);
    font-weight: 900;
    color: var(--kfs-text-dark);
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-rank-1,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-rank-1 {
    background: linear-gradient(90deg, rgba(255, 251, 235, 0.95), rgba(255, 255, 255, 0.98));
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-rank-2,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-rank-2 {
    background: linear-gradient(90deg, rgba(248, 250, 252, 0.98), rgba(255, 255, 255, 0.98));
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-rank-3,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-rank-3 {
    background: linear-gradient(90deg, rgba(255, 247, 237, 0.96), rgba(255, 255, 255, 0.98));
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-rank-1 .rank-number,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-rank-1 .rank-number {
    background: #fef3c7;
    border-color: #fbbf24;
    color: #92400e;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-rank-2 .rank-number,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-rank-2 .rank-number {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #334155;
}

#kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-rank-3 .rank-number,
#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-rank-3 .rank-number {
    background: #ffedd5;
    border-color: #fdba74;
    color: #9a3412;
}

#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-selected-players-details {
    border: 1px solid var(--kfs-primary-border);
    border-radius: var(--kfs-card-radius-sm);
    background: var(--kfs-card-bg-tint);
    padding: 8px 10px;
}

#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-selected-players-details summary {
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--kfs-primary-dark);
    font-size: var(--kfs-fs-sm);
    font-weight: 900;
}

#kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-selected-players-details summary::-webkit-details-marker {
    display: none;
}

#kfs-plugin-unique-wrapper.kfs-page-event_ranking .player-detail-meta {
    color: var(--kfs-text-sub);
    font-size: var(--kfs-fs-sm);
}

@media (max-width: 768px) {
    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links,
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links {
        padding: 10px;
        gap: 8px;
        flex-wrap: wrap;
        overflow: visible;
    }

    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links input[type="text"],
    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking form.kfs-page-navigation-links select,
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links input[type="text"],
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking form.kfs-page-navigation-links select {
        width: 100%;
        min-width: 0;
    }

    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table th,
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table th,
    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table td,
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table td {
        padding: 10px 8px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table .rank-col,
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table .rank-col {
        width: 68px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking .rank-number,
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking .rank-number {
        min-width: 34px;
        min-height: 28px;
        padding: 0 8px;
        font-size: 12px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table .score-col,
    #kfs-plugin-unique-wrapper.kfs-page-overall_ranking .kfs-ranking-table .holding-points-col,
    #kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table .score-col {
        font-size: var(--kfs-fs-base);
    }

    #kfs-plugin-unique-wrapper.kfs-page-event_ranking .kfs-ranking-table .details-col {
        min-width: 220px;
    }
}
.kfs-results-bonus-breakdown {
    margin: 16px 0 22px;
    padding: 18px 20px;
    border: 1px solid rgba(37, 99, 235, 0.18);
    border-radius: var(--kfs-card-radius-lg);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(239, 246, 255, 0.96));
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
}

.kfs-results-bonus-title {
    margin-bottom: 12px;
    color: var(--kfs-primary-dark);
    font-size: var(--kfs-fs-lg);
    font-weight: 800;
    letter-spacing: 0.04em;
}

.kfs-results-bonus-table-wrap {
    overflow-x: auto;
}

.kfs-results-bonus-table {
    width: 100%;
    border-collapse: collapse;
    min-width: 640px;
}

.kfs-results-bonus-table th,
.kfs-results-bonus-table td {
    padding: 11px 12px;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
    vertical-align: middle;
    text-align: left;
}

.kfs-results-bonus-table thead th {
    border-top: 0;
    color: var(--kfs-text-sub);
    font-size: var(--kfs-fs-sm);
    font-weight: 800;
    letter-spacing: 0.04em;
    background: rgba(255, 255, 255, 0.55);
}

.kfs-results-bonus-table th:last-child,
.kfs-results-bonus-table td.kfs-results-bonus-effect-cell {
    width: 96px;
    min-width: 96px;
}

.kfs-results-bonus-table tbody tr.is-total td {
    font-weight: 900;
    border-top-color: rgba(37, 99, 235, 0.28);
}

.kfs-results-bonus-name {
    color: var(--kfs-text-dark);
    font-size: var(--kfs-fs-md);
    font-weight: 800;
}

.kfs-results-bonus-count {
    color: var(--kfs-text-sub);
    font-size: var(--kfs-fs-base);
    white-space: nowrap;
}

.kfs-results-bonus-points {
    color: var(--kfs-primary-dark);
    font-family: var(--kfs-font-number);
    font-size: var(--kfs-fs-lg);
    font-weight: 900;
    white-space: nowrap;
}

.kfs-results-bonus-effect-cell {
    position: relative;
    text-align: center;
}

.kfs-results-bonus-effect-trigger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    margin: 0 auto;
    border: 1px solid var(--kfs-primary-border);
    border-radius: 999px;
    background: var(--kfs-primary-light);
    color: var(--kfs-primary-dark);
    font-size: var(--kfs-fs-sm);
    font-weight: 900;
    cursor: pointer;
}

.kfs-results-bonus-effect-placeholder {
    display: inline-block;
    width: 28px;
    height: 28px;
    visibility: hidden;
}

.kfs-results-bonus-effect-popover {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 4;
    width: min(280px, calc(100vw - 48px));
    padding: 10px 12px;
    border: 1px solid var(--kfs-primary-border);
    border-radius: 12px;
    background: #ffffff;
    color: var(--kfs-text-main);
    font-size: var(--kfs-fs-base);
    line-height: 1.6;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.14);
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
    transition: opacity 0.16s ease, transform 0.16s ease, visibility 0.16s ease;
}

.kfs-results-bonus-effect-popover::before {
    content: "";
    position: absolute;
    top: -6px;
    right: 10px;
    width: 12px;
    height: 12px;
    border-top: 1px solid var(--kfs-primary-border);
    border-left: 1px solid var(--kfs-primary-border);
    background: #ffffff;
    transform: rotate(45deg);
}

.kfs-results-bonus-effect-cell:hover .kfs-results-bonus-effect-popover,
.kfs-results-bonus-effect-cell:focus-within .kfs-results-bonus-effect-popover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-enhanced {
    margin: 14px 0 18px;
    display: grid;
    gap: 12px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-badge-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    border-radius: var(--kfs-card-radius-pill);
    padding: 4px 10px;
    font-size: var(--kfs-fs-sm);
    font-weight: 900;
    border: 1px solid var(--kfs-primary-border);
    background: var(--kfs-primary-light);
    color: var(--kfs-primary-dark);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-badge.is-hot {
    border-color: #fdba74;
    background: #fff7ed;
    color: #c2410c;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-badge.is-bond {
    border-color: #c4b5fd;
    background: #f5f3ff;
    color: #6d28d9;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-score-breakdown {
    border: 1px solid var(--kfs-border);
    border-radius: var(--kfs-card-radius);
    padding: 12px;
    background: var(--kfs-card-bg-sub);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-subtitle {
    margin: 0 0 8px;
    font-size: var(--kfs-fs-lg);
    font-weight: 900;
    color: var(--kfs-text-dark);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-progress {
    width: 100%;
    height: 12px;
    border-radius: var(--kfs-card-radius-pill);
    background: var(--kfs-border);
    overflow: hidden;
    display: flex;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-progress-main {
    background: #3b82f6;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-progress-bonus {
    background: #fb923c;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-breakdown-list {
    list-style: none;
    margin: 10px 0 0;
    padding: 0;
    display: grid;
    gap: 6px;
    font-size: var(--kfs-fs-base);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-breakdown-list li {
    display: flex;
    justify-content: space-between;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-card {
    border: 1px solid var(--kfs-primary-border);
    border-radius: var(--kfs-card-radius);
    background: var(--kfs-card-bg);
    padding: 0;
    overflow: hidden;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-card.is-ace {
    border-color: #fbbf24;
    background: linear-gradient(180deg, #fffbeb, #ffffff);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-card[open] {
    box-shadow: 0 12px 28px rgba(37, 99, 235, 0.12);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-toggle {
    display: block;
    list-style: none;
    padding: 10px;
    cursor: pointer;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-toggle::-webkit-details-marker {
    display: none;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-toggle-copy {
    margin-top: 6px;
    color: var(--kfs-text-sub);
    font-size: var(--kfs-fs-xs);
    font-weight: 700;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-grade {
    font-size: var(--kfs-fs-2xs);
    font-weight: 800;
    color: #dc2626;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-tags {
    display: inline-flex;
    gap: 4px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-report-tag {
    display: inline-flex;
    align-items: center;
    min-height: 18px;
    border-radius: var(--kfs-card-radius-pill);
    padding: 0 6px;
    font-size: var(--kfs-fs-xs);
    font-weight: 800;
    border: 1px solid var(--kfs-border-medium);
    color: var(--kfs-text-medium);
    background: var(--kfs-card-bg-sub);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-report-tag.is-ace {
    border-color: #fbbf24;
    color: #92400e;
    background: #fef3c7;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-report-tag.is-leader {
    border-color: #60a5fa;
    color: #1e40af;
    background: #dbeafe;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-report-tag.is-mvp {
    border-color: #a78bfa;
    color: #5b21b6;
    background: #ede9fe;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-player-name {
    margin-top: 6px;
    font-size: var(--kfs-fs-md);
    font-weight: 800;
    color: var(--kfs-text-dark);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-player-score {
    margin-top: 6px;
    font-family: var(--kfs-font-number);
    font-size: 24px;
    font-weight: 900;
    color: var(--kfs-primary-dark);
    text-align: right;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-detail {
    border-top: 1px solid rgba(148, 163, 184, 0.24);
    padding: 12px 10px 10px;
    background: rgba(248, 250, 252, 0.9);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-detail-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 10px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-detail-summary span,
#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-ace-bonus-note {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 10px;
    border-radius: var(--kfs-card-radius-pill);
    background: #ffffff;
    border: 1px solid rgba(148, 163, 184, 0.26);
    color: var(--kfs-text-main);
    font-size: var(--kfs-fs-sm);
    font-weight: 800;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-item {
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 12px;
    background: #ffffff;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    color: var(--kfs-text-dark);
    font-size: var(--kfs-fs-sm);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-name {
    margin-top: 4px;
    color: var(--kfs-text-main);
    font-size: var(--kfs-fs-sm);
    font-weight: 700;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: 8px;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-meta span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: var(--kfs-fs-xs);
    font-weight: 800;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-total {
    margin-top: 8px;
    color: var(--kfs-primary-dark);
    font-size: var(--kfs-fs-sm);
    font-weight: 900;
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-race-bonus-empty {
    margin: 0;
    color: var(--kfs-text-sub);
    font-size: var(--kfs-fs-sm);
}

#kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-ace-bonus-note {
    margin-top: 10px;
    border-color: rgba(251, 191, 36, 0.45);
    background: #fffbeb;
    color: #92400e;
}

@media (max-width: 767px) {
    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-panel {
        width: 100%;
        max-height: min(82dvh, 700px);
        border-radius: 14px 14px 0 0;
        padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-title {
        font-size: 14px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-subtitle {
        font-size: 11px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-finalize-sheet-footer {
        grid-template-columns: 1fr 1.4fr;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-modal-dialog {
        width: min(560px, calc(100% - 18px));
        padding: 16px;
        border-radius: 16px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option {
        grid-template-columns: 30px minmax(0, 1fr);
        gap: 10px;
        padding: 11px 12px;
    }

    #kfs-plugin-unique-wrapper.kfs-page-select_players .kfs-ace-option-multiplier {
        grid-column: 2;
        justify-self: start;
        margin-top: 2px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-overview {
        margin-top: 34px;
        padding: 16px;
        border-radius: 18px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-user-stats {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card {
        min-height: 0;
        padding: 14px 16px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card .stat-value {
        font-size: 34px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-summary-card .stat-value-sub {
        font-size: 28px;
    }

    .kfs-results-bonus-breakdown {
        padding: 16px;
        border-radius: 16px;
    }

    .kfs-results-bonus-table {
        min-width: 560px;
    }

    .kfs-results-bonus-table th,
    .kfs-results-bonus-table td {
        padding: 10px 8px;
    }

    .kfs-results-bonus-name {
        font-size: 13px;
    }

    .kfs-results-bonus-points {
        font-size: 14px;
    }

    #kfs-plugin-unique-wrapper:not(.kfs-page-select_players) .kfs-results-report-grid {
        grid-template-columns: 1fr;
    }
}
.kfs-starter-option.is-active {
    border-color: rgba(37, 99, 235, 0.9);
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.2);
}
.kfs-starter-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.kfs-starter-head-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.kfs-starter-bonus-trigger {
    margin: 0;
    padding: 8px 12px;
    border: 1px solid rgba(245, 158, 11, 0.9);
    border-radius: 999px;
    background: linear-gradient(135deg, #fef3c7, #fde68a);
    color: #92400e;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
    cursor: pointer;
}

.kfs-starter-bonus-trigger.is-open {
    border-color: rgba(217, 119, 6, 0.95);
    background: linear-gradient(135deg, #fff7ed, #fed7aa);
}

.kfs-starter-bonus-panel {
    margin: -2px 0 12px;
    padding: 12px 14px;
    border: 1px solid rgba(245, 158, 11, 0.35);
    border-radius: 14px;
    background: linear-gradient(180deg, rgba(255, 251, 235, 0.98), rgba(255, 247, 237, 0.94));
}

.kfs-starter-bonus-title {
    margin: 0 0 6px;
    color: #b45309;
    font-size: 13px;
    font-weight: 900;
}

.kfs-starter-bonus-copy,
.kfs-starter-bonus-note {
    margin: 0;
    color: #78350f;
    font-size: 12px;
    line-height: 1.55;
}

.kfs-starter-bonus-list {
    margin: 8px 0;
    padding-left: 18px;
    color: #92400e;
    font-size: 12px;
    font-weight: 700;
}

.kfs-starter-bonus-list li + li {
    margin-top: 4px;
}

.kfs-starter-confirm-btn {
    margin: 0;
    padding: 9px 14px;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
}

.kfs-starter-option-main {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex-wrap: wrap;
}

.kfs-starter-option-cost {
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
}


.kfs-starter-counter {
    margin-bottom: 0;
    font-weight: 700;
    color: #1d4ed8;
}

.kfs-starter-budget {
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(147, 197, 253, 0.9);
    border-radius: 12px;
    background: rgba(219, 234, 254, 0.45);
}

.kfs-starter-budget.is-over {
    border-color: rgba(220, 38, 38, 0.35);
    background: rgba(254, 226, 226, 0.72);
}

.kfs-starter-budget-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: #334155;
    font-size: 13px;
}

.kfs-starter-budget-row + .kfs-starter-budget-row {
    margin-top: 6px;
}

.kfs-starter-budget-row strong {
    color: #0f172a;
    font-weight: 800;
}

.kfs-starter-budget-alert {
    margin: -2px 0 12px;
    color: #b91c1c;
    font-size: 12px;
    font-weight: 700;
}

.kfs-player-role-chip {
    display: inline-flex;
    align-items: center;
    margin-left: 8px;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
}

.kfs-player-role-chip.is-starter {
    background: rgba(37, 99, 235, 0.12);
    color: #1d4ed8;
}

.kfs-player-role-chip.is-bench {
    background: rgba(15, 23, 42, 0.08);
    color: #475569;
}

@media (max-width: 767px) {
    .kfs-starter-head {
        align-items: flex-start;
    }

    .kfs-starter-head-actions {
        gap: 6px;
    }

    .kfs-starter-bonus-trigger {
        padding: 7px 10px;
        font-size: 11px;
    }

    .kfs-starter-bonus-panel {
        padding: 11px 12px;
    }
}