.fighter-row { cursor: pointer; }
.fighter-row:focus { outline: 2px solid var(--red); outline-offset: -2px; }
.fighter-name-link { color: inherit; font-weight: 800; text-decoration: none; }
.fighter-name-link:hover { color: var(--red); }
.fighter-tier { display: inline-grid; place-items: center; min-width: 34px; height: 30px; padding: 0 7px; color: #fff; background: #555; font: 900 italic 18px/1 var(--display); box-shadow: inset 0 0 0 1px #ffffff30; }
.fighter-tier-score { margin-left: 4px; color: var(--muted); font-size: 10px; font-weight: 700; }
.overall-rank { display: inline-flex; align-items: center; justify-content: center; padding: 3px 7px; color: var(--muted); background: var(--surface-alt); border: 1px solid var(--border); font-size: 9px; font-weight: 800; letter-spacing: .06em; }
.tier-s { background: #16824c; }
.tier-a { background: #397a45; }
.tier-b { background: #4b8da3; }
.tier-c { background: #9b7718; }
.tier-d { background: #b65d2b; }
.tier-f { background: var(--red); }
.profile-name-line { display: flex; align-items: flex-end; gap: 18px; }
.profile-name-line .fighter-tier { flex: none; width: 58px; height: 52px; font-size: 31px; }
.profile-name-line .overall-rank { flex: none; min-height: 34px; padding: 0 11px; font-size: 13px; }
.description-heading { display: flex; align-items: center; gap: 10px; }
.description-heading .fighter-tier { width: 31px; min-width: 31px; height: 25px; font-size: 15px; }
.fighter-profile-page { background: linear-gradient(135deg, var(--cream), var(--paper) 55%); }
.fighter-profile-shell { padding-top: 42px; }
.profile-back { display: inline-block; margin-bottom: 20px; color: var(--muted); text-decoration: none; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.profile-card { display: grid; grid-template-columns: minmax(300px,.8fr) minmax(420px,1.2fr); min-height: 620px; background: var(--surface); box-shadow: 0 22px 70px #0002; }
.profile-portrait { position: relative; min-height: 620px; overflow: hidden; background: #0a0b0d; }
.profile-portrait:after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,#08090bcc,transparent 45%); pointer-events: none; }
.profile-portrait img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; }
.profile-portrait-empty { display: grid; place-items: center; padding: 35px; background: radial-gradient(circle at 50% 35%,#34383e,#111317 50%,#08090b); }
.profile-portrait-empty>div { position: relative; z-index: 1; display: grid; text-align: center; color: #fff; }
.profile-portrait-empty span { color: var(--red); font-size: 11px; font-weight: 900; letter-spacing: .2em; }
.profile-portrait-empty strong { max-width: 340px; font: 900 italic 58px/.85 var(--display); text-transform: uppercase; }
.profile-portrait-empty small { margin-top: 18px; color: #777b81; font-size: 9px; letter-spacing: .16em; }
.profile-copy { padding: 58px clamp(35px,6vw,80px); }
.profile-copy h1 { margin: 9px 0 0; font: 900 italic clamp(52px,7vw,92px)/.8 var(--display); letter-spacing: -.04em; text-transform: uppercase; }
.profile-nickname { margin: 15px 0; color: var(--muted); font-size: 17px; }
.profile-record { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 34px 0 16px; padding: 23px 0; border-block: 1px solid var(--line); }
.profile-record-kicker { flex-basis: 100%; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.profile-record>span { display: grid; min-width: 75px; }
.profile-record b { font: 900 42px/.85 var(--display); }
.profile-record small { margin-top: 8px; color: var(--muted); font-size: 8px; letter-spacing: .14em; text-transform: uppercase; }
.profile-record i { color: var(--muted-soft); font-style: normal; font-size: 25px; }
.true-record { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 34px; padding: 13px 16px; background: var(--surface-alt); border: 1px solid var(--border); }
.true-record-kicker { flex-basis: 100%; color: var(--muted-soft); font-size: 8px; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.true-record>span { display: grid; min-width: 52px; }
.true-record b { font: 800 24px/.9 var(--display); }
.true-record span small { margin-top: 5px; color: var(--muted); font-size: 7px; letter-spacing: .1em; text-transform: uppercase; }
.true-record i { color: var(--muted-soft); font-style: normal; }
.profile-facts { display: grid; grid-template-columns: repeat(2,1fr); margin: 0 0 34px; border: 1px solid var(--border); }
.profile-facts div { padding: 14px 16px; border-bottom: 1px solid var(--border); }
.profile-facts div:nth-child(odd) { border-right: 1px solid var(--border); }
.profile-facts dt { color: var(--muted-soft); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.profile-facts dd { margin: 3px 0 0; font: 800 18px var(--display); text-transform: uppercase; }
.profile-copy h2 { font: 800 25px var(--display); text-transform: uppercase; }
.profile-description { color: var(--muted); line-height: 1.75; }
.profile-source { display: inline-block; margin-top: 12px; color: var(--red); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.fight-history { margin-top: 34px; padding-top: 28px; border-top: 1px solid var(--line); }
.fight-history>h2 { margin-bottom: 14px; }
.fight-history ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--border); }
.fight-history li { display: grid; grid-template-columns: 70px minmax(0,1fr) auto; align-items: center; gap: 12px; min-height: 52px; padding: 10px 14px; border-top: 1px solid var(--border); }
.fight-history li:first-child { border-top: 0; }
.fight-history-result { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.fight-history li strong { font: 800 18px/1 var(--display); text-transform: uppercase; }
.fight-history li small { color: var(--muted-soft); font-size: 9px; text-align: right; text-transform: uppercase; }
.fight-history-meta { display: grid; gap: 3px; justify-items: end; }
.fight-history-date { color: var(--muted-soft); font-size: 8px; }
.fight-history-empty { margin: 0; padding: 16px; color: var(--muted); background: var(--surface-alt); border-left: 3px solid var(--steel); font-size: 12px; }
@media (max-width:800px) { .profile-card { grid-template-columns: 1fr; } .profile-portrait { min-height: 460px; } .profile-copy { padding: 38px 25px; } }
@media (max-width:500px) { .fight-history li { grid-template-columns: 58px 1fr; } .fight-history-meta { grid-column: 2; justify-items: start; } .fight-history li small { text-align: left; } }

.tier-rows:has(.auto-tier-row) { padding: 0; }
.auto-tier-row { display: grid; grid-template-columns: 105px 1fr; min-height: 150px; border-bottom: 1px solid var(--border); background: var(--surface-alt); }
.auto-tier-row:last-child { border-bottom: 0; }
.auto-tier-label { display: grid; align-content: center; justify-items: center; color: #fff; background: #555; }
.auto-tier-label strong { font: 900 italic 42px/.9 var(--display); }
.auto-tier-label small { margin-top: 9px; font-size: 8px; letter-spacing: .12em; text-transform: uppercase; opacity: .75; }
.auto-tier-s .auto-tier-label { background: #16824c; }
.auto-tier-a .auto-tier-label { background: #397a45; }
.auto-tier-b .auto-tier-label { background: #4b8da3; }
.auto-tier-c .auto-tier-label { background: #9b7718; }
.auto-tier-d .auto-tier-label { background: #b65d2b; }
.auto-tier-f .auto-tier-label { background: var(--red); }
.auto-tier-fighters { display: grid; grid-template-columns: repeat(auto-fill,minmax(112px,1fr)); gap: 12px; align-items: start; padding: 18px; }
.tier-fighter-card { min-width: 0; padding: 8px; color: var(--ink); background: var(--surface); border: 1px solid var(--border); text-align: center; text-decoration: none; transition: transform .15s,box-shadow .15s; }
.tier-fighter-card:hover { transform: translateY(-3px); box-shadow: 0 8px 22px #0002; }
.tier-fighter-card.is-search-highlighted { position: relative; z-index: 1; animation: tier-search-highlight 2.6s ease-out; }
@keyframes tier-search-highlight { 0%,55% { border-color: #356a9c; box-shadow: 0 0 0 4px #356a9c,0 0 24px 8px #356a9c88; transform: translateY(-3px) scale(1.03); } 100% { border-color: var(--border); box-shadow: none; transform: none; } }
.tier-fighter-image { position: relative; aspect-ratio: 1/1.05; display: grid; place-items: center; margin-bottom: 8px; overflow: hidden; background: radial-gradient(circle at 50% 30%,#444a51,#111317 68%); color: #fff; }
.tier-fighter-image img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.tier-fighter-image .tier-fighter-initials { font: 900 italic 32px var(--display); color: #ffffffaa; }
.tier-fighter-score { position: absolute; top: 6px; left: 6px; display: flex; min-width: 38px; padding: 4px 5px 3px; flex-direction: column; align-items: center; color: #fff; background: #101216e8; border: 1px solid #ffffff55; box-shadow: 0 2px 8px #0007; line-height: 1; }
.tier-fighter-score small { margin-bottom: 1px; font: 800 7px/1 var(--display); letter-spacing: .12em; }
.tier-fighter-score strong { font: 900 italic 25px/.9 var(--display); }
.tier-fighter-card>strong { display: block; overflow: hidden; font: 800 15px/1 var(--display); text-overflow: ellipsis; text-transform: uppercase; white-space: nowrap; }
.tier-fighter-card>small { display: block; margin-top: 6px; font-size: 10px; }
.matchup-cards { display: grid; grid-template-columns: minmax(0,240px) auto minmax(0,240px); align-items: center; justify-content: center; gap: clamp(18px,4vw,48px); max-width: 720px; margin: 0 auto; }
.matchup-cards .tier-fighter-card { width: 100%; padding: 12px; }
.matchup-cards .tier-fighter-card>strong { font-size: 22px; }
.matchup-cards .tier-fighter-card>small { font-size: 12px; }
.matchup-vs { display: grid; place-items: center; width: 64px; height: 64px; color: #fff; background: var(--red); font: 900 italic 30px/1 var(--display); transform: rotate(-5deg); }
.matchup-empty { grid-column: 1/-1; margin: 0; padding: 28px; color: var(--muted); background: var(--surface); border: 1px solid var(--border); text-align: center; }
.empty-tier { align-self: center; margin: 0; color: var(--muted-soft); font-size: 11px; }
.tier-search-toolbar { padding: 18px; border-bottom: 1px solid var(--line); background: var(--surface-alt); }
.tier-search-toolbar .boxer-search { max-width: 560px; }
.tier-search-toolbar label { display: block; margin-bottom: 7px; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.tier-board-loading { margin: 0; padding: 28px; color: var(--muted); }
@media (max-width:650px) { .auto-tier-row { grid-template-columns: 68px 1fr; } .auto-tier-label strong { font-size: 29px; } .auto-tier-fighters { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 10px; gap: 8px; } .matchup-cards { grid-template-columns: minmax(0,1fr) 42px minmax(0,1fr); gap: 8px; } .matchup-cards .tier-fighter-card { padding: 7px; } .matchup-cards .tier-fighter-card>strong { font-size: 15px; } .matchup-cards .tier-fighter-card>small { font-size: 9px; } .matchup-vs { width: 42px; height: 42px; font-size: 22px; } }
.activity-ping { position: fixed; z-index: 80; top: 124px; right: 18px; width: min(350px,calc(100vw - 36px)); padding: 15px 42px 15px 17px; color: #fff; background: #101216ee; border-left: 4px solid var(--red); box-shadow: 0 12px 40px #0006; backdrop-filter: blur(12px); transition: opacity .2s,transform .2s; }
.activity-ping.hidden { opacity: 0; transform: translateX(30px); pointer-events: none; }
.activity-ping>a { display: flex; align-items: center; gap: 8px; color: var(--red); font-size: 9px; font-weight: 900; letter-spacing: .15em; text-decoration: none; }
.activity-ping>button { position: absolute; top: 7px; right: 8px; min-height: 28px; padding: 0 8px; background: transparent; color: var(--chrome-muted); font-size: 18px; }
.activity-ping>strong,.activity-ping>small { display: block; }
.activity-ping>strong { margin-top: 9px; font: 800 20px/1.05 var(--display); text-transform: uppercase; }
.activity-ping>small { margin-top: 6px; color: var(--chrome-muted); font-size: 10px; }
.ai-callout { position: fixed; z-index: 80; top: 124px; left: 18px; width: min(350px,calc(100vw - 36px)); padding: 15px 42px 15px 17px; color: #fff; background: #101216ee; border-left: 4px solid #356a9c; box-shadow: 0 12px 40px #0006; backdrop-filter: blur(12px); cursor: pointer; transition: opacity .2s,transform .2s; }
.ai-callout.hidden { opacity: 0; transform: translateX(-30px); pointer-events: none; }
.ai-callout>span { display: block; color: #356a9c; font-size: 9px; font-weight: 900; letter-spacing: .15em; }
.ai-callout>button { position: absolute; top: 7px; right: 8px; min-height: 28px; padding: 0 8px; background: transparent; color: var(--chrome-muted); font-size: 18px; }
.ai-callout>strong { display: block; margin-top: 9px; font: 800 20px/1.05 var(--display); text-transform: uppercase; }
.activity-log { list-style: none; margin: 0; padding: 0; }
.activity-log li { display: grid; grid-template-columns: 115px 1fr; gap: 20px; padding: 20px 24px; border-top: 1px solid var(--border); }
.activity-log time { color: var(--red); font: 800 11px var(--body); }
.activity-log strong { display: block; font: 800 21px/1 var(--display); text-transform: uppercase; }
.activity-log p { margin: 7px 0 0; color: var(--muted); font-size: 12px; }
@media (max-width:650px) { .activity-ping,.ai-callout { top: 108px; } .activity-log li { grid-template-columns: 1fr; gap: 5px; } }
