.bout-estimate { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 8px; margin:12px 0; font-size:12px; color:var(--muted); }
.bout-estimate time { color:var(--ink); font-weight:600; font-variant-numeric:tabular-nums; }
.bout-estimate small { font-size:10px; }
.bout-schedule-note { padding:12px 14px; border-left:2px solid var(--accent); background:var(--surface-2); line-height:1.7; }
/* Shared visual rhythm: quiet surfaces, clear actions, consistent corners. */
:root { --radius: 12px; --muted: #a5a5a0; }
.button, .outline-button, .search-box, select, input, .icon-button { border-radius: 8px; }
.panel, .fighter-card, .event-card, .followed-fighter, .following-bout, dialog { border-radius: var(--radius); }
.panel, .fighter-card, .followed-fighter { border-color: var(--line); }
.page-heading { align-items: end; gap: 24px; }
.page-heading h1 { letter-spacing: -.025em; }
.section-heading h2, .profile-section-title { letter-spacing: -.015em; }
.fighter-card { overflow: hidden; }
.fighter-card-body { padding: 24px; }
.fighter-card-meta { font-size: 11px; }
.fighter-card .championship-badge, .fighter-card .legend-badge { border-radius: 5px; }
.catalog-browse-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:24px 0 16px; flex-wrap:wrap; }
.catalog-scopes, .catalog-view-switch, .profile-section-switch { display:flex; gap:6px; }
.catalog-scopes button, .catalog-view-switch button, .profile-section-switch button { min-height:44px; padding:10px 18px; border:1px solid transparent; background:transparent; color:var(--muted); border-radius:7px; font-weight:600; }
.catalog-scopes button:hover, .catalog-view-switch button:hover, .profile-section-switch button:hover { color:var(--ink); background:var(--surface-2); }
.catalog-scopes button[aria-pressed=true], .profile-section-switch button[aria-pressed=true] { color:var(--ink); border-color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, var(--surface)); }
.catalog-view-switch { padding:3px; border:1px solid var(--line); border-radius:10px; }
.catalog-view-switch button { min-height:36px; padding:6px 14px; }
.catalog-view-switch button[aria-pressed=true] { background:var(--surface-2); color:var(--ink); }
.fighter-directory-list { border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--surface); }
.fighter-row { --status-color:var(--line); display:grid; grid-template-columns:minmax(220px, 1.5fr) minmax(180px,1fr) minmax(100px,.5fr) 48px; gap:20px; align-items:center; padding:14px 22px; border-bottom:1px solid var(--line); border-left:3px solid var(--status-color); }
.fighter-row:last-child { border-bottom:0; }
.fighter-row.is-champion { --status-color:#c1a76b; }
.fighter-row.is-legend { --status-color:#a78acb; }
.fighter-row:hover { background:var(--surface-2); }
.fighter-row-identity { display:flex; gap:18px; align-items:center; min-width:0; text-align:left; border:0; padding:0; color:var(--ink); background:transparent; }
.fighter-row-identity img { flex:0 0 64px; width:64px; height:76px; object-fit:cover; object-position:top; border-radius:8px; background:var(--bg); }
.fighter-row-identity > span { min-width:0; }
.fighter-row-identity strong { display:block; font:700 25px/1.1 var(--display); overflow-wrap:anywhere; }
.fighter-row-identity small, .fighter-row-record small { display:block; color:var(--muted); font-size:11px; margin-top:6px; }
.fighter-row-division > span { font-size:13px; }
.fighter-row-badges { display:flex; flex-wrap:wrap; gap:4px; }
.fighter-row-badges .championship-badge, .fighter-row-badges .legend-badge { font-size:9px; padding:4px 6px; margin:6px 0 0; min-height:0; border-radius:4px; }
.fighter-row-record strong { display:block; font:700 25px var(--display); margin-top:5px; font-variant-numeric:tabular-nums; }
.fighter-row-follow .favorite-button { position:relative; inset:auto; width:44px; height:44px; border-radius:50%; }
#fighter-dialog { padding:32px; width:min(960px,calc(100% - 28px)); }
.fighter-profile { --profile-accent:var(--accent); }
.fighter-profile.is-champion { --profile-accent:#c1a76b; }
.fighter-profile.is-legend { --profile-accent:#a78acb; }
.fighter-profile-hero { display:grid; grid-template-columns:140px minmax(0,1fr); gap:24px; padding:20px; border:1px solid var(--line); border-top:2px solid var(--profile-accent); border-radius:12px; background:linear-gradient(120deg,color-mix(in srgb,var(--profile-accent) 7%,var(--surface)),var(--surface)); }
.fighter-profile-photo { height:166px; border-radius:10px; overflow:hidden; background:var(--bg); }
.fighter-profile-photo img { width:100%; height:100%; object-fit:contain; object-position:top; }
.fighter-profile-intro { align-self:center; min-width:0; padding-right:16px; }
.fighter-profile-intro h2 { font:800 clamp(32px,5vw,54px)/1 var(--display); margin:10px 0 12px; text-transform:uppercase; overflow-wrap:anywhere; }
.profile-status { display:flex; flex-wrap:wrap; gap:6px; }
.profile-status > * { margin:0 0 8px; }
.profile-actions { display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
.profile-actions .outline-button { min-height:44px; }
.profile-metrics { grid-column:1/-1; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0; padding-top:18px; border-top:1px solid var(--line); }
.profile-metrics > div { padding:0 20px; border-left:1px solid var(--line); }
.profile-metrics > div:first-child { padding-left:0; border-left:0; }
.profile-metrics dt { font-size:11px; color:var(--muted); }
.profile-metrics dd { font:700 clamp(26px,4vw,36px) var(--display); margin:6px 0 0; font-variant-numeric:tabular-nums; }
.profile-section-switch { border-bottom:1px solid var(--line); padding:8px 0 16px; margin:14px 0 24px; }
.profile-section { min-width:0; }
.profile-section[hidden] { display:none; }
.profile-section-title { font:700 28px var(--display); margin:0 0 18px; }
#fighter-dialog .fighter-profile .official-facts { margin:0 0 24px; padding:20px; border:1px solid var(--line); border-radius:10px; }
#fighter-dialog .fighter-profile .official-facts dl { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fighter-profile .official-facts dd { overflow-wrap:anywhere; }
.profile-combat-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.profile-combat-grid .combat-details { margin:0 0 24px; }
.profile-history { list-style:none; padding:0; margin:24px 0; }
.profile-history li { display:grid; grid-template-columns:160px minmax(0,1fr); gap:24px; padding:20px 0; border-bottom:1px solid var(--line); }
.profile-history time, .profile-history li > div > button { display:block; }
.profile-history time { color:var(--muted); font-size:12px; margin-bottom:6px; }
.profile-history strong { font-size:15px; }
.profile-history-result { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:10px; font-size:12px; color:var(--muted); }
.profile-history-result small { display:block; flex-basis:100%; }
.profile-empty { padding:24px; background:var(--surface-2); border-radius:8px; color:var(--muted); line-height:1.7; }
@media (max-width:850px) {
 .fighter-row { grid-template-columns:minmax(180px,1.4fr) minmax(120px,1fr) 80px 44px; gap:12px; padding:12px; }
}
@media (max-width:700px) {
 .catalog-browse-bar { gap:12px; margin-top:18px; }
 .catalog-scopes { width:100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; }
 .catalog-scopes button { padding:10px 4px; font-size:12px; }
 .catalog-view-switch { margin-left:auto; }
 .fighter-row { grid-template-columns:minmax(0,1fr) auto 64px; gap:8px 12px; padding:14px 12px; }
 .fighter-row-identity { gap:12px; grid-column:1/3; }
 .fighter-row-identity img { width:50px; height:60px; flex-basis:50px; }
 .fighter-row-identity strong { font-size:23px; }
 .fighter-row-follow { grid-column:3; grid-row:1; justify-self:end; }
 .fighter-row-division { grid-column:1/3; padding-left:62px; }
 .fighter-row-division > span { font-size:11px; }
 .fighter-row-record { grid-column:3; grid-row:2; text-align:right; }
 .fighter-row-record small { font-size:8px; margin:0; }
 .fighter-row-record strong { font-size:20px; white-space:nowrap; }
 #fighter-dialog { padding:52px 14px 20px; max-height:92dvh; }
 .fighter-profile-hero { padding:14px; grid-template-columns:82px minmax(0,1fr); gap:14px; }
 .fighter-profile-photo { height:108px; }
 .fighter-profile-intro { padding-right:0; }
 .fighter-profile-intro h2 { font-size:32px; }
 .fighter-profile-intro .eyebrow { font-size:9px; }
 .profile-actions { gap:10px; }
 .profile-actions .outline-button { padding:8px 10px; font-size:11px; }
 .profile-actions .text-link { font-size:11px; }
 .profile-metrics > div { padding:0 10px; }
 .profile-metrics dt { font-size:9px; }
 .profile-metrics dd { font-size:25px; }
 .profile-section-switch { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
 .profile-section-switch button { padding:10px 4px; font-size:12px; }
 .profile-combat-grid { grid-template-columns:minmax(0,1fr); gap:0; }
 #fighter-dialog .fighter-profile .official-facts { padding:14px; }
 #fighter-dialog .fighter-profile .official-facts dl { gap:18px 12px; }
 .profile-history li { grid-template-columns:minmax(0,1fr); gap:12px; }
 .profile-history li > div:first-child { display:flex; gap:12px; flex-wrap:wrap; align-items:baseline; }
}
@media (prefers-reduced-motion:no-preference) {
 .fighter-row { transition:background 160ms ease; }
 .profile-section:not([hidden]) { animation:profile-section-in 180ms ease-out; }
 @keyframes profile-section-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
}
.extended-fighter-info dd { font-variant-numeric:tabular-nums; }
