/* UFC Ukraine — design reboot. Self-hosted fonts (SIL OFL 1.1). */
@font-face{font-family:'Unbounded';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Unbounded';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-600-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Unbounded';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Unbounded';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-800-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Manrope';font-weight:400;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-weight:400;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Manrope';font-weight:500;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-500-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-weight:500;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-500-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Manrope';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-600-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Manrope';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-weight:700;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-700-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Manrope';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Manrope';font-weight:800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-800-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
/* Temporary family-name aliases keep legacy article CSS on the new font files. */
@font-face{font-family:'Oswald';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Oswald';font-weight:600;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-600-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Oswald';font-weight:700 800;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-800-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Oswald';font-weight:700 800;font-style:normal;font-display:swap;src:url('/assets/fonts/unbounded-800-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Golos Text';font-weight:400 800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Golos Text';font-weight:400 800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'Golos';font-weight:400 800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'Golos';font-weight:400 800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}
@font-face{font-family:'JetBrains Mono';font-weight:400 800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}
@font-face{font-family:'JetBrains Mono';font-weight:400 800;font-style:normal;font-display:swap;src:url('/assets/fonts/manrope-400-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}

/* polish-latin-ext-v1: Polish characters in the existing brand typefaces. */
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/manrope-400-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/manrope-400-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/manrope-400-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/manrope-400-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/manrope-600-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/manrope-600-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/manrope-600-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/manrope-600-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-700-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-700-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-700-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/manrope-700-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-800-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos Text';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-800-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Golos';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-800-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'JetBrains Mono';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/manrope-800-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/unbounded-600-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/assets/fonts/unbounded-600-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/unbounded-700-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/unbounded-700-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Unbounded';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-800-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
@font-face {
  font-family: 'Oswald';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/assets/fonts/unbounded-800-polish.ttf) format('truetype');
unicode-range:U+0104-0107,U+0118-0119,U+0141-0144,U+015A-015B,U+0179-017C;}
/* UFC Ukraine — design reboot «Чорне табло». */
:root{
  --font-display:'Unbounded','Manrope',system-ui,sans-serif;
  --font-body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --fs-label:.75rem;--fs-small:.875rem;--fs-body:1.0625rem;--fs-lead:1.25rem;
  --fs-h3:1.25rem;--fs-h2:clamp(1.375rem,2.4vw,1.75rem);--fs-h1:clamp(1.75rem,4.4vw,3rem);--fs-score:clamp(2rem,5vw,3.5rem);
  --skew:-12deg;--r-sm:4px;--r-md:8px;--r-lg:12px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;
  --content:1200px;--measure:680px;
  --plaque:#FFE14D;--plaque-ink:#0B0B0B;--live-ink:#FFFFFF;--focus:#FFE14D;
}
:root,:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#0B0B0B;--surface:#181818;--surface-2:#1F1F1F;--line:#2E2E2E;
  --text:#FFFFFF;--text-muted:#A3A3A3;--logo-ufc-bg:#FFFFFF;--logo-ufc-ink:#0B0B0B;
  --live:#FF3B30;--pred-hit:#3DDC84;--pred-winner:#FFE14D;--pred-miss:#FF3B30;--pred-none:#6B6B6B;
  --champion:#FFE14D;--link:#FFFFFF;--link-underline:#FFE14D;
}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]){
    color-scheme:light;
    --bg:#F5F5F2;--surface:#FFFFFF;--surface-2:#EDEDE8;--line:#DCDCD6;
    --text:#0B0B0B;--text-muted:#5C5C5C;--logo-ufc-bg:#0B0B0B;--logo-ufc-ink:#FFFFFF;
    --live:#D21F16;--pred-hit:#138A4B;--pred-winner:#FFE14D;--pred-miss:#D21F16;--pred-none:#8A8A85;
    --champion:#0B0B0B;--link:#0B0B0B;--link-underline:#E0B800;--focus:#0B0B0B;
  }
}
:root[data-theme="light"]{
  color-scheme:light;
  --bg:#F5F5F2;--surface:#FFFFFF;--surface-2:#EDEDE8;--line:#DCDCD6;
  --text:#0B0B0B;--text-muted:#5C5C5C;--logo-ufc-bg:#0B0B0B;--logo-ufc-ink:#FFFFFF;
  --live:#D21F16;--pred-hit:#138A4B;--pred-winner:#FFE14D;--pred-miss:#D21F16;--pred-none:#8A8A85;
  --champion:#0B0B0B;--link:#0B0B0B;--link-underline:#E0B800;--focus:#0B0B0B;
}
/* Compatibility for legacy page and article CSS stored in D1. */
:root{
  --canvas:var(--bg);--canvas-raised:var(--surface);--canvas-sunk:var(--surface-2);
  --ink:var(--text);--ink-soft:var(--text-muted);--steel:var(--text-muted);
  --line-strong:var(--line);--blood:var(--live);--blood-deep:var(--live);
  --blood-tint:color-mix(in srgb,var(--live) 12%,transparent);
  --gold:var(--plaque);--champ-abbr:var(--champion);--gold-tint:color-mix(in srgb,var(--plaque) 16%,transparent);
  --winner:var(--pred-hit);--winner-tint:color-mix(in srgb,var(--pred-hit) 12%,transparent);
  --slab-bg:var(--surface);--slab-bg-raised:var(--surface-2);--slab-fg:var(--text);--slab-fg-dim:var(--text-muted);--slab-line:var(--line);
  --card:var(--surface);--card-bg:var(--surface);--muted:var(--text-muted);--red:var(--live);--navy:var(--plaque-ink);
  --shadow:0 8px 24px color-mix(in srgb,var(--text) 14%,transparent);--radius-cut:var(--r-lg);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body{
  background:var(--bg);
  color:var(--text);
  overflow-x:clip;
  font:400 var(--fs-body)/1.6 var(--font-body);
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--content);margin:0 auto;padding:0 24px}
h1,h2,h3{font-family:var(--font-display);text-wrap:balance;margin:0;letter-spacing:-.01em}
a{color:inherit}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums}
.eyebrow{
  font-family:'JetBrains Mono',monospace;font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--steel);
}
.octagon{
  clip-path:polygon(29% 0%,71% 0%,100% 29%,100% 71%,71% 100%,29% 100%,0% 71%,0% 29%);
}
.flag{width:17px;height:12px;flex:none;vertical-align:middle;box-shadow:0 0 0 1px rgba(23,19,15,.2);margin-right:2px;object-fit:cover}
.cut{
  clip-path:polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
}
.cut-sm{
  clip-path:polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}

/* ---------- Masthead ---------- */
.masthead{
  position:sticky;top:0;z-index:40;
  background:color-mix(in srgb,var(--bg) 92%,transparent);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(8px);
}
.masthead-bar{display:flex;align-items:center;gap:24px;height:64px}
.brand-logo{display:inline-flex;text-decoration:none;flex:none}
.brand-logo img{display:block;width:auto;height:32px}
.brand-logo .on-light{display:none}
:root[data-theme="light"] .brand-logo .on-dark{display:none}
:root[data-theme="light"] .brand-logo .on-light{display:block}
@media (prefers-color-scheme:light){
  :root:not([data-theme="dark"]) .brand-logo .on-dark{display:none}
  :root:not([data-theme="dark"]) .brand-logo .on-light{display:block}
}
nav.mainnav{display:flex;gap:20px;margin-left:auto}
nav.mainnav a{
  font:700 .9375rem/1 var(--font-body);text-decoration:none;color:var(--text-muted);
  padding:22px 0;border-bottom:3px solid transparent;transition:color .15s,border-color .15s;
}
nav.mainnav a:hover,nav.mainnav a.active{color:var(--text);border-color:var(--plaque)}
.header-actions{display:flex;align-items:center;gap:8px}
.icon-btn{width:40px;height:40px;display:grid;place-items:center;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text);cursor:pointer;font-size:18px}
.nav-toggle,.nav-close{display:none}
@media(max-width:820px){
  .masthead{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}
  .masthead-bar{width:100%;gap:12px}
  .brand-logo img{height:28px}
  .mainnav+.header-actions{margin-left:auto}
  .nav-toggle{display:grid}
  nav.mainnav{position:fixed;inset:0;z-index:100;display:none;flex-direction:column;align-items:stretch;gap:0;width:100vw;width:100dvw;min-height:100vh;min-height:100dvh;margin:0;padding:88px 24px max(32px,env(safe-area-inset-bottom));overflow-y:auto;overscroll-behavior:contain;background:var(--bg);box-shadow:0 18px 60px rgba(0,0,0,.45)}
  nav.mainnav[data-open="true"]{display:flex}
  nav.mainnav a{font-family:var(--font-display);font-size:1.15rem;padding:18px 0;border-bottom:1px solid var(--line)}
  nav.mainnav a.active{border-bottom-color:var(--plaque)}
  .nav-close{display:grid;position:absolute;right:max(16px,env(safe-area-inset-right));top:max(12px,env(safe-area-inset-top))}
  body.nav-open{overflow:hidden}
}

/* ---------- Buttons / chips ---------- */
.chip{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'JetBrains Mono';font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;
  padding:5px 10px;border:1px solid var(--line-strong);color:var(--steel);background:var(--canvas-raised);
}
.chip.gold{border-color:var(--gold);color:var(--gold);background:var(--gold-tint)}
.chip.blood{border-color:var(--blood);color:var(--blood);background:var(--blood-tint)}
.chip.completed{border-color:var(--winner);color:var(--winner);background:var(--winner-tint)}
.tabbtn{
  font-family:'Oswald';font-weight:600;text-transform:uppercase;letter-spacing:.03em;
  font-size:.82rem;padding:8px 14px;border:1px solid var(--line-strong);background:var(--canvas-raised);
  color:var(--ink-soft);cursor:pointer;transition:all .15s;
}
.tabbtn:hover{color:var(--ink);border-color:var(--ink-soft)}
.tabbtn.active{background:var(--ink);color:var(--canvas);border-color:var(--ink)}
@media (prefers-color-scheme:dark){
  .tabbtn.active{background:var(--blood);border-color:var(--blood);color:#161111}
}
:root[data-theme="dark"] .tabbtn.active{background:var(--blood);border-color:var(--blood);color:#161111}
.tabrow{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 26px}
.backlink{
  display:inline-flex;align-items:center;gap:6px;font-family:'JetBrains Mono';font-size:.78rem;
  color:var(--steel);text-decoration:none;letter-spacing:.04em;text-transform:uppercase;
}
.backlink:hover{color:var(--blood)}

/* ---------- Section scaffolding ---------- */
.section{padding:44px 0}
.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}
.section-head h2{font-size:1.7rem}
.section-head .eyebrow{margin-bottom:6px;display:block}
.viewmore{font-family:'JetBrains Mono';font-size:.78rem;text-decoration:none;color:var(--blood);white-space:nowrap;letter-spacing:.03em}
.viewmore:hover{text-decoration:underline}

/* ---------- Home hero (single banner tile) ---------- */
.hero{
  background:var(--slab-bg);color:var(--slab-fg);
  position:relative;overflow:hidden;
  min-height:420px;display:flex;align-items:stretch;
}
.hero-photo{position:absolute;inset:0;z-index:0;pointer-events:none}
.hero-photo img{
  position:absolute;right:0;top:0;height:100%;width:74%;
  aspect-ratio:3/2;
  object-fit:cover;object-position:center;
  filter:saturate(.86) contrast(1.06) brightness(.82);
}
.hero-photo .fade-x{position:absolute;inset:0;background:linear-gradient(90deg, var(--slab-bg) 33%, rgba(21,18,16,.78) 50%, transparent 84%)}
.hero-photo .fade-y{position:absolute;inset:0;background:linear-gradient(0deg, var(--slab-bg) 0%, transparent 18%, transparent 80%, var(--slab-bg) 100%)}
.hero-diagonal{
  position:absolute;top:-10%;bottom:-10%;left:38%;width:22%;z-index:0;pointer-events:none;
  background:linear-gradient(100deg, transparent 46%, var(--gold) 48%, var(--gold) 50%, transparent 52%);
  opacity:.55;transform:skewX(-14deg);
}
.hero .wrap{position:relative;z-index:1;padding-top:40px;padding-bottom:34px;display:flex;flex-direction:column;justify-content:center;width:100%}
.hero-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.hero-eyebrow .dot{width:8px;height:8px;background:var(--blood);flex:none}
.hero-eyebrow span{font-family:'JetBrains Mono';font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--slab-fg-dim)}
.hero-matchup{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:14px}
.hero-side{display:flex;flex-direction:column;gap:7px}
.hero-side .oct{width:26px;height:26px;background:var(--gold)}
.hero-side-name{font-family:'Oswald';font-weight:700;text-transform:uppercase;font-size:clamp(1.6rem,4.4vw,2.9rem);line-height:.94;color:var(--slab-fg);text-shadow:0 2px 10px rgba(0,0,0,.6)}
.hero-side.challenger .hero-side-name{color:var(--blood)}
.hero-side-tag{display:flex;align-items:center;gap:7px;font-family:'JetBrains Mono';font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--slab-fg-dim);text-shadow:0 1px 4px rgba(0,0,0,.7)}
.hero-side-tag .flag{width:18px;height:13px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.hero-side-rec{font-family:'JetBrains Mono';font-size:1.1rem;font-weight:600;color:var(--slab-fg);letter-spacing:.03em;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.hero-side-rec small{font-size:.6rem;color:var(--slab-fg-dim);font-weight:400;letter-spacing:.1em;margin-left:5px}
.hero-vs{
  font-family:'Oswald';font-weight:700;font-size:2rem;letter-spacing:.02em;
  background:linear-gradient(180deg, #F5E3B8, var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;
  transform:skewX(-8deg);padding:0 4px;text-shadow:0 2px 14px rgba(0,0,0,.4);
}
.hero .sub{font-family:'JetBrains Mono';color:var(--slab-fg-dim);font-size:.92rem;margin-bottom:6px;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.hero-meta{display:flex;flex-wrap:wrap;gap:28px 34px;margin-top:22px;border-top:1px solid var(--slab-line);padding-top:18px}
.hero-meta .m-label{font-family:'JetBrains Mono';font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--slab-fg-dim);opacity:.85;margin-bottom:5px;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.hero-meta .m-val{font-family:'JetBrains Mono';font-size:1.5rem;color:var(--slab-fg);font-weight:600;text-shadow:0 1px 4px rgba(0,0,0,.7)}
.hero-meta .m-val small{font-size:.9rem;color:var(--slab-fg-dim);font-weight:400}
.hero-meta .m-val.hero-status{font-size:1rem;min-height:2.25rem}
#countdown{min-width:9.5rem;min-height:2.25rem}
@media (max-width:640px){
  .hero{min-height:0}
  .hero .wrap{min-height:0;padding:clamp(260px,70vw,430px) 20px 28px;justify-content:flex-start}
  .hero-photo img{top:0;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center top;filter:none;opacity:.9}
  .hero-photo .fade-x{background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 28%,transparent),transparent 22%,transparent 78%,color-mix(in srgb,var(--surface) 28%,transparent))}
  .hero-photo .fade-y{background:linear-gradient(180deg,transparent 0,transparent 21vw,color-mix(in srgb,var(--surface) 55%,transparent) 52vw,var(--surface) 70vw,var(--surface) 100%)}
  .hero-diagonal{display:none}
  .hero-matchup{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:10px;align-items:end;width:100%}
  .hero-side{min-width:0}
  .hero-side-name{min-height:3.75rem;display:flex;align-items:flex-end}
  .hero-side-tag{min-height:2.6rem;align-items:flex-start}
  .hero-side-rec{min-height:1.7rem}
  .hero-vs{font-size:1.4rem;align-self:center}
  .hero-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:150px;width:100%}
  .hero-meta>div{min-width:0}
  .hero-meta .m-val.hero-status{min-height:3rem}
}

.promo-tile{
  display:flex;align-items:stretch;background:var(--slab-bg);border:1px solid var(--line);
  text-decoration:none;color:var(--slab-fg);position:relative;overflow:hidden;min-height:120px;
}
.promo-photo{position:relative;width:180px;flex:none;overflow:hidden}
.promo-photo img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.promo-photo .fade{position:absolute;inset:0;background:linear-gradient(90deg, transparent 0%, var(--slab-bg) 92%);}
.promo-body{padding:18px 22px;display:flex;flex-direction:column;justify-content:center;gap:6px;flex:1;min-width:0}
.promo-body h3{font-size:1.15rem;text-transform:none;font-family:'Oswald';font-weight:600;color:var(--slab-fg)}
.promo-main{font-family:'JetBrains Mono';font-size:.82rem;color:var(--slab-fg-dim)}
.promo-main .x{color:var(--blood);margin:0 6px;font-style:normal}
.promo-cta{font-family:'JetBrains Mono';font-size:.72rem;color:var(--blood);letter-spacing:.04em;margin-top:4px}
.promo-tile:hover .promo-cta{text-decoration:underline}
@media (max-width:560px){.promo-photo{width:100px}}

.champstrip{border-bottom:1px solid var(--line);background:var(--canvas-raised)}
.champstrip-window{overflow:hidden}
.champstrip-track{
  display:flex;width:max-content;will-change:transform;
  animation:champstrip-scroll 38s linear infinite;
}
.champstrip-set{display:flex;flex:none;padding:14px 0}
.champstrip:hover .champstrip-track,.champstrip:focus-within .champstrip-track{animation-play-state:paused}
@keyframes champstrip-scroll{to{transform:translateX(-50%)}}
.cchip{
  flex:none;display:flex;align-items:center;gap:10px;padding:0 18px;border-right:1px solid var(--line);
}
.cchip .abbr{font-family:'Oswald';font-weight:700;font-size:.72rem;color:var(--champ-abbr);letter-spacing:.06em}
.cchip .nm{font-family:'Golos Text';font-weight:600;font-size:.86rem;white-space:nowrap}

/* ---------- Card grids ---------- */
.grid{display:grid;gap:18px}
.grid.news{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.grid.fighters{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}

.newscard{
  background:var(--canvas-raised);border:1px solid var(--line);
  display:flex;flex-direction:column;position:relative;overflow:hidden;
  color:inherit;text-decoration:none;
}
.newscard .tile{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--slab-bg);flex:none}
.newscard .tile img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.newscard .tile .mark{
  font-family:'Oswald';font-weight:700;font-size:5.5rem;line-height:1;
  color:rgba(245,240,228,.46);position:absolute;right:8px;bottom:-14px;pointer-events:none;
  -webkit-text-stroke:1px rgba(245,240,228,.3);
}
.newscard .body{padding:20px;position:relative;z-index:1;display:flex;flex-direction:column;gap:10px;flex:1}
.newscard .kicker{font-family:'JetBrains Mono';font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--blood)}
.newscard h2,.newscard h3{font-size:1.18rem;line-height:1.15;text-transform:none}
.newscard p{color:var(--ink-soft);font-size:.92rem;margin:0;flex:1}
.newscard .meta{display:flex;justify-content:space-between;align-items:center;font-family:'JetBrains Mono';font-size:.7rem;color:var(--steel);border-top:1px solid var(--line);padding-top:10px;margin-top:4px}

/* ---------- Home prediction accuracy ---------- */
.forecast-accuracy{border-bottom:1px solid var(--line);background:var(--surface-2)}
.forecast-accuracy-inner{display:grid;grid-template-columns:minmax(250px,1fr) 170px minmax(300px,1.25fr);align-items:center;gap:28px;padding-block:24px}
.forecast-accuracy-copy h2{margin:4px 0 6px;font-size:clamp(1.35rem,2.4vw,2rem)}
.forecast-accuracy-copy p{margin:0;color:var(--text-muted);font-size:.9rem}
.forecast-accuracy-copy p strong{color:var(--text)}
.forecast-accuracy-score{display:grid;place-items:center;align-content:center;min-height:86px;padding-inline:24px;border-inline:1px solid var(--line);text-align:center}
.forecast-accuracy-score strong{font-family:var(--font-display);font-size:2.5rem;line-height:1;color:var(--text)}
.forecast-accuracy-score span{margin-top:7px;color:var(--text-muted);font-size:var(--fs-label);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.forecast-accuracy-data{min-width:0}
.forecast-accuracy-bar{display:flex;height:10px;overflow:hidden;border-radius:999px;background:var(--line)}
.forecast-accuracy-bar>span{display:block;flex:0 0 var(--forecast-segment)}
.forecast-accuracy-bar .is-hit,.forecast-accuracy-legend .is-hit{background:var(--pred-hit)}
.forecast-accuracy-bar .is-winner,.forecast-accuracy-legend .is-winner{background:var(--pred-winner)}
.forecast-accuracy-bar .is-miss,.forecast-accuracy-legend .is-miss{background:var(--pred-miss)}
.forecast-accuracy-bar .is-none,.forecast-accuracy-legend .is-none{background:var(--pred-none)}
.forecast-accuracy-legend{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:12px 0 0}
.forecast-accuracy-legend div{display:grid;gap:3px}
.forecast-accuracy-legend dt{display:flex;align-items:center;gap:6px;color:var(--text-muted);font-size:.72rem}
.forecast-accuracy-legend dt i{width:8px;height:8px;border-radius:50%;flex:none}
.forecast-accuracy-legend dd{margin:0;font-weight:800;font-variant-numeric:tabular-nums}

/* ---------- Home news + sticky event board ---------- */
.home-content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,400px);gap:28px;align-items:start}
.home-news-stream{min-width:0}
.home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.home-event-widget{position:sticky;top:82px;min-width:0;max-height:calc(100vh - 98px);overflow:auto;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);scrollbar-width:thin}
.home-event-widget-title{display:flex;justify-content:space-between;gap:14px;align-items:end;padding:20px 20px 14px}
.home-event-widget-title h2{margin:4px 0 0;font-size:1.5rem}
.home-event-tabs{display:flex;gap:6px;overflow-x:auto;padding:0 20px 14px;scrollbar-width:none;overscroll-behavior-inline:contain;touch-action:pan-x;cursor:grab;-webkit-overflow-scrolling:touch}
.home-event-tabs::-webkit-scrollbar{display:none}
.home-event-tabs.is-dragging{cursor:grabbing;user-select:none}
.home-event-tab{min-height:38px;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font:800 .72rem/1 var(--font-body);white-space:nowrap;cursor:pointer;-webkit-user-drag:none;user-select:none}
.home-event-tab:hover{border-color:var(--text-muted);color:var(--text)}
.home-event-tab.active{border-color:var(--plaque);background:var(--plaque);color:var(--plaque-ink)}
.home-event-panel[hidden]{display:none}
.home-event-panel-head{padding:18px 20px;border-block:1px solid var(--line);background:var(--surface-2)}
.home-event-panel-head h3{margin:12px 0 7px;font-size:1.05rem;line-height:1.3}
.home-event-panel-head h3 a{color:var(--text);text-decoration:none}
.home-event-panel-head h3 a:hover{text-decoration:underline;text-decoration-color:var(--plaque);text-underline-offset:4px}
.home-event-panel-head p{margin:0;color:var(--text-muted);font-size:.76rem;line-height:1.5}
.home-event-card-table{padding:6px 20px}
.home-event-segment{padding-block:12px}
.home-event-segment+.home-event-segment{border-top:1px solid var(--line)}
.home-event-segment-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:5px}
.home-event-segment-head h4{margin:0;font-size:.78rem;letter-spacing:.08em}
.home-event-segment-head span{color:var(--text-muted);font-size:.68rem}
.home-event-segment ol{list-style:none;margin:0;padding:0}
.home-event-bout{display:grid;grid-template-columns:66px minmax(0,1fr);gap:3px 10px;padding:9px 0;border-top:1px dotted var(--line)}
.home-event-bout:first-child{border-top:0}
.home-event-bout-weight{color:var(--text-muted);font-size:.62rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.home-event-matchup{display:flex;align-items:center;gap:6px;min-width:0;font-size:.76rem;line-height:1.35}
.home-event-matchup .fl{min-width:0;color:var(--text);text-decoration:none}
.home-event-matchup .fl:hover{text-decoration:underline;text-decoration-color:var(--plaque)}
.home-event-vs{color:var(--text-muted);font-size:.65rem}
.home-event-bout .winner,.home-event-bout .winner .fl{color:var(--pred-hit)}
.home-event-result{grid-column:2;color:var(--text-muted);font-size:.65rem}
.home-event-panel-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:14px 20px 20px;border-top:1px solid var(--line)}
.home-event-panel-actions .btn{width:100%;padding-inline:10px;text-align:center}
.home-events-empty{margin:12px 0;padding:16px;border:1px dashed var(--line);color:var(--text-muted)}
@media(max-width:1040px){.home-content-layout{grid-template-columns:minmax(0,1fr) 340px}.home-news-grid{grid-template-columns:1fr}}
@media(max-width:860px){.home-content-layout{grid-template-columns:1fr}.home-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-event-widget{position:static;order:-1;max-height:none;overflow:visible}}
@media(max-width:900px){.forecast-accuracy-inner{grid-template-columns:minmax(0,1fr) 140px}.forecast-accuracy-data{grid-column:1/-1}.forecast-accuracy-score{border-right:0}}
@media(max-width:700px){.home-news-grid{grid-template-columns:1fr}}
@media(max-width:480px){.forecast-accuracy-inner{grid-template-columns:1fr;gap:18px}.forecast-accuracy-score{place-items:start;border:0;padding:0;text-align:left}.forecast-accuracy-legend{grid-template-columns:repeat(2,minmax(0,1fr))}.home-event-widget-title,.home-event-tabs,.home-event-panel-head,.home-event-card-table,.home-event-panel-actions{padding-left:14px;padding-right:14px}.home-event-panel-actions{grid-template-columns:1fr}.home-event-bout{grid-template-columns:1fr;gap:5px}.home-event-matchup{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px}.home-event-matchup>:last-child{text-align:right}.home-event-matchup .fl{overflow-wrap:anywhere}.home-event-result{grid-column:1}}

/* ---------- Telegram channel ---------- */
.telegram-promo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:24px;align-items:center;margin:28px 0;padding:28px 30px;background:var(--surface);color:var(--text);border:1px solid var(--line);border-left:4px solid var(--plaque)}
.telegram-promo-mark{width:72px;height:72px;display:grid;place-items:center;flex:none}
.telegram-promo-mark img{display:block;width:72px;height:72px}
.telegram-promo-copy .eyebrow{color:var(--text-muted)}
.telegram-promo-copy h2{margin:5px 0 7px;color:var(--text);font-size:clamp(1.5rem,3vw,2.25rem)}
.telegram-promo-copy p{margin:0;max-width:760px;color:var(--text-muted);line-height:1.6}
.telegram-promo-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;background:var(--plaque);color:var(--plaque-ink);text-decoration:none;font-family:var(--font-body);font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}
.telegram-promo-button:hover{text-decoration:underline}
@media(max-width:820px){.telegram-promo{grid-template-columns:auto 1fr}.telegram-promo-button{grid-column:1/-1;width:100%}}
@media(max-width:520px){.telegram-promo{grid-template-columns:1fr;padding:24px}.telegram-promo-mark{width:56px;height:56px}.telegram-promo-mark img{width:56px;height:56px}.telegram-promo-button{grid-column:auto}}

/* ---------- Fighter card (photo tile) ---------- */
.fcard{
  background:var(--slab-bg);border:1px solid var(--line);
  display:flex;flex-direction:column;text-decoration:none;color:var(--ink);
  transition:border-color .15s, transform .15s;position:relative;overflow:hidden;
}
.fcard:hover{border-color:var(--blood);transform:translateY(-2px)}
.fcard-photo{position:relative;aspect-ratio:3/4;background:var(--slab-bg-raised);overflow:hidden}
.fcard-photo > img:not(.fcard-flag){width:100%;height:100%;object-fit:cover;object-position:top center;display:block}
.fcard-photo .noimg{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Oswald';font-weight:700;font-size:4.2rem;color:rgba(245,240,228,.3);
  background:radial-gradient(circle at 50% 42%, rgba(245,240,228,.06), transparent 60%);
}
.fcard-photo .fade{position:absolute;inset:0;background:linear-gradient(0deg, rgba(21,18,16,.92) 0%, rgba(21,18,16,.45) 38%, transparent 62%);}
.fcard-top{position:absolute;top:10px;left:10px;right:10px;display:flex;justify-content:space-between;align-items:flex-start;gap:8px;z-index:1}
.rankbadge{
  width:34px;height:34px;flex:none;display:flex;align-items:center;justify-content:center;
  background:rgba(21,18,16,.65);border:1px solid rgba(245,240,228,.25);backdrop-filter:blur(2px);
  font-family:'JetBrains Mono';font-weight:600;font-size:.78rem;color:var(--slab-fg);
}
.rankbadge.champ{background:var(--gold);border-color:var(--gold);color:#241a08}
.fcard-photo img.fcard-flag{width:26px;height:19px;display:block;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.3);object-fit:cover}
.fcard-info{position:absolute;left:0;right:0;bottom:0;z-index:1;padding:12px 14px}
.fcard h3{font-size:1rem;text-transform:none;font-family:'Golos Text';font-weight:700;line-height:1.2;color:var(--slab-fg)}
.fcard .div{font-family:'JetBrains Mono';font-size:.64rem;color:var(--slab-fg-dim);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}
.fcard-foot{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-top:1px solid var(--slab-line)}
.fcard .rec{font-family:'JetBrains Mono';font-size:1.1rem;font-weight:600;letter-spacing:.02em;color:var(--slab-fg)}
.fcard .rec small{font-size:.58rem;color:var(--slab-fg-dim);font-weight:400;letter-spacing:.08em;text-transform:uppercase;margin-left:5px}
.fcard-foot .p4p{font-family:'JetBrains Mono';font-size:.6rem;color:var(--gold);text-transform:uppercase;letter-spacing:.04em;text-align:right}

/* ---------- Fighter detail (tale of the tape) ---------- */
.tape{background:var(--canvas-raised);border:1px solid var(--line);padding:0;margin-top:8px}
.tape-head{background:var(--slab-bg);color:var(--slab-fg);padding:0;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-end;position:relative;overflow:hidden;min-height:200px}
.tape-head-photo{position:absolute;inset:0;z-index:0}
.tape-head-photo img{position:absolute;right:0;top:0;height:100%;width:auto;min-width:38%;object-fit:cover;object-position:top center}
.tape-head-photo .fade{position:absolute;inset:0;background:linear-gradient(90deg, var(--slab-bg) 40%, transparent 85%);}
.tape-head-inner{position:relative;z-index:1;padding:28px 28px 22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;align-items:flex-end;width:100%}
.tape-head h1{color:var(--slab-fg);font-size:clamp(1.8rem,4vw,2.6rem)}
.tape-head .div{font-family:'JetBrains Mono';color:var(--slab-fg-dim);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;margin-top:6px;display:flex;align-items:center;gap:8px}
.tape-head .div .flag{width:20px;height:14px;flex:none;box-shadow:0 0 0 1px rgba(255,255,255,.15)}
.tape-belt{display:flex;align-items:center;gap:8px;color:var(--gold);font-family:'Oswald';font-weight:600;text-transform:uppercase;font-size:.85rem;
  background:rgba(21,18,16,.72);padding:8px 14px;backdrop-filter:blur(2px);}
.tape-belt .oct{width:22px;height:22px;background:var(--gold);flex:none}
.tape-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));border-top:1px solid var(--line)}
.tstat{padding:20px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.tstat .l{font-family:'JetBrains Mono';font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--steel);margin-bottom:6px}
.tstat .v{font-family:'JetBrains Mono';font-size:1.6rem;font-weight:600}
.tape-note{padding:22px 24px;color:var(--ink-soft);font-size:.96rem;line-height:1.6;border-top:1px solid var(--line)}
.fighter-profile{padding-top:34px}
.profile-hero{min-height:340px;overflow:visible;isolation:isolate}
.profile-landscape{position:absolute;inset:0;z-index:-2;overflow:hidden;background-image:linear-gradient(90deg,rgba(12,10,9,.98) 0%,rgba(12,10,9,.88) 42%,rgba(12,10,9,.25) 100%),var(--profile-bg,none);background-size:cover;background-position:center}
.profile-landscape:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(12,10,9,.55),transparent 55%)}
.profile-portrait{position:absolute;z-index:-1;right:1.5%;bottom:0;height:calc(100% + 58px);width:min(44%,470px);object-fit:contain;object-position:right bottom;filter:drop-shadow(-18px 12px 24px rgba(0,0,0,.38))}
.profile-hero .tape-head-inner{min-height:340px;padding:42px 42px 30px;align-items:flex-end}
.profile-title{max-width:58%}
.profile-title h1{font-size:clamp(2.6rem,5.5vw,5.2rem);line-height:.94}
.original-name{margin:10px 0 16px;color:var(--slab-fg-dim);font-family:'JetBrains Mono';font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}
.tstat .v.small{font-family:'Golos Text';font-size:1.1rem;font-weight:700}
.profile-block{margin-top:28px;padding:24px;background:var(--canvas-raised);border:1px solid var(--line)}
.profile-block h2{font-size:clamp(1.55rem,3vw,2.15rem);margin:5px 0 8px}
.profile-block p{color:var(--ink-soft);line-height:1.6}
.upcoming-fight{border-left:4px solid var(--blood)}
.upcoming-fight h2 a{color:var(--ink);text-decoration:none}
.upcoming-fight p a{color:var(--blood-deep);font-weight:700}
.fight-history td small{display:block;margin-top:4px;color:var(--steel);font-family:'JetBrains Mono';font-size:.67rem}
.result{display:inline-grid;place-items:center;width:30px;height:30px;color:#fff;background:var(--steel);font-family:'JetBrains Mono';font-weight:700}
.result-w{background:#277247}.result-l{background:var(--blood)}.result-d{background:var(--gold)}
.profile-pagination{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:28px}
.profile-pagination a{display:flex;flex-direction:column;gap:4px;padding:18px 20px;background:var(--slab-bg);color:var(--slab-fg);text-decoration:none;border:1px solid var(--slab-line)}
.profile-pagination a:last-child{text-align:right}
.profile-pagination span{font-family:'JetBrains Mono';font-size:.68rem;text-transform:uppercase;color:var(--slab-fg-dim)}
.site-map-page h1{font-size:clamp(2.4rem,6vw,5rem)}
.site-map-grid{display:block;width:100%}
.site-map-group{width:100%;background:var(--canvas-raised);border:1px solid var(--line);padding:24px 28px;margin-bottom:16px}
.site-map-group h2{font-size:1.5rem;margin-bottom:14px}
.site-map-group ul{list-style:none;margin:0;padding:0}
.site-map-group li{display:grid;grid-template-columns:1fr auto;gap:12px;padding:10px 0;border-top:1px solid var(--line)}
.site-map-group a{color:var(--ink);font-weight:700;text-decoration:none}
.site-map-group time{color:var(--steel);font-family:'JetBrains Mono';font-size:.65rem}

/* ---------- Tables (rankings / schedule) ---------- */
.tablewrap{overflow-x:auto;border:1px solid var(--line);background:var(--canvas-raised)}
table.ledger{width:100%;border-collapse:collapse;min-width:520px}
table.ledger th{
  text-align:left;font-family:'JetBrains Mono';font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--steel);padding:12px 16px;border-bottom:1px solid var(--line-strong);white-space:nowrap;
}
table.ledger td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:.94rem;vertical-align:middle}
table.ledger tr:last-child td{border-bottom:none}
table.ledger .rk{font-family:'JetBrains Mono';color:var(--steel);width:34px}
table.ledger .rec{font-family:'JetBrains Mono';font-variant-numeric:tabular-nums;white-space:nowrap}
table.ledger a.fl{text-decoration:none;color:var(--ink);font-weight:600}
table.ledger a.fl:hover{color:var(--blood)}
.champrow td{background:var(--gold-tint)}
.champrow .rk{color:var(--gold)}
.gaprow td{text-align:center;color:var(--steel);font-family:'JetBrains Mono';padding:4px;letter-spacing:.2em}
.beltmark{display:inline-flex;align-items:center;gap:6px;color:var(--gold);font-family:'JetBrains Mono';font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}

/* ---------- Schedule ---------- */
.eventcard{background:var(--canvas-raised);border:1px solid var(--line);margin-bottom:18px}
.eventcard-head{display:flex;gap:18px;padding:20px 22px;align-items:center;flex-wrap:wrap}
.datebox{
  flex:none;width:70px;height:70px;background:var(--slab-bg);color:var(--slab-fg);display:flex;flex-direction:column;
  align-items:center;justify-content:center;
}
.datebox .d{font-family:'Oswald';font-weight:700;font-size:1.7rem;line-height:1}
.datebox .m{font-family:'JetBrains Mono';font-size:.62rem;text-transform:uppercase;letter-spacing:.08em;color:var(--slab-fg-dim);margin-top:2px}
.eventcard-info{flex:1;min-width:200px}
.eventcard-info h2{font-size:1.25rem;text-transform:none;font-family:'Oswald';font-weight:600}
.eventcard-info .loc{font-family:'JetBrains Mono';font-size:.78rem;color:var(--steel);margin-top:4px}
.eventcard-body{border-top:1px solid var(--line);padding:10px 22px 20px}
.card-segment+.card-segment{margin-top:16px;padding-top:4px}
.card-segment-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:6px 0 2px;padding:10px 12px;background:var(--slab-bg);color:var(--slab-fg);border-left:4px solid var(--steel)}
.card-segment-head h3{font-size:1rem;letter-spacing:.055em;line-height:1.1}
.card-segment-head span{font-family:'JetBrains Mono';font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--slab-fg-dim);text-align:right}
.card-segment--main .card-segment-head{border-left-color:var(--gold)}
.card-segment--prelims .card-segment-head{border-left-color:var(--blood)}
.card-segment--early-prelims .card-segment-head{border-left-color:var(--steel)}
.bout{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.bout:last-child{border-bottom:none}
.bout .wc{font-family:'JetBrains Mono';font-size:.68rem;color:var(--steel);text-transform:uppercase;min-width:150px}
.bout .vs{font-weight:600;text-align:right;flex:1;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.bout .matchup{display:block}
.bout .vs .x{color:var(--steel);font-weight:400;margin:0 6px}
.bout .winner,.bout .winner a.fl{color:var(--winner);font-weight:700}
.bout .winner a.fl{text-decoration-color:currentColor;text-decoration-thickness:2px;text-underline-offset:3px}
.bout-result{font-family:'JetBrains Mono';font-size:.66rem;line-height:1.35;color:var(--steel);font-weight:500;text-transform:uppercase;letter-spacing:.035em}

/* ---------- Editorial / about ---------- */
.editorial{background:var(--canvas-sunk);border-left:3px solid var(--blood);padding:20px 24px;margin:26px 0}
.editorial p{margin:0 0 10px;color:var(--ink-soft);line-height:1.65}
.editorial p:last-child{margin-bottom:0}

/* ---------- Stage 2 · «Чорне табло» page templates ---------- */
.plaque{display:inline-block;align-self:flex-start;transform:skewX(var(--skew));background:var(--plaque);color:var(--plaque-ink);padding:5px 12px;font:800 var(--fs-label)/1.3 var(--font-body);letter-spacing:.08em;text-transform:uppercase}
.plaque>span{display:inline-block;transform:skewX(calc(var(--skew) * -1))}
.plaque.mono{background:var(--text);color:var(--bg)}
.plaque.live{background:var(--live);color:var(--live-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 18px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text);font:800 .9375rem/1.25 var(--font-body);text-decoration:none;cursor:pointer}
.btn:hover{border-color:var(--text-muted)}
.btn.primary{border-color:transparent;background:var(--plaque);color:var(--plaque-ink)}
.section{padding:clamp(36px,6vw,72px) 0}
.section-head{align-items:flex-end;margin-bottom:24px}
.section-head h1{font-size:var(--fs-h1);line-height:1.08}
.section-head h2{font-size:var(--fs-h2);line-height:1.15;text-transform:uppercase}
.section-head p{max-width:var(--measure);margin:10px 0 0;color:var(--text-muted);font-size:1.05rem}
.eyebrow,.viewmore,.backlink,.mono{font-family:var(--font-body)}
.eyebrow{font-weight:700;color:var(--text-muted)}
.viewmore{color:var(--text);font-weight:800;text-decoration:underline;text-decoration-color:var(--plaque);text-decoration-thickness:3px;text-underline-offset:5px}
.chip{border:1px solid var(--line);border-radius:999px;background:var(--surface-2);color:var(--text-muted);font-family:var(--font-body);font-weight:700}
.chip.gold,.chip.completed{border-color:transparent;background:var(--plaque);color:var(--plaque-ink)}
.chip.blood{border-color:transparent;background:var(--live);color:var(--live-ink)}
.tabrow{gap:10px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:thin}
.tabbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;min-height:48px;padding:0 22px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text-muted);font:700 .875rem/1.2 var(--font-body);letter-spacing:0;text-transform:none;text-decoration:none}
.tabbtn:hover{border-color:var(--text-muted);color:var(--text)}
.tabbtn.active{border-color:transparent;background:var(--plaque);color:var(--plaque-ink)}
:root[data-theme="dark"] .tabbtn.active{border-color:transparent;background:var(--plaque);color:var(--plaque-ink)}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]) .tabbtn.active{border-color:transparent;background:var(--plaque);color:var(--plaque-ink)}}

.hero{min-height:480px;background:var(--surface);color:var(--text);border-bottom:1px solid var(--line)}
.hero-photo img{width:68%;filter:none}
.hero-photo .fade-x{background:linear-gradient(90deg,var(--surface) 34%,color-mix(in srgb,var(--surface) 82%,transparent) 54%,transparent 86%)}
.hero-photo .fade-y{background:linear-gradient(0deg,var(--surface) 0%,transparent 22%,transparent 82%,color-mix(in srgb,var(--surface) 70%,transparent) 100%)}
.hero-diagonal{background:linear-gradient(100deg,transparent 46%,var(--plaque) 48%,var(--plaque) 50%,transparent 52%)}
.hero-eyebrow>span{font-family:var(--font-body);font-weight:700}.hero-eyebrow .plaque{color:var(--plaque-ink)}.hero-eyebrow .plaque>span{color:inherit}.hero-eyebrow .plaque.live{color:var(--live-ink)}.hero-eyebrow .plaque.mono{color:var(--bg)}
.hero-side-name{font-family:var(--font-display);font-size:clamp(1.55rem,4vw,3.35rem);color:var(--text);text-shadow:none}
.hero-side.challenger .hero-side-name{color:var(--text)}
.hero-side-tag,.hero-side-rec,.hero .sub,.hero-meta .m-label,.hero-meta .m-val{font-family:var(--font-body);color:var(--text-muted);text-shadow:none}
.hero-side-rec,.hero-meta .m-val{color:var(--text);font-weight:800;font-variant-numeric:tabular-nums}
.hero-vs{font-family:var(--font-display);background:none;color:var(--text-muted);text-shadow:none}
.hero-meta{border-color:var(--line)}

.grid.news{gap:20px}
.newscard{border-radius:var(--r-lg);background:var(--surface);border-color:var(--line)}
.newscard .tile{background:var(--surface-2)}
.newscard .body{padding:18px;gap:12px}
.newscard .plaque{margin-bottom:2px}
.newscard h2,.newscard h3{font-size:1.0625rem;line-height:1.3}
.newscard p{color:var(--text-muted)}
.newscard .meta{border-color:var(--line);color:var(--text-muted);font-family:var(--font-body);font-variant-numeric:tabular-nums}
.newscard:hover h2,.newscard:hover h3{text-decoration:underline;text-decoration-color:var(--plaque);text-decoration-thickness:3px;text-underline-offset:4px}
.analysis-index{margin-top:56px}
.analysis-groups{display:grid;gap:10px}
.analysis-group{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}
.analysis-group summary{display:flex;justify-content:space-between;gap:18px;align-items:center;min-height:56px;padding:14px 18px;cursor:pointer;font-weight:800}
.analysis-group summary b{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap}
.analysis-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;background:var(--line);border-top:1px solid var(--line)}
.analysis-group>div a{display:flex;justify-content:space-between;gap:14px;padding:14px 16px;background:var(--surface-2);color:var(--text);text-decoration:none}
.analysis-group>div a:hover{text-decoration:underline;text-decoration-color:var(--plaque);text-underline-offset:4px}

.datebox{border-radius:var(--r-sm);background:var(--text);color:var(--bg)}
.datebox .d{font-family:var(--font-display);font-weight:800}
.datebox .m{font-family:var(--font-body)}

.eventcard{overflow:hidden;border-color:var(--line);border-radius:var(--r-lg);background:var(--surface)}
.eventcard-head{padding:22px}
.eventcard-info h2{font-family:var(--font-display);font-size:1.15rem;line-height:1.3}
.eventcard-info h2 a{text-decoration:none}
.eventcard-info h2 a:hover{text-decoration:underline;text-decoration-color:var(--plaque);text-underline-offset:4px}
.eventcard-info .loc{font-family:var(--font-body);color:var(--text-muted)}
.eventcard-details{border-top:1px solid var(--line)}
.eventcard-details>summary{padding:14px 22px;background:var(--surface-2);font-weight:800;cursor:pointer}
.eventcard-body{border:0;padding:14px 22px 20px}
.eventcard-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 22px 22px}
.card-segment-head{border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);padding:12px 0}
.card-segment-head span,.bout .wc,.bout-result{font-family:var(--font-body);color:var(--text-muted)}
.bout{border-color:var(--line)}
.bout .winner,.bout .winner a.fl{color:var(--text);font-weight:800}
.empty-state{padding:32px;border:1px dashed var(--line);border-radius:var(--r-lg);background:var(--surface);text-align:center}
.empty-state h2{font-size:var(--fs-h3)}.empty-state p{color:var(--text-muted)}

.profile-block{border-color:var(--line);border-radius:var(--r-lg);background:var(--surface)}
.tablewrap{border-color:var(--line);border-radius:var(--r-md);background:var(--surface)}
table.ledger th{border-color:var(--line);color:var(--text-muted);font-family:var(--font-body)}
table.ledger td{border-color:var(--line)}
table.ledger .rk,table.ledger .rec{font-family:var(--font-body);font-weight:800;font-variant-numeric:tabular-nums}
table.ledger a.fl{color:var(--text)}
table.ledger a.fl:hover{text-decoration-color:var(--plaque)}
.champrow td{background:color-mix(in srgb,var(--plaque) 12%,transparent)}
.champrow .rk,.beltmark{color:var(--text)}
.rank-change{color:var(--text-muted);width:74px;text-align:center}

.rankings-divisions{display:grid;gap:18px}
.rankings-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px}
.rankings-carousel{
  display:grid;grid-auto-flow:column;grid-auto-columns:minmax(320px,380px);gap:16px;
  overflow-x:auto;padding:2px 2px 16px;scroll-snap-type:x proximity;scrollbar-width:none;
  overscroll-behavior-inline:contain;touch-action:pan-x;cursor:grab
}
.rankings-carousel::-webkit-scrollbar{display:none}
.rankings-carousel.is-dragging{cursor:grabbing;scroll-snap-type:none;user-select:none}
.rankings-carousel img,.rankings-carousel a{-webkit-user-drag:none;user-select:none}
@media(pointer:fine){.rankings-carousel{scroll-snap-type:none}}
.ranking-division-card{min-width:0;overflow:hidden;scroll-snap-align:start;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ranking-champion{position:relative;min-height:330px;overflow:hidden;background:var(--surface-2)}
.ranking-champion>img{position:absolute;inset:12px 0 0;width:100%;height:calc(100% - 12px);object-fit:contain;object-position:center bottom;filter:drop-shadow(0 14px 18px rgba(0,0,0,.28))}
.ranking-champion-fallback{position:absolute;inset:0;display:grid;place-items:center;color:var(--text-muted);font:800 6rem/1 var(--font-display)}
.ranking-champion-shade{position:absolute;inset:0;background:linear-gradient(0deg,color-mix(in srgb,var(--surface) 98%,transparent) 0%,color-mix(in srgb,var(--surface) 76%,transparent) 30%,transparent 64%)}
.ranking-champion-copy{position:absolute;z-index:1;left:20px;right:20px;bottom:18px;display:grid;gap:7px}
.ranking-champion-copy .plaque{justify-self:start}
.ranking-champion-copy h2{margin:0;font-size:1.2rem;line-height:1.2}
.ranking-champion-copy a{color:var(--text);text-decoration:none}
.ranking-champion-copy a:hover{text-decoration:underline;text-decoration-color:var(--plaque);text-underline-offset:4px}
.ranking-champion-copy p{margin:0;color:var(--text-muted);font-size:var(--fs-small)}
.ranking-card-body{padding:18px 20px 20px}
.ranking-card-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.ranking-card-heading h3{margin:0;font:800 .92rem/1.25 var(--font-body);letter-spacing:.04em;text-transform:uppercase}
.ranking-card-heading span{color:var(--text-muted);font-size:var(--fs-small);white-space:nowrap}
.ranking-list{list-style:none;margin:0;padding:0}
.ranking-list li{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:43px;border-top:1px solid var(--line)}
.ranking-position{color:var(--text-muted);font-weight:800;font-variant-numeric:tabular-nums}
.ranking-fighter{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ranking-fighter a{color:var(--text);font-weight:700;text-decoration:none}
.ranking-fighter a:hover{text-decoration:underline;text-decoration-color:var(--plaque);text-underline-offset:3px}
.ranking-list small{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.rankings-p4p{margin-top:48px}
.rankings-p4p-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.ranking-p4p-card{padding:20px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.ranking-p4p-card h3{font-size:1rem;margin-bottom:10px}

.fighter-filters{display:grid;grid-template-columns:minmax(220px,1.4fr) repeat(2,minmax(180px,1fr)) auto;gap:12px;align-items:end;margin:0 0 16px;padding:18px;border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface)}
.fighter-filters label{display:grid;gap:7px}.fighter-filters label>span{color:var(--text-muted);font-size:var(--fs-label);font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.fighter-filters input,.fighter-filters select{width:100%;min-height:44px;padding:9px 12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);font:inherit}
.results-count{margin:0 0 18px;color:var(--text-muted);font-size:var(--fs-small)}
.grid.fighters{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}
.fcard{border-color:var(--line);border-radius:var(--r-lg);background:var(--surface);color:var(--text)}
.fcard:hover{border-color:var(--text-muted)}
.fcard-photo{aspect-ratio:1;background:var(--surface-2)}
.fcard-photo .fade{background:linear-gradient(0deg,color-mix(in srgb,var(--bg) 92%,transparent) 0%,color-mix(in srgb,var(--bg) 45%,transparent) 36%,transparent 64%)}
.fcard h2,.fcard h3{font-family:var(--font-display);font-size:.95rem;color:var(--text)}
.fcard .div,.fcard .rec,.fcard .rec small,.fcard-foot .p4p{font-family:var(--font-body);color:var(--text-muted)}
.fcard .rec{color:var(--text);font-weight:800}
.fcard-foot{border-color:var(--line)}
.pagination{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:28px}
.pagination .btn{min-width:44px;padding-inline:12px}

.tape{border-color:var(--line);border-radius:var(--r-lg);background:var(--surface);overflow:hidden}
.fighter-profile .tape{position:relative;overflow:visible}
.fighter-profile .profile-hero{border-radius:var(--r-lg) var(--r-lg) 0 0}
.fighter-profile .profile-landscape{border-radius:inherit}
.fighter-profile .profile-portrait{z-index:1;height:calc(100% + 88px);pointer-events:none}
.fighter-profile .profile-hero .tape-head-inner{z-index:2}
.fighter-profile .tape-stats,.fighter-profile .tape-note{position:relative;z-index:2;background:var(--surface)}
.fighter-profile .tape-note{border-radius:0 0 var(--r-lg) var(--r-lg)}
.tape-head{background:var(--surface-2);color:var(--text)}
.tape-head h1{color:var(--text);font-size:var(--fs-h1)}
.tape-head .div,.original-name{font-family:var(--font-body);color:var(--text-muted)}
.tape-belt{background:var(--plaque);color:var(--plaque-ink);font-family:var(--font-body);font-weight:800}
.tstat .l,.tstat .v,.fight-history td small,.profile-pagination span{font-family:var(--font-body)}
.tstat .l,.fight-history td small,.profile-pagination span{color:var(--text-muted)}
.tstat .v{font-weight:800;font-variant-numeric:tabular-nums}
.profile-block.upcoming-fight{border-left-color:var(--plaque)}
.upcoming-fight h2 a{color:var(--text)}
.upcoming-fight p a{color:var(--text);text-decoration-color:var(--plaque)}
.result{background:var(--surface-2);color:var(--text);font-family:var(--font-body)}
.result-w,.result-l,.result-d{background:var(--surface-2);color:var(--text)}
.profile-pagination a{border-color:var(--line);border-radius:var(--r-md);background:var(--surface);color:var(--text)}
.profile-articles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-articles a{display:flex;flex-direction:column;gap:7px;padding:16px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface-2);color:var(--text);text-decoration:none}.profile-articles a:hover strong{text-decoration:underline;text-decoration-color:var(--plaque);text-underline-offset:4px}.profile-articles span{color:var(--text-muted);font-size:var(--fs-small)}

@media(max-width:900px){.fighter-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.fighter-filters .btn{width:100%}.rankings-p4p-grid{grid-template-columns:1fr}}
@media(max-width:640px){
  .wrap{padding-inline:16px}.hero{min-height:0}.hero .wrap{min-height:0;padding-top:clamp(260px,70vw,430px)}.hero-photo img{top:0;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;object-position:center top;filter:none;opacity:.9}.hero-photo .fade-x{background:linear-gradient(90deg,color-mix(in srgb,var(--surface) 28%,transparent),transparent 22%,transparent 78%,color-mix(in srgb,var(--surface) 28%,transparent))}.hero-photo .fade-y{background:linear-gradient(180deg,transparent 0,transparent 21vw,color-mix(in srgb,var(--surface) 55%,transparent) 52vw,var(--surface) 70vw,var(--surface) 100%)}
  .analysis-group>div,.profile-articles{grid-template-columns:1fr}.fighter-filters{grid-template-columns:1fr}.grid.fighters{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .fcard-info{padding:10px}.fcard h2{font-size:.78rem}.fcard-foot{padding:9px 10px}.fcard .rec{font-size:.9rem}.fcard .plaque{padding:4px 8px;font-size:.6rem}
  .eventcard-actions{display:grid;grid-template-columns:1fr}.eventcard-actions .btn{width:100%}
  .rankings-section-head{display:block}.rankings-carousel{grid-auto-columns:minmax(285px,calc(100vw - 48px));gap:12px;margin-inline:-2px}.ranking-champion{min-height:300px}.ranking-card-body{padding-inline:16px}
}

.loading-state{padding:80px 24px;text-align:center;color:var(--steel);font-family:'JetBrains Mono';font-size:.85rem;letter-spacing:.05em}
.error-state{padding:80px 24px;text-align:center;color:var(--blood);font-family:'JetBrains Mono';font-size:.85rem;letter-spacing:.05em}

footer{border-top:1px solid var(--line);margin-top:56px;padding:32px 0;background:var(--surface)}
.footer-inner{display:grid;grid-template-columns:minmax(260px,1fr) auto;gap:32px;align-items:center}
.footer-identity{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.footer-brand{display:inline-flex;text-decoration:none}
.footer-brand img{display:block;width:auto;height:28px}
.footer-brand .on-light{display:none}
:root[data-theme="light"] .footer-brand .on-dark{display:none}
:root[data-theme="light"] .footer-brand .on-light{display:block}
@media(prefers-color-scheme:light){:root:not([data-theme="dark"]) .footer-brand .on-dark{display:none}:root:not([data-theme="dark"]) .footer-brand .on-light{display:block}}
.footer-copyright,.footer-disclaimer{margin:0;color:var(--text-muted);font-size:var(--fs-small)}
.footer-copyright a,.footer-contact,.footer-map-link{color:var(--text)}
.footer-copyright a{text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:3px}
.footer-contact{font-size:var(--fs-small);font-weight:700;text-decoration:underline;text-decoration-color:var(--link-underline);text-underline-offset:4px}
.footer-map-link{text-decoration:none}
.footer-copyright a:hover,.footer-contact:hover,.footer-map-link:hover{color:var(--link);text-decoration-color:var(--link-underline)}
.footer-actions{display:flex;flex-direction:column;align-items:flex-end;gap:18px}
.footer-social{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}
.social-icon{width:40px;height:40px;display:grid;place-items:center;opacity:.68;color:inherit;text-decoration:none}
.social-icon img{display:block;width:100%;height:100%;object-fit:contain}
a.social-icon:hover{opacity:1}
a.social-icon:focus-visible{opacity:1}
.footer-map-link{font-size:var(--fs-small);font-weight:700}
@media (max-width:720px){
  .footer-inner{grid-template-columns:1fr}
  .footer-actions{align-items:flex-start}
  .footer-social{justify-content:flex-start;gap:9px}
  .social-icon{width:36px;height:36px}
}

/* ---------- Owner quick edit mode ---------- */
.cms-edit-toolbar{
  position:fixed;left:50%;bottom:18px;z-index:120;transform:translateX(-50%);
  display:flex;align-items:center;gap:10px;max-width:calc(100vw - 24px);
  padding:9px 10px 9px 14px;background:#17130f;color:#f8f3e8;
  border:1px solid rgba(255,255,255,.18);box-shadow:0 16px 50px rgba(0,0,0,.42);
  font-size:.8rem;white-space:nowrap;
}
.cms-edit-toolbar strong{font-family:'Oswald';text-transform:uppercase;letter-spacing:.05em}
.cms-edit-toolbar a,.cms-edit-toolbar button{
  border:1px solid rgba(255,255,255,.22);background:transparent;color:#f8f3e8;
  padding:7px 10px;text-decoration:none;cursor:pointer;font-size:.76rem;
}
.cms-edit-toolbar a:hover,.cms-edit-toolbar button:hover{border-color:#ff5c46;color:#ff7a68}
body.cms-edit-mode .cms-inline-field{
  position:relative;display:inline;outline:1px dashed rgba(255,92,70,.62);
  outline-offset:3px;border-radius:2px;
}
body.cms-edit-mode .cms-inline-field.cms-inline-field--block{display:block}
body.cms-edit-mode .cms-inline-field.cms-inline-image{display:block;width:100%;height:100%}
body.cms-edit-mode .champstrip-set[aria-hidden="true"] .cms-inline-field{outline:0;pointer-events:none}
body.cms-edit-mode .cms-inline-field:hover{outline:2px solid #ff5c46;background:rgba(255,92,70,.09)}
.cms-inline-pencil{
  position:absolute;right:-14px;top:-14px;z-index:15;width:24px;height:24px;
  display:inline-flex;align-items:center;justify-content:center;border-radius:50%;
  background:#ff5c46;color:#17130f;border:2px solid #17130f;
  font:700 14px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.3);
  opacity:0;transform:scale(.82);transition:opacity .12s,transform .12s;
}
.cms-inline-field:hover>.cms-inline-pencil,.cms-inline-pencil:focus{opacity:1;transform:scale(1)}
.cms-edit-modal{
  position:fixed;inset:0;z-index:140;display:grid;place-items:center;
  padding:20px;background:rgba(10,8,7,.76);backdrop-filter:blur(5px);
}
.cms-edit-modal[hidden]{display:none}
.cms-edit-dialog{
  width:min(620px,100%);background:var(--canvas-raised);color:var(--ink);
  border:1px solid var(--line-strong);box-shadow:0 24px 80px rgba(0,0,0,.52);padding:22px;
}
.cms-edit-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.cms-edit-dialog-head span{display:block;font-family:'JetBrains Mono';font-size:.68rem;color:var(--blood);text-transform:uppercase;letter-spacing:.1em}
.cms-edit-dialog-head strong{font-family:'Oswald';font-size:1.15rem;text-transform:uppercase}
.cms-edit-close{border:0;background:transparent;color:var(--steel);font-size:1.5rem;cursor:pointer}
.cms-edit-dialog textarea{
  display:block;width:100%;min-height:150px;resize:vertical;padding:13px;
  border:1px solid var(--line-strong);background:var(--canvas);color:var(--ink);
  font:inherit;line-height:1.5;
}
.cms-edit-dialog-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}
.cms-edit-status{font-size:.78rem;color:var(--steel)}
.cms-edit-save{
  border:0;background:var(--blood);color:#fff;padding:10px 18px;
  font-family:'Oswald';font-weight:700;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;
}
.cms-edit-save:disabled{opacity:.55;cursor:wait}

@media (max-width:640px){
  .tape-stats{grid-template-columns:repeat(2,1fr)}
  .eventcard-head{flex-direction:row}
  .eventcard-body{padding:10px 14px 16px}
  .card-segment-head{align-items:flex-start}
  .card-segment-head span{max-width:52%}
  .bout{flex-direction:column;gap:5px}
  .bout .wc{min-width:0}
  .bout .vs{align-items:flex-start;text-align:left}
  .cms-edit-toolbar{left:12px;right:12px;bottom:10px;transform:none;justify-content:center;flex-wrap:wrap;white-space:normal}
  .profile-hero{min-height:410px}
  .profile-hero .tape-head-inner{min-height:410px;padding:24px 20px;align-items:flex-start}
  .profile-title{max-width:82%;position:relative;z-index:2}
  .profile-title h1{font-size:2.45rem}
  .profile-portrait{height:calc(72% + 56px);width:76%;right:0;bottom:0;opacity:.92}
  .profile-landscape{background-image:linear-gradient(180deg,rgba(12,10,9,.96) 0%,rgba(12,10,9,.7) 50%,rgba(12,10,9,.42) 100%),var(--profile-bg)}
  .profile-hero .tape-belt{position:absolute;left:20px;bottom:18px;z-index:3}
  .profile-block{padding:18px 14px}
  .fight-history{min-width:680px}
  .profile-pagination{grid-template-columns:1fr}
  .profile-pagination a:last-child{text-align:left}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .champstrip-window{overflow-x:auto}
  .champstrip-set[aria-hidden="true"]{display:none}
}
.profile-hero .profile-title h1{color:#fff}.profile-hero .profile-title .div,.profile-hero .original-name{color:#ddd}