.kbf-v3-public { font-family: Montserrat, sans-serif; color: #0F1419; font-size: 16px; }
.kbf-v3-public *, .kbf-v3-public *::before, .kbf-v3-public *::after { box-sizing: border-box; }
.kbf-v3-public a { color: inherit; }

.kbf-v3-public__meta { text-align: center; color: #6b6b6b; font-size: 15px; margin: 24px 0 0; }
.kbf-v3-public__meta strong { color: #0F1419; }
.kbf-v3-public__hint { text-align: center; margin: 18px 0 0; color: #888; font-size: 14px; }
.kbf-v3-public__back { margin: 8px 0 24px; font-size: 15px; }
.kbf-v3-public__back a { color: #6b6b6b; text-decoration: none; font-weight: 500; }
.kbf-v3-public__back a:hover { color: #FEB145; }
.kbf-v3-public__empty, .kbf-v3-public__notice {
    background: #F5F5F5;
    padding: 44px 32px;
    text-align: center;
    margin: 32px 0;
    color: #555;
    font-size: 16px;
}

/* Tabs */
.kbf-v3-public-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    justify-content: center;
    margin: 32px 0 28px;
    background: #F5F5F5;
    padding: 6px;
    border-radius: 4px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.kbf-v3-public-tab {
    display: inline-flex;
    align-items: center;
    padding: 12px 28px;
    font-weight: 600;
    font-size: 15px;
    color: #0F1419;
    text-decoration: none;
    background: transparent;
    border: 0;
    transition: background-color .15s, color .15s;
}
.kbf-v3-public-tab:hover { color: #FEB145; text-decoration: none; }
.kbf-v3-public-tab.is-active { background: #FEB145; color: #fff; }
.kbf-v3-public-tab.is-active:hover { color: #fff; }

/* Table */
.kbf-v3-public-card { margin: 28px 0; }

.kbf-v3-public-table {
    width: 100%;
    border-collapse: collapse;
    font-family: inherit;
    font-size: 16px;
    color: #0F1419;
}
.kbf-v3-public-table thead th {
    background: #F5F5F5;
    padding: 16px 22px;
    text-align: left;
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #4b4b4b;
}
.kbf-v3-public-table tbody td {
    padding: 18px 22px;
    vertical-align: top;
    background: #fff;
}
.kbf-v3-public-table tbody tr:nth-child(even) td { background: #FAFAFA; }
.kbf-v3-public-table tbody tr:hover td { background: #FFF6EB; }
.kbf-v3-public-table__rank { width: 70px; text-align: center; font-weight: 700; color: #8a8a8a; font-size: 16px; }
.kbf-v3-public-table__score { width: 130px; text-align: right; font-weight: 700; font-size: 18px; color: #FEB145; white-space: nowrap; }
.kbf-v3-public-table__place { width: 90px; text-align: right; font-weight: 600; white-space: nowrap; color: #0F1419; }

.kbf-v3-public-link { color: #0F1419; text-decoration: none; font-weight: 600; font-size: 16px; }
.kbf-v3-public-link:hover { color: #FEB145; text-decoration: none; }

/* Hero */
.kbf-v3-public-hero {
    background: #F5F5F5;
    padding: 32px 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    margin: 20px 0 28px;
}
.kbf-v3-public-hero__identity { flex: 1 1 auto; min-width: 0; }
.kbf-v3-public-hero__eyebrow { margin: 0 0 12px; color: #8a8a8a; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; }
.kbf-v3-public-hero__name { margin: 0 0 12px; font-size: 32px; font-weight: 700; color: #0F1419; line-height: 1.15; }
.kbf-v3-public-hero__rank { margin: 0; color: #6b6b6b; font-size: 15px; }
.kbf-v3-public-hero__rank strong { color: #0F1419; }
.kbf-v3-public-hero__score { text-align: center; padding-left: 36px; border-left: 1px solid #DDD; min-width: 170px; flex: 0 0 auto; }
.kbf-v3-public-hero__score-value { display: block; font-size: 60px; font-weight: 800; color: #FEB145; line-height: 1; }
.kbf-v3-public-hero__score-label { display: block; margin-top: 10px; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: #8a8a8a; font-weight: 600; }

/* Formula */
.kbf-v3-public-formula {
    background: #FFF6EB;
    border-left: 4px solid #FEB145;
    padding: 20px 26px;
    margin: 0 0 28px;
}
.kbf-v3-public-formula__title { margin: 0 0 10px; font-size: 16px; color: #0F1419; font-weight: 700; }
.kbf-v3-public-formula__rule { margin: 0 0 8px; color: #0F1419; font-size: 15px; font-weight: 600; }
.kbf-v3-public-formula__note { margin: 0; color: #5a5a5a; font-size: 14px; }
.kbf-v3-public-formula__note strong { color: #0F1419; }

/* History */
.kbf-v3-public-history__title { margin: 0 0 14px; font-size: 20px; color: #0F1419; font-weight: 700; }
.kbf-v3-public-table--history tr.is-counted td { background: #FFF6EB; }
.kbf-v3-public-table--history tr.is-counted:hover td { background: #FFE9C9; }
.kbf-v3-public-table--history tr.is-skipped td { color: #9a9a9a; }

.kbf-v3-public-history__tournament { font-weight: 600; color: #0F1419; font-size: 16px; }
.kbf-v3-public-history__detail {
    margin: 6px 0 0;
    padding: 0 0 0 18px;
    color: #8a8a8a;
    font-size: 13px;
    list-style: disc;
}

.kbf-v3-public-badge {
    display: inline-block;
    padding: 5px 14px;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
}
.kbf-v3-public-badge--counted { background: #FEB145; color: #fff; }
.kbf-v3-public-badge--skipped { background: #ECECEC; color: #8a8a8a; }

@media (max-width: 680px) {
    .kbf-v3-public-hero { flex-direction: column; gap: 20px; padding: 24px; align-items: flex-start; }
    .kbf-v3-public-hero__score { border-left: 0; border-top: 1px solid #DDD; padding: 20px 0 0; text-align: left; min-width: auto; width: 100%; }
    .kbf-v3-public-hero__name { font-size: 24px; }
    .kbf-v3-public-hero__score-value { font-size: 48px; }
    .kbf-v3-public-table thead th { padding: 12px 14px; font-size: 12px; }
    .kbf-v3-public-table tbody td { padding: 14px 14px; }
    .kbf-v3-public-table--history th:nth-child(2),
    .kbf-v3-public-table--history td:nth-child(2) { display: none; }
    .kbf-v3-public-tabs { flex-wrap: wrap; justify-content: center; }
    .kbf-v3-public-tab { padding: 10px 18px; font-size: 14px; }
}
