/* ==========================================================================
   betonboxing.co.uk

   Dark arena palette taken from the mock-up this site was drawn from: a
   near-black ground with a grain over it, one red that only ever means
   action, a gold that only ever means a title, and a spotlight the canvas
   paints behind the type.

   One stylesheet, no build step. Served immutable for 30 days with a ?v=
   content hash, so renaming is never needed — edit and the hash changes.
   ========================================================================== */

:root{
  --ink:#08080A; --ink2:#0C0C10; --pan:#131318; --pan2:#191920; --pan3:#22222B;
  --line:rgba(255,255,255,.08); --line2:rgba(255,255,255,.15); --line3:rgba(255,255,255,.26);
  --txt:#F6F5F2; --mut:#9B9AA6; --mut2:#6C6B78;
  --red:#D81E28; --red2:#FF3841; --redd:#8E1016; --redg:#5A0A0E;
  --gold:#D9A441; --gold2:#F3C86B; --goldd:#3A2A0C;
  --green:#4ADE80; --blue:#54A0FF;
  --r:12px; --r2:18px; --r3:26px;
  --wrap:1220px;
  --disp:'Anton',Impact,'Haettenschweiler',sans-serif;
  --cond:'Barlow Condensed','Oswald',system-ui,sans-serif;
  --body:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  --mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
body{
  margin:0;background:var(--ink);color:var(--txt);
  font:500 16px/1.62 var(--body);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
/* The grain. One tiny inline SVG turbulence, fixed, over everything, at an
   opacity you notice only when it is removed. */
body::before{
  content:'';position:fixed;inset:0;z-index:9999;pointer-events:none;opacity:.055;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");
}
img,canvas,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.02;font-weight:400}
p{margin:0}
ul,ol,dl{margin:0;padding:0;list-style:none}
button,input,select,textarea{font:inherit;color:inherit}
table{border-collapse:collapse;width:100%}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:3px}

.wrap{width:100%;max-width:var(--wrap);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--gold);color:#000;padding:10px 16px;font-weight:800}
.skip:focus{left:8px;top:8px}
.hide-s{display:none}
.only-s{display:inline}
@media (min-width:760px){.hide-s{display:inline}.only-s{display:none}}
svg[viewBox]{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* display type, the mock-up's voice: heavy, condensed, tight, uppercase */
.disp{font-family:var(--disp);text-transform:uppercase;letter-spacing:.005em;font-weight:400}
.kick{font-family:var(--cond);text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:12.5px;color:var(--mut)}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* ------------------------------------------------------------- buttons --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  padding:13px 24px;border:0;cursor:pointer;text-decoration:none;
  font:800 14px/1 var(--body);letter-spacing:.04em;text-transform:uppercase;
  clip-path:polygon(10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%,0 10px);
  transition:transform .14s ease,box-shadow .18s ease,background .18s ease,color .18s ease;
}
.btn .ar{transition:transform .18s ease}
.btn:hover .ar{transform:translateX(4px)}
.btn.red{background:var(--red);color:#fff;box-shadow:0 8px 28px -10px rgba(216,30,40,.95)}
.btn.red:hover{background:var(--red2);transform:translateY(-1px);box-shadow:0 14px 34px -10px rgba(216,30,40,1)}
.btn.gold{background:var(--gold);color:#140E02}
.btn.gold:hover{background:var(--gold2);transform:translateY(-1px)}
.btn.ghost{background:rgba(255,255,255,.05);color:var(--txt);box-shadow:inset 0 0 0 1px var(--line2)}
.btn.ghost:hover{background:rgba(255,255,255,.1);box-shadow:inset 0 0 0 1px var(--line3)}
.btn.big{padding:17px 30px;font-size:15.5px}
.btn.sm{padding:9px 15px;font-size:12px}
.btn[disabled]{opacity:.45;cursor:not-allowed;transform:none!important;box-shadow:none}

/* ---------------------------------------------------------------- chips --- */
.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;
  font:800 10.5px/1 var(--body);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.chip.sim{background:rgba(216,30,40,.16);color:#FF7C82;box-shadow:inset 0 0 0 1px rgba(216,30,40,.42)}
.chip.gold{background:rgba(217,164,65,.14);color:var(--gold2);box-shadow:inset 0 0 0 1px rgba(217,164,65,.4)}
.chip.live{background:rgba(216,30,40,.2);color:#FF8F94;box-shadow:inset 0 0 0 1px rgba(216,30,40,.5)}
.chip.mut{background:rgba(255,255,255,.055);color:var(--mut);box-shadow:inset 0 0 0 1px var(--line)}
.chip.grn{background:rgba(74,222,128,.13);color:#86EFAC;box-shadow:inset 0 0 0 1px rgba(74,222,128,.35)}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}
.chip.live .dot{animation:pulse 1.6s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.72)}}

/* --------------------------------------------------------------- topbar --- */
.topbar{background:#000;border-bottom:1px solid var(--line);font-size:11.5px}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:34px}
.tb-strap{font-family:var(--cond);text-transform:uppercase;letter-spacing:.2em;color:var(--mut2);font-weight:600}
.tb-strap b{color:var(--gold);font-weight:600}
.age{display:flex;align-items:center;gap:8px;color:var(--mut2);font-weight:700;letter-spacing:.04em}
.age i{font-style:normal;display:inline-grid;place-items:center;width:21px;height:21px;border-radius:50%;
  box-shadow:inset 0 0 0 1.5px var(--mut2);font-size:9.5px;font-weight:800}

/* ------------------------------------------------------------------ nav --- */
.nav{position:sticky;top:0;z-index:60;background:rgba(8,8,10,.86);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:20px;height:66px}
.logo{display:flex;align-items:center;gap:11px;text-decoration:none;flex:none}
.logo-mark{display:block;width:34px;height:34px;color:var(--gold)}
.logo-mark svg{width:34px;height:34px}
.logo-txt b{display:block;font:400 21px/1 var(--disp);text-transform:uppercase;letter-spacing:.005em;color:var(--txt)}
.logo-txt b em{font-style:normal;color:var(--red2)}
.logo-txt b span{font-size:11.5px;color:var(--mut);letter-spacing:.06em}
.logo-txt i{display:block;font:600 8.8px/1.5 var(--cond);font-style:normal;text-transform:uppercase;
  letter-spacing:.3em;color:var(--mut2);margin-top:3px}
.nav ul{display:none;gap:24px;margin-left:auto}
.nav ul a{text-decoration:none;font:700 12.5px/1 var(--body);letter-spacing:.11em;text-transform:uppercase;
  color:var(--mut);padding:8px 0;position:relative;transition:color .15s}
.nav ul a::after{content:'';position:absolute;left:0;right:100%;bottom:2px;height:2px;background:var(--red);transition:right .2s}
.nav ul a:hover{color:var(--txt)}.nav ul a:hover::after{right:0}
.nav .navcta{margin-left:auto}
@media (min-width:1040px){.nav ul{display:flex}.nav .navcta{margin-left:0}}

/* ----------------------------------------------------------------- hero --- */
.hero{position:relative;overflow:hidden;background:#000;isolation:isolate}
.hero canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.hero::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:linear-gradient(180deg,rgba(8,8,10,.62) 0%,rgba(8,8,10,.2) 34%,rgba(8,8,10,.86) 84%,var(--ink) 100%)}
.hero .wrap{position:relative;z-index:2;padding-top:70px;padding-bottom:54px;min-height:clamp(460px,72vh,660px);
  display:flex;flex-direction:column;justify-content:center;align-items:flex-start}
.hero h1{font-family:var(--disp);text-transform:uppercase;font-size:clamp(46px,11.5vw,132px);
  line-height:.85;letter-spacing:-.005em;margin:14px 0 0;max-width:12ch;
  text-shadow:0 6px 44px rgba(0,0,0,.85)}
.hero h1 em{font-style:normal;color:var(--red2);display:block;
  text-shadow:0 0 44px rgba(216,30,40,.55),0 6px 44px rgba(0,0,0,.8)}
.hero .sub{margin-top:18px;font:600 13px/1.7 var(--cond);text-transform:uppercase;letter-spacing:.24em;
  color:var(--gold2);max-width:46ch}
.hero .cta{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.hero .simline{margin-top:24px;max-width:56ch;color:#C9C8D2;font-size:14px;line-height:1.6;
  padding-left:14px;border-left:2px solid var(--red)}
.hero-flag{position:absolute;right:16px;top:74px;z-index:3;display:none;text-align:right;
  font:400 15px/1.08 var(--disp);text-transform:uppercase;color:var(--gold);opacity:.9}
.hero-flag span{display:block;color:var(--txt);font-size:13px;opacity:.6}
@media (min-width:1100px){.hero-flag{display:block}}
.hero-side{position:absolute;left:14px;top:50%;transform:translateY(-50%) ;z-index:3;display:none;
  writing-mode:vertical-rl;font:400 13px/1 var(--disp);text-transform:uppercase;letter-spacing:.34em;color:rgba(255,255,255,.22)}
@media (min-width:1280px){.hero-side{display:block}}

/* -------------------------------------------------------------- section --- */
.sect{padding:64px 0;position:relative;scroll-margin-top:78px}
.sect.tight{padding:44px 0}
.sect.alt{background:linear-gradient(180deg,var(--ink) 0%,var(--ink2) 50%,var(--ink) 100%)}
.shead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:26px}
.shead h2{font-family:var(--disp);text-transform:uppercase;font-size:clamp(28px,4.6vw,44px);line-height:.94}
.shead h2 em{font-style:normal;color:var(--red2)}
.shead .lede{color:var(--mut);max-width:58ch;margin-top:9px;font-size:15px}
.shead .rule{width:56px;height:4px;background:var(--red);margin-bottom:14px}
.shead-r{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.link{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:var(--gold2);
  font:800 12px/1 var(--body);letter-spacing:.1em;text-transform:uppercase}
.link:hover{color:var(--gold)}
.link .ar{transition:transform .18s}.link:hover .ar{transform:translateX(4px)}

/* ---------------------------------------------------------------- panel --- */
.panel{background:var(--pan);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r2);padding:22px}
.panel.flat{border-radius:var(--r);padding:18px}
.panel.hi{background:linear-gradient(160deg,var(--pan2),var(--pan));box-shadow:inset 0 0 0 1px var(--line2)}
.grid{display:grid;gap:16px}
@media (min-width:760px){.g2{grid-template-columns:repeat(2,1fr)}}
@media (min-width:900px){.g3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1040px){.g4{grid-template-columns:repeat(4,1fr)}}

/* ======================================================= THE LIVE FIGHT === */
/* The centrepiece: a ring on a canvas, the prices beside it, the three
   scorecards under it, and a feed of what actually happened. */
.fightbox{display:grid;gap:18px}
@media (min-width:1000px){.fightbox{grid-template-columns:minmax(0,1.55fr) minmax(320px,1fr)}}

.ring{position:relative;align-self:start;border-radius:var(--r2);overflow:hidden;background:#000;
  box-shadow:inset 0 0 0 1px var(--line2),0 30px 70px -40px #000}
.ring canvas{width:100%;height:auto;aspect-ratio:16/10;display:block}
.ring-top{position:absolute;left:0;right:0;top:0;padding:14px 16px;display:flex;align-items:flex-start;
  justify-content:space-between;gap:12px;z-index:2;
  background:linear-gradient(180deg,rgba(0,0,0,.82),transparent)}
.ring-bot{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;z-index:2;
  background:linear-gradient(0deg,rgba(0,0,0,.9),transparent)}
.rclock{display:flex;align-items:baseline;gap:10px}
.rclock b{font:400 34px/1 var(--disp);color:#fff;text-transform:uppercase}
.rclock i{font-style:normal;font:600 11px/1 var(--cond);text-transform:uppercase;letter-spacing:.24em;color:var(--mut)}
.rbar{height:4px;background:rgba(255,255,255,.14);border-radius:2px;overflow:hidden;margin-top:9px}
.rbar i{display:block;height:100%;background:var(--red);width:0;transition:width .45s linear}
.ring-names{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.ring-names div{min-width:0}
.ring-names .rn{font:400 clamp(15px,2.4vw,24px)/1 var(--disp);text-transform:uppercase;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ring-names .rr{font:600 10px/1.4 var(--cond);text-transform:uppercase;letter-spacing:.2em;color:var(--mut)}
.ring-names .b{text-align:right}
/* the big result stamp when a fight ends */
.stamp{position:absolute;inset:0;z-index:4;display:none;place-items:center;text-align:center;
  background:rgba(0,0,0,.72);backdrop-filter:blur(3px);padding:20px}
.stamp.on{display:grid;animation:stampin .5s cubic-bezier(.2,1.4,.4,1)}
@keyframes stampin{from{opacity:0;transform:scale(1.35) rotate(-5deg)}to{opacity:1;transform:none}}
.stamp b{display:block;font:400 clamp(34px,8vw,74px)/.9 var(--disp);text-transform:uppercase;color:var(--red2);
  text-shadow:0 0 50px rgba(216,30,40,.7)}
.stamp span{display:block;margin-top:10px;font:600 12px/1.5 var(--cond);text-transform:uppercase;
  letter-spacing:.26em;color:var(--gold2)}
.stamp em{display:block;margin-top:14px;font-style:normal;font-size:14px;color:#D6D5DE;max-width:44ch}

/* ------------------------------------------------------- the price rail --- */
.rail{display:flex;flex-direction:column;gap:14px;min-width:0}
.mkt{background:var(--pan);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r2);overflow:hidden}
.mkt-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;
  background:rgba(255,255,255,.03);border-bottom:1px solid var(--line)}
.mkt-h h3{font:400 15px/1 var(--disp);text-transform:uppercase;letter-spacing:.02em}
.mkt-h .book{font:700 10.5px/1 var(--mono);color:var(--green);letter-spacing:.04em}
.mkt-b{padding:12px}
.prices{display:grid;grid-template-columns:1fr 78px 1fr;gap:8px}
.pr{background:var(--pan2);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r);
  padding:11px 10px;text-align:center;position:relative;overflow:hidden;transition:box-shadow .2s}
.pr .lbl{font:700 9.5px/1.25 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--mut);
  min-height:2.5em;display:flex;align-items:center;justify-content:center;overflow-wrap:anywhere}
.pr .od{font:400 27px/1 var(--disp);margin-top:5px;transition:color .3s}
.pr .fr{font:600 10px/1 var(--mono);color:var(--mut2);margin-top:4px}
.pr.draw .od{font-size:21px;color:var(--mut)}
.pr.up{animation:flashup .9s ease-out}
.pr.down{animation:flashdn .9s ease-out}
@keyframes flashup{0%{box-shadow:inset 0 0 0 1px rgba(74,222,128,.9),0 0 26px -6px rgba(74,222,128,.7)}100%{box-shadow:inset 0 0 0 1px var(--line)}}
@keyframes flashdn{0%{box-shadow:inset 0 0 0 1px rgba(216,30,40,.9),0 0 26px -6px rgba(216,30,40,.7)}100%{box-shadow:inset 0 0 0 1px var(--line)}}
.pr .mv{position:absolute;top:5px;right:7px;font:700 9px/1 var(--mono);opacity:0;transition:opacity .3s}
.pr.up .mv{opacity:1;color:var(--green)}
.pr.down .mv{opacity:1;color:var(--red2)}

/* method market: five rows */
.mrow{display:flex;align-items:center;gap:10px;padding:8px 6px;border-bottom:1px solid var(--line)}
.mrow:last-child{border-bottom:0}
.mrow .nm{flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.3}
.mrow .nm i{font-style:normal;color:var(--mut);font-weight:500}
.mrow .bar{width:44px;height:5px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden;flex:none}
.mrow .bar i{display:block;height:100%;background:var(--gold);transition:width .5s ease}
.mrow .pc{width:46px;text-align:right;font:700 11px/1 var(--mono);color:var(--mut);flex:none}
.mrow .od{width:54px;text-align:right;font:400 17px/1 var(--disp);flex:none}

/* ------------------------------------------------------- the scorecards --- */
.cards3{display:grid;gap:8px}
.jrow{display:flex;align-items:center;gap:10px;font-size:13px}
.jrow .jn{width:64px;flex:none;font:600 10px/1 var(--cond);text-transform:uppercase;letter-spacing:.16em;color:var(--mut)}
.jrow .js{flex:1;display:flex;align-items:center;gap:6px}
.jbar{flex:1;height:8px;border-radius:4px;background:rgba(255,255,255,.07);position:relative;overflow:hidden}
.jbar i{position:absolute;top:0;bottom:0;background:var(--red);transition:all .45s ease}
.jbar u{position:absolute;top:0;bottom:0;right:0;background:var(--blue);text-decoration:none;transition:all .45s ease}
.jrow .jv{width:62px;flex:none;text-align:right;font:700 12px/1 var(--mono)}
.jrow .jv b{color:var(--txt)}.jrow .jv span{color:var(--mut2)}

/* --------------------------------------------------------- punch stats --- */
.pstats{display:grid;grid-template-columns:1fr auto 1fr;gap:6px 12px;align-items:center;font-size:13px}
.pstats .mid{font:600 9.5px/1.2 var(--cond);text-transform:uppercase;letter-spacing:.16em;color:var(--mut2);
  text-align:center;white-space:nowrap}
.pstats .l,.pstats .r{display:flex;align-items:center;gap:8px}
.pstats .r{flex-direction:row-reverse}
.pstats .v{font:700 13px/1 var(--mono);width:52px;flex:none}
.pstats .r .v{text-align:right}
.pstats .sb{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden;display:flex}
.pstats .l .sb{justify-content:flex-end}
.pstats .sb i{display:block;height:100%;transition:width .5s ease}
.pstats .l .sb i{background:var(--red)}
.pstats .r .sb i{background:var(--blue)}

/* ---------------------------------------------------------------- feed --- */
.feed{max-height:290px;overflow-y:auto;scrollbar-width:thin}
.fitem{display:flex;gap:11px;padding:9px 4px;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.45}
.fitem:last-child{border-bottom:0}
.fitem .t{flex:none;width:52px;font:700 10px/1.5 var(--mono);color:var(--mut2);letter-spacing:-.02em}
.fitem .x{min-width:0}
.fitem.kd{background:linear-gradient(90deg,rgba(216,30,40,.16),transparent)}
.fitem.kd .x b{color:var(--red2)}
.fitem.end{background:linear-gradient(90deg,rgba(217,164,65,.14),transparent)}
.fitem.end .x b{color:var(--gold2)}
.fitem .x b{display:block;font:400 13px/1.2 var(--disp);text-transform:uppercase;letter-spacing:.03em;margin-bottom:2px}
.fitem .x span{color:var(--mut)}
.fnew{animation:fin .4s ease-out}
@keyframes fin{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}

/* ======================================================== TONIGHT'S CARD == */
.cardstrip{display:grid;gap:12px}
@media (min-width:700px){.cardstrip{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1120px){.cardstrip{grid-template-columns:repeat(4,1fr)}}
.fcard{background:var(--pan);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r2);
  overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s;
  cursor:pointer;text-align:left;padding:0;border:0;font:inherit;color:inherit;width:100%}
.fcard:hover{box-shadow:inset 0 0 0 1px var(--line3);transform:translateY(-2px)}
.fcard.on{box-shadow:inset 0 0 0 2px var(--red),0 14px 40px -22px rgba(216,30,40,.8)}
.fcard-h{padding:9px 13px;background:rgba(255,255,255,.035);border-bottom:1px solid var(--line);
  display:flex;align-items:center;justify-content:space-between;gap:8px;
  font:600 9.5px/1.3 var(--cond);text-transform:uppercase;letter-spacing:.18em;color:var(--mut)}
.fcard-h b{color:var(--gold);font-weight:600}
.fcard-b{padding:13px;flex:1;display:flex;flex-direction:column;gap:11px}
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}
.vs .who{min-width:0}
.vs .who.b{text-align:right}
.vs .fg{display:block;width:34px;height:34px;border-radius:50%;margin-bottom:7px;position:relative;
  background:var(--pan3);box-shadow:inset 0 0 0 2px currentColor}
.vs .who.b .fg{margin-left:auto}
.vs .nm{font:400 14px/1.05 var(--disp);text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}
.vs .nk{font:600 9px/1.4 var(--cond);text-transform:uppercase;letter-spacing:.14em;color:var(--mut2);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.vs .x{font:400 13px/1 var(--disp);color:var(--red2)}
.cprices{display:grid;grid-template-columns:1fr .72fr 1fr;gap:5px;margin-top:auto}
.cp{background:var(--pan2);box-shadow:inset 0 0 0 1px var(--line);border-radius:8px;padding:7px 4px;text-align:center}
.cp .l{font:700 8px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;color:var(--mut2)}
.cp .o{font:400 18px/1 var(--disp);margin-top:4px;transition:color .3s}
.cp.dr .o{font-size:14px;color:var(--mut)}
.cp.up .o{color:var(--green)}.cp.down .o{color:var(--red2)}
.fcard-f{padding:8px 13px;border-top:1px solid var(--line);font:700 10px/1 var(--mono);
  color:var(--mut2);display:flex;align-items:center;justify-content:space-between;gap:8px}

/* ==================================================== THE OFFER TILE ====== */
/* The mock-up had "BET £10 GET £40" here. There is no offer, so the tile kept
   the shape and became the calculator that tells you what such an offer is
   actually worth. */
.offer{display:grid;gap:0;border-radius:var(--r3);overflow:hidden;
  box-shadow:inset 0 0 0 1px var(--line2),0 30px 70px -44px #000}
@media (min-width:920px){.offer{grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}}
.offer-l{position:relative;padding:34px 28px;background:
  radial-gradient(120% 130% at 12% 0%,rgba(216,30,40,.42) 0%,transparent 58%),
  linear-gradient(145deg,#1A0A0C 0%,#0C0708 60%,#08080A 100%);
  display:flex;flex-direction:column;justify-content:center;min-height:270px;overflow:hidden}
.offer-l canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.8}
.offer-l > *{position:relative;z-index:1}
.offer-l .k{font:600 10.5px/1 var(--cond);text-transform:uppercase;letter-spacing:.3em;color:var(--gold2)}
.offer-l h2{margin-top:14px;font-family:var(--disp);text-transform:uppercase;line-height:.84;
  font-size:clamp(40px,8vw,72px)}
.offer-l h2 em{font-style:normal;color:var(--red2);display:block;text-shadow:0 0 40px rgba(216,30,40,.5)}
.offer-l .say{margin-top:16px;max-width:38ch;color:#CFCED8;font-size:14.5px;line-height:1.6}
.offer-l .tc{margin-top:16px;font:700 10px/1.5 var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--mut2)}
.offer-r{padding:26px 24px;background:var(--pan);display:flex;flex-direction:column;gap:14px}
.calcout{background:var(--pan2);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r);padding:16px}
.calcout .big{font:400 clamp(30px,6vw,46px)/1 var(--disp);color:var(--gold2)}
.calcout .cap{font:700 10px/1.4 var(--body);letter-spacing:.11em;text-transform:uppercase;color:var(--mut);margin-bottom:6px}
.calcout .note{margin-top:9px;font-size:13px;color:var(--mut);line-height:1.5}
.calcout .note b{color:var(--txt)}
.breakdown{margin-top:12px;display:grid;gap:5px;font-size:12.5px}
.breakdown div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;border-bottom:1px solid var(--line)}
.breakdown div:last-child{border-bottom:0;font-weight:800}
.breakdown span{color:var(--mut)}
.breakdown b{font-family:var(--mono);font-weight:700}

/* ====================================================== FORM CONTROLS ==== */
.fld{display:block}
.fld > span{display:block;font:700 10.5px/1.4 var(--body);letter-spacing:.12em;text-transform:uppercase;
  color:var(--mut);margin-bottom:7px}
.fld input,.fld select{width:100%;background:var(--ink2);color:var(--txt);
  box-shadow:inset 0 0 0 1px var(--line2);border:0;border-radius:10px;padding:12px 14px;
  font:700 15px/1 var(--mono);transition:box-shadow .16s}
.fld select{font-family:var(--body);font-weight:600}
.fld input:focus,.fld select:focus{box-shadow:inset 0 0 0 2px var(--gold);outline:none}
.fld input[aria-invalid="true"]{box-shadow:inset 0 0 0 2px var(--red)}
.fldrow{display:grid;gap:12px}
@media (min-width:520px){.fldrow.two{grid-template-columns:1fr 1fr}.fldrow.three{grid-template-columns:repeat(3,1fr)}}
.seg{display:flex;gap:0;background:var(--ink2);box-shadow:inset 0 0 0 1px var(--line2);border-radius:10px;padding:3px}
.seg button{flex:1;background:transparent;border:0;border-radius:7px;padding:9px 6px;cursor:pointer;
  font:800 11px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--mut);transition:all .16s}
.seg button[aria-pressed="true"]{background:var(--red);color:#fff}
.err{color:#FF8A8F;font-size:12.5px;margin-top:6px;font-weight:600}
.hint{color:var(--mut2);font-size:12px;margin-top:6px;line-height:1.5}

/* ====================================================== TOOLS =========== */
.tools{display:grid;gap:16px}
@media (min-width:880px){.tools{grid-template-columns:repeat(2,1fr)}}
.tool h3{font:400 19px/1 var(--disp);text-transform:uppercase;margin-bottom:4px}
.tool .lede{color:var(--mut);font-size:13.5px;margin-bottom:16px;line-height:1.55}
.tool .out{margin-top:14px;background:var(--ink2);box-shadow:inset 0 0 0 1px var(--line);
  border-radius:var(--r);padding:14px}
.oline{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:7px 0;
  border-bottom:1px solid var(--line);font-size:13.5px}
.oline:last-child{border-bottom:0}
.oline span{color:var(--mut)}
.oline b{font:400 22px/1 var(--disp);letter-spacing:.01em}
.oline b.sm{font-size:16px;font-family:var(--mono);font-weight:700}
.oline.big b{font-size:28px;color:var(--gold2)}
.oline.warn b{color:var(--red2)}
.oline.good b{color:var(--green)}

/* ====================================================== RATINGS ========== */
.rate-t{width:100%;font-size:14px}
.rate-t th{text-align:left;padding:9px 8px;font:600 9.5px/1 var(--cond);text-transform:uppercase;
  letter-spacing:.17em;color:var(--mut2);border-bottom:1px solid var(--line2);white-space:nowrap}
.rate-t th.r,.rate-t td.r{text-align:right}
.rate-t td{padding:11px 8px;border-bottom:1px solid var(--line)}
.rate-t tr:last-child td{border-bottom:0}
.rate-t .pos{font:400 19px/1 var(--disp);color:var(--gold);width:32px}
.rate-t .who{display:flex;align-items:center;gap:10px;min-width:0}
.rate-t .who .fg{width:26px;height:26px;border-radius:50%;flex:none;background:var(--pan3);
  box-shadow:inset 0 0 0 2px currentColor}
.rate-t .who b{display:block;font-weight:700;font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rate-t .who i{display:block;font-style:normal;font-size:11px;color:var(--mut2)}
.rate-t .rec{font-family:var(--mono);font-weight:700;font-size:13px;white-space:nowrap}
.rate-t .rec u{text-decoration:none;color:var(--mut2)}
.rate-t .win{font:400 19px/1 var(--disp)}
.rate-t .div{font-size:11.5px;color:var(--mut);white-space:nowrap}
.tabs{display:flex;gap:6px;flex-wrap:wrap}
.tabs button{background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);border:0;border-radius:999px;
  padding:8px 14px;cursor:pointer;font:800 11px/1 var(--body);letter-spacing:.09em;text-transform:uppercase;
  color:var(--mut);transition:all .16s}
.tabs button[aria-pressed="true"]{background:var(--red);color:#fff;box-shadow:none}

/* ====================================================== FIGHTER CARDS ==== */
.fighters{display:grid;gap:14px}
@media (min-width:700px){.fighters{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.fighters{grid-template-columns:repeat(4,1fr)}}
.fpanel{background:var(--pan);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r2);
  padding:18px;display:flex;flex-direction:column;gap:12px}
.fpanel .top{display:flex;gap:12px;align-items:flex-start}
.fpanel .fg{width:46px;height:46px;border-radius:50%;flex:none;background:var(--pan3);
  box-shadow:inset 0 0 0 2px currentColor}
.fpanel h3{font:400 17px/1.02 var(--disp);text-transform:uppercase}
.fpanel .nk{font:600 9.5px/1.4 var(--cond);text-transform:uppercase;letter-spacing:.17em;color:var(--gold)}
.fpanel .fr{font-size:11.5px;color:var(--mut2);margin-top:3px}
.fpanel .read{font-size:13px;color:var(--mut);line-height:1.55}
.attrs{display:grid;gap:6px;margin-top:auto}
.attr{display:flex;align-items:center;gap:9px;font-size:11.5px}
.attr .an{width:64px;flex:none;font:600 9px/1 var(--cond);text-transform:uppercase;letter-spacing:.14em;color:var(--mut2)}
.attr .ab{flex:1;height:6px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}
.attr .ab i{display:block;height:100%;background:currentColor;transition:width .6s ease}
.attr .av{width:24px;flex:none;text-align:right;font:700 11px/1 var(--mono);color:var(--mut)}

/* ====================================================== DIVISIONS ======== */
.divtable{font-size:14px}
.divtable th{text-align:left;padding:9px 8px;font:600 9.5px/1 var(--cond);text-transform:uppercase;
  letter-spacing:.17em;color:var(--mut2);border-bottom:1px solid var(--line2)}
.divtable td{padding:10px 8px;border-bottom:1px solid var(--line)}
.divtable tr:last-child td{border-bottom:0}
.divtable .dn{font-weight:700}
.divtable .da{font-size:11.5px;color:var(--mut2)}
.divtable .n{font-family:var(--mono);font-weight:700;white-space:nowrap}
.divtable tr.hit td{background:rgba(217,164,65,.11)}
.divtable tr.hit .dn{color:var(--gold2)}

/* ====================================================== GUIDES/FACTS ===== */
.acc{background:var(--pan);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r);overflow:hidden}
.acc + .acc{margin-top:10px}
.acc summary{padding:16px 18px;cursor:pointer;list-style:none;display:flex;align-items:center;gap:14px}
.acc summary::-webkit-details-marker{display:none}
.acc summary .tt{flex:1;min-width:0}
.acc summary .tt b{display:block;font:400 17px/1.15 var(--disp);text-transform:uppercase}
.acc summary .tt i{display:block;font-style:normal;color:var(--mut);font-size:13px;margin-top:3px}
.acc summary .pl{flex:none;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.06);
  display:grid;place-items:center;transition:transform .22s,background .22s}
.acc summary .pl::before,.acc summary .pl::after{content:'';position:absolute;background:var(--txt)}
.acc[open] summary .pl{transform:rotate(45deg);background:var(--red)}
.acc .body{padding:0 18px 18px;display:grid;gap:12px;color:#C8C7D1;font-size:14.5px;line-height:1.68}
.factgrid{display:grid;gap:12px}
@media (min-width:760px){.factgrid{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1080px){.factgrid{grid-template-columns:repeat(4,1fr)}}
.fact{background:var(--pan);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r);padding:17px}
.fact h3{font:400 15px/1.1 var(--disp);text-transform:uppercase;color:var(--gold2);margin-bottom:8px}
.fact p{font-size:13.5px;color:var(--mut);line-height:1.6}

/* ====================================================== TRUST/ALERTS ===== */
.trust{display:grid;gap:14px}
@media (min-width:640px){.trust{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1040px){.trust{grid-template-columns:repeat(4,1fr)}}
.tr{display:flex;gap:13px;align-items:flex-start}
.tr .ic{flex:none;width:38px;height:38px;border-radius:10px;display:grid;place-items:center;
  background:rgba(216,30,40,.13);color:var(--red2);box-shadow:inset 0 0 0 1px rgba(216,30,40,.3)}
.tr .ic svg{width:19px;height:19px}
.tr b{display:block;font:400 15px/1.15 var(--disp);text-transform:uppercase;margin-bottom:5px}
.tr span{color:var(--mut);font-size:13.2px;line-height:1.55}
.alerts{background:linear-gradient(145deg,#15090B,#0A0A0C);box-shadow:inset 0 0 0 1px var(--line2);
  border-radius:var(--r3);padding:30px 24px}
@media (min-width:880px){.alerts{padding:40px}}
.alerts form{display:grid;gap:14px;max-width:560px}
.cons{display:flex;gap:11px;align-items:flex-start;font-size:13px;color:var(--mut);line-height:1.5}
.cons input{width:19px;height:19px;flex:none;margin-top:1px;accent-color:var(--red)}
.okmsg{background:rgba(74,222,128,.1);box-shadow:inset 0 0 0 1px rgba(74,222,128,.35);
  border-radius:var(--r);padding:18px;color:#B8F0CC}
.okmsg b{display:block;font:400 19px/1 var(--disp);text-transform:uppercase;color:var(--green);margin-bottom:7px}

/* ====================================================== SCORE IT ========= */
.scoreit{display:grid;gap:14px}
@media (min-width:880px){.scoreit{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr)}}
.sround{display:flex;align-items:center;gap:10px;padding:9px 10px;border-bottom:1px solid var(--line)}
.sround:last-child{border-bottom:0}
.sround .rn{width:56px;flex:none;font:600 10px/1 var(--cond);text-transform:uppercase;letter-spacing:.16em;color:var(--mut)}
.sround .btns{display:flex;gap:5px;flex:1}
.sround .btns button{flex:1;background:var(--pan2);box-shadow:inset 0 0 0 1px var(--line);border:0;
  border-radius:7px;padding:7px 4px;cursor:pointer;font:800 10px/1 var(--body);letter-spacing:.07em;
  text-transform:uppercase;color:var(--mut);transition:all .15s}
.sround .btns button[aria-pressed="true"]{background:var(--red);color:#fff;box-shadow:none}
.sround .jj{width:104px;flex:none;text-align:right;font:700 9.5px/1.35 var(--mono);color:var(--mut2);
  white-space:nowrap;overflow:hidden}
@media (max-width:560px){.sround .jj{display:none}}
.sround.done{opacity:1}
.sround.future{opacity:.35;pointer-events:none}

/* ====================================================== FOOTER =========== */
footer{background:#000;border-top:1px solid var(--line);padding:44px 0 28px;margin-top:20px}
.ft-top{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-start;
  padding-bottom:26px;border-bottom:1px solid var(--line)}
.ft-nav{display:flex;flex-wrap:wrap;gap:8px 22px}
.ft-nav a{text-decoration:none;color:var(--mut);font-size:13px;font-weight:600}
.ft-nav a:hover{color:var(--txt)}
.ft-safer{display:grid;gap:9px;margin-top:24px}
@media (min-width:760px){.ft-safer{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1080px){.ft-safer{grid-template-columns:repeat(5,1fr)}}
.ft-safer a{text-decoration:none;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px var(--line);
  border-radius:10px;padding:12px 14px;display:block;transition:background .16s}
.ft-safer a:hover{background:rgba(255,255,255,.07)}
.ft-safer b{display:block;font-size:13px;margin-bottom:3px}
.ft-safer span{color:var(--mut2);font-size:11.5px;line-height:1.4}
.ft-bot{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;
  color:var(--mut2);font-size:12px}
.ft-warn{display:flex;gap:11px;align-items:flex-start;background:rgba(216,30,40,.09);
  box-shadow:inset 0 0 0 1px rgba(216,30,40,.28);border-radius:var(--r);padding:15px 17px;margin-top:24px}
.ft-warn svg{width:20px;height:20px;flex:none;color:var(--red2);fill:none;stroke:currentColor;stroke-width:2}
.ft-warn p{font-size:13px;color:#D4D3DD;line-height:1.55}
.ft-warn p b{color:#fff}

/* ====================================================== LEGAL PAGES ====== */
.page{padding:44px 0 20px}
.page .inner{max-width:760px}
.back{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:var(--mut);
  font:700 11.5px/1 var(--body);letter-spacing:.1em;text-transform:uppercase;margin-bottom:22px}
.back:hover{color:var(--txt)}
.page h1{font-family:var(--disp);text-transform:uppercase;font-size:clamp(34px,6.4vw,58px);line-height:.94}
.upd{color:var(--mut2);font-size:12.5px;margin-top:12px;font-weight:600;letter-spacing:.04em}
.prose{margin-top:28px;color:#CFCED8;font-size:15.5px;line-height:1.75}
.prose h2{font:400 24px/1.1 var(--disp);text-transform:uppercase;color:var(--txt);margin:34px 0 12px}
.prose h3{font:700 16px/1.3 var(--body);color:var(--txt);margin:24px 0 8px}
.prose p{margin:0 0 14px}
.prose ul{margin:0 0 16px;padding-left:20px;list-style:disc}
.prose li{margin-bottom:8px}
.prose a{color:var(--gold2)}
.prose strong{color:var(--txt)}
.todo{background:rgba(217,164,65,.1);box-shadow:inset 0 0 0 1px rgba(217,164,65,.35);
  border-radius:var(--r);padding:16px 18px;margin:18px 0;font-size:14px;color:#EBD9AE}
.todo b{color:var(--gold2)}
.note{background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px var(--line);border-radius:var(--r);
  padding:16px 18px;margin:18px 0;font-size:14px}
