/* Opsi hero DNA XS-3 (js/hero-kv.js, ?hero=a|b|c). Warna diambil dari KV XS-3:
   dasar hitam #040403, lampu merah dari atas #EC2A32, lampu teal dari samping #3ED8D0, aksen cyan resmi #00FFEF. */

.kv{--kr:#EC2A32;--kt:#3ED8D0}
.kv .hx-ph{display:none}
/* latar: hitam, lampu merah dari atas, teal dari kiri; turun halus ke latar halaman */
/* 12 Nov ("jangan abu-abu, ikut teal/red"): sisi teks tidak lagi abu-abu panel; teal dari kiri, merah dari atas, dasar gelap kehijauan */
.info>.sec.hx.kv::before{background:
  radial-gradient(42% 64% at 74% -8%,rgba(236,42,50,.55),rgba(236,42,50,.12) 55%,transparent 75%),
  radial-gradient(46% 90% at 0% 60%,rgba(0,230,216,.30),transparent 78%),
  radial-gradient(62% 90% at 0% 0%,rgba(0,255,239,.30),rgba(0,210,196,.10) 50%,transparent 76%),
  radial-gradient(46% 70% at 50% 46%,rgba(0,200,188,.20),transparent 76%),
  linear-gradient(180deg,#073436 0%,#052A2C 55%,#04211F 100%)}
.info>.sec.hx.kv::before{-webkit-mask-image:linear-gradient(180deg,#000 72%,transparent 100%);mask-image:linear-gradient(180deg,#000 72%,transparent 100%)}
/* 12 Nov: dasar hitam dibuang ("kok hitam gradientnya"); hero memakai warna panel yang sama dengan section di bawahnya, jadi tidak ada pita gelap dan sambungan ke bawah tidak patah */

/* tipe: putih, condensed miring seperti "TICKET AVAILABLE" di KV */
.kv h2{color:#fff;font-style:italic;font-synthesis:style;letter-spacing:.01em;text-shadow:0 4px 30px rgba(0,0,0,.6)}
.kv .hx-ed{gap:6px 14px}
/* hero ringkas (12 Nov, "terlalu texty"): lockup XS-3, tanggal dan venue satu baris */
.kv-lk{display:block;height:24px;width:auto}
.kv .hx-ed b{visibility:hidden} /* teks "XS-3" diganti lockup oleh hero-kv.js; jangan tampil sekilas */
.kv .hx-ed{gap:6px 14px;margin-top:18px;max-width:none}
.kv .hx-tx{position:relative;z-index:2}

.kv-art{position:relative;align-self:stretch;min-height:420px;margin-right:calc(-1 * var(--pad));container:kvart/inline-size;pointer-events:none}
.kv-art{margin-top:-8px}
@media (min-width:1181px){ .kv-art{margin-top:calc(-16px - var(--tb,0px))} }

/* berkas lampu panggung */
.kv-beam{position:absolute;top:-10%;width:34%;height:120%;z-index:0;filter:blur(18px);opacity:.7;mix-blend-mode:screen}
.kv-beam.l{left:2%;background:linear-gradient(180deg,rgba(62,216,208,.55),transparent 80%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);transform:rotate(14deg);transform-origin:50% 0}
.kv-beam.r{right:4%;background:linear-gradient(180deg,rgba(236,42,50,.7),transparent 80%);clip-path:polygon(40% 0,60% 0,100% 100%,0 100%);transform:rotate(-14deg);transform-origin:50% 0}
.kv-beam.l2{left:26%;width:22%;background:linear-gradient(180deg,rgba(62,216,208,.4),transparent 75%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);transform:rotate(6deg);transform-origin:50% 0}
.kv-beam.r2{right:28%;width:22%;background:linear-gradient(180deg,rgba(236,42,50,.45),transparent 75%);clip-path:polygon(42% 0,58% 0,100% 100%,0 100%);transform:rotate(-6deg);transform-origin:50% 0}

/* ---------- kartu reveal ---------- */
.kc{position:absolute;aspect-ratio:4/5;border-radius:10px;overflow:hidden;isolation:isolate;color:#fff;
  background:#000 url(../img/players/throne/plate-clean.webp) 50% 0/cover no-repeat;
  box-shadow:0 24px 60px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.08)}
.kc-p{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.kc::after{content:"";position:absolute;inset:auto 0 0;height:42%;z-index:1;background:linear-gradient(180deg,transparent,rgba(0,0,0,.75))}
.kc-i{position:absolute;z-index:3;left:6%;top:4.5%;display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--kt);
  filter:drop-shadow(0 0 6px color-mix(in srgb,currentColor 55%,transparent))}
.kc-i b{font:400 clamp(20px,13cqi,44px)/.9 Rye,Georgia,serif}
.kc-i i{width:1.4em;height:.95em;background:currentColor;font-size:clamp(14px,7cqi,24px);
  -webkit-mask:url(../img/xseries-mark.webp) center/contain no-repeat;mask:url(../img/xseries-mark.webp) center/contain no-repeat}
.kc-i2{left:auto;top:auto;right:6%;bottom:4.5%;color:var(--kr);rotate:180deg}
.kc-n{position:absolute;z-index:3;left:6%;right:6%;bottom:6%;display:flex;flex-direction:column;align-items:center;text-align:center}
.kc-n b{font:700 clamp(28px,15cqi,64px)/.82 "Dharma Gothic E",Impact,sans-serif;text-transform:uppercase;text-shadow:0 3px 16px rgba(0,0,0,.7)}
.kc-n small{margin-top:4px;font:700 clamp(10px,3.4cqi,14px)/1 "Dharma Gothic E",Impact,sans-serif;text-transform:uppercase;letter-spacing:.04em}
.kc-n img{display:block;width:62%;height:auto;margin-top:3px}
.kc-n em{margin-top:4px;font:italic 800 clamp(7px,2cqi,9px)/1 Inter,sans-serif;letter-spacing:.05em}
.kc .kc-p,.kc .kc-cut{transition:none}

/* ---------- A · Ace card ---------- */
.kv-a .kv-art .kc{top:50%}
.kv-a .kc-ace{container-type:inline-size;left:50%;width:min(300px,58cqi);transform:translate(-50%,-50%) rotate(-2deg);z-index:3;
  box-shadow:0 30px 80px rgba(0,0,0,.7),0 0 60px rgba(236,42,50,.35),0 0 0 1px rgba(255,255,255,.12)}
.kv-a .kc-ace::before{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(55% 40% at 50% 28%,rgba(255,255,255,.55),rgba(255,90,90,.25) 50%,transparent 75%)}
.kc-cut{position:absolute;z-index:1;left:50%;top:9%;width:112%;height:auto;max-width:none;transform:translateX(-50%);
  filter:drop-shadow(-4px 0 10px rgba(62,216,208,.45)) drop-shadow(4px 0 10px rgba(236,42,50,.55))}
.kv-a .kc-b1,.kv-a .kc-b2{container-type:inline-size;width:min(236px,44cqi);z-index:1;filter:brightness(.62) saturate(.9)}
.kv-a .kc-b1{left:50%;transform:translate(-118%,-46%) rotate(-12deg)}
.kv-a .kc-b2{left:50%;transform:translate(18%,-46%) rotate(12deg)}

/* ---------- B · Two lights ---------- */
/* tepi kiri dan bawah memudar (webkit dan standar disamakan) */
.kv-b .kv-art{overflow:hidden;--fl:linear-gradient(90deg,transparent 0,rgba(0,0,0,.1) 5%,rgba(0,0,0,.36) 12%,rgba(0,0,0,.7) 20%,rgba(0,0,0,.92) 27%,#000 33%);
  --fb:linear-gradient(180deg,#000 0,#000 58%,rgba(0,0,0,.6) 76%,rgba(0,0,0,.2) 90%,transparent 100%);
  -webkit-mask-image:var(--fl),var(--fb);mask-image:var(--fl),var(--fb);-webkit-mask-composite:source-in;mask-composite:intersect}
.kv-arena{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 10%;opacity:.28;filter:saturate(1.2) contrast(1.1)}
.kv-p{position:absolute;bottom:0;left:var(--x);height:var(--h);width:auto;max-width:none}
.kv-p.bk{z-index:1;bottom:12%}
.kv-p.fr{z-index:3}
.kv-p.ace{z-index:4;bottom:-6%;filter:drop-shadow(-5px 0 12px rgba(62,216,208,.55)) drop-shadow(5px 0 14px rgba(236,42,50,.6)) drop-shadow(0 20px 30px rgba(0,0,0,.6))}
.kv-p.t{filter:brightness(var(--b,.9)) drop-shadow(-4px 0 10px rgba(62,216,208,.6)) drop-shadow(0 10px 20px rgba(0,0,0,.5))}
.kv-p.r{filter:brightness(var(--b,.9)) drop-shadow(4px 0 12px rgba(236,42,50,.7)) drop-shadow(0 10px 20px rgba(0,0,0,.5))}
/* 12 Nov: semua pemain sama terang ("kok masih ada player yg redup dan bright"); kedalaman cukup dari ukuran dan posisi */
.kv-p.bk{--b:.9}
/* lampu B: kerucut cahaya dari gradien (tanpa clip-path, yang memotong blur jadi garis kasar) */
.kv-b .kv-beam{left:calc(var(--bx) - 50%);width:100%;height:118%;top:-8%;clip-path:none;filter:none;opacity:1;transform:rotate(var(--rot));transform-origin:50% 0;
  background:conic-gradient(from calc(180deg - var(--sp)) at 50% 0,transparent 0,var(--bc) calc(var(--sp) * .7),var(--bc) calc(var(--sp) * 1.3),transparent calc(var(--sp) * 2));
  -webkit-mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.7) 45%,transparent 92%);mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.7) 45%,transparent 92%)}
.kv-b .kv-beam.l{--bx:24%;--rot:12deg;--sp:13deg;--bc:rgba(62,216,208,.62)}
.kv-b .kv-beam.l2{--bx:40%;--rot:5deg;--sp:8deg;--bc:rgba(62,216,208,.46)}
.kv-b .kv-beam.r{--bx:79%;--rot:-14deg;--sp:13deg;--bc:rgba(236,42,50,.62)}
.kv-b .kv-beam.r2{--bx:61%;--rot:-6deg;--sp:8deg;--bc:rgba(236,42,50,.46)}
/* grading: kiri teal, kanan merah, seperti KV tiket */
.kv-b .kv-art::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;mix-blend-mode:soft-light;
  background:linear-gradient(90deg,rgba(62,216,208,.75),rgba(62,216,208,0) 44%,rgba(236,42,50,0) 56%,rgba(236,42,50,.85))}
.kv-tag{position:absolute;z-index:6;left:50%;bottom:16%;display:flex;flex-direction:column;padding:6px 12px 6px 10px;background:#000;border-left:3px solid var(--kr);transform:skewX(-10deg)}
.kv-tag b{font:700 22px/.9 "Dharma Gothic E",Impact,sans-serif;text-transform:uppercase;font-style:italic;font-synthesis:style}
.kv-tag small{font:700 11px/1 "Dharma Gothic E",Impact,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--kt)}

/* ---------- C · The hand ---------- */
/* latar arena: semua tepi memudar (bawah ke latar halaman #161619, kanan ke kolom Stats, atas di bawah search bar), tidak ada potongan kotak */
.kv-bg{position:absolute;z-index:-1;top:-16px;bottom:0;left:calc(-1 * var(--pad));right:calc(-1 * var(--pad));overflow:hidden;pointer-events:none;
  -webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 72%,transparent 100%),linear-gradient(90deg,#000 0,#000 90%,transparent 100%);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 72%,transparent 100%),linear-gradient(90deg,#000 0,#000 90%,transparent 100%);
  mask-composite:intersect}
.kv-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:.9;filter:saturate(1.4) brightness(1.2) blur(1px);transform:scale(1.03)}
.kv-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#161619 0,rgba(14,14,16,.92) 24%,rgba(10,10,12,.35) 46%,rgba(4,4,3,.1) 62%,rgba(4,4,3,.1) 100%)}
.info>.sec.hx.kv-c::before{background:none}
/* lampu sorot: kerucut lunak dari conic-gradient (tanpa clip-path, jadi tidak ada tepi tajam), meredup menjauhi sumber */
.kv-lt{position:absolute;z-index:1;top:-6%;left:calc(var(--bx) - 60%);width:120%;height:120%;mix-blend-mode:screen;transform:rotate(var(--ba));transform-origin:50% 0;
  background:conic-gradient(from calc(180deg - var(--bw)) at 50% 0,transparent 0,var(--bc) calc(var(--bw) * .65),var(--bc) calc(var(--bw) * 1.35),transparent calc(var(--bw) * 2),transparent 360deg);
  -webkit-mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.7) 40%,transparent 90%);mask-image:linear-gradient(180deg,#000 0,rgba(0,0,0,.7) 40%,transparent 90%)}
.kv-lt{--bw:3.2deg}
.kv-lt.c1{--bx:46%;--ba:-26deg;--bc:rgba(0,255,239,.75)}
.kv-lt.c2{--bx:53%;--ba:-14deg;--bc:rgba(120,255,248,.85)}
.kv-lt.c3{--bx:60%;--ba:-4deg;--bc:rgba(0,255,239,.75)}
.kv-lt.c4{--bx:67%;--ba:8deg;--bw:2.4deg;--bc:rgba(0,255,239,.55)}
.kv-lt.r1{--bx:74%;--ba:-10deg;--bw:2.6deg;--bc:rgba(255,40,48,.8)}
.kv-lt.r2{--bx:80%;--ba:2deg;--bw:3.6deg;--bc:rgba(255,70,76,1)}
.kv-lt.r3{--bx:86%;--ba:12deg;--bw:3.6deg;--bc:rgba(255,40,48,1)}
.kv-lt.r4{--bx:92%;--ba:24deg;--bc:rgba(255,40,48,.9)}
/* kepala lampu di atas: titik putih kebiruan / kemerahan yang menyala */
.kv-lamps{position:absolute;inset:0;z-index:1;mix-blend-mode:screen;background:
  radial-gradient(2.2% 4.5% at 46% 3%,#fff,rgba(0,255,239,.6) 40%,transparent 100%),radial-gradient(2.2% 4.5% at 53% 2%,#fff,rgba(0,255,239,.6) 40%,transparent 100%),
  radial-gradient(2.2% 4.5% at 60% 3%,#fff,rgba(0,255,239,.6) 40%,transparent 100%),radial-gradient(1.8% 3.6% at 67% 2%,#fff,rgba(0,255,239,.5) 40%,transparent 100%),
  radial-gradient(1.8% 3.6% at 74% 2%,#fff,rgba(255,40,48,.5) 40%,transparent 100%),radial-gradient(2.2% 4.5% at 80% 3%,#fff,rgba(255,40,48,.6) 40%,transparent 100%),
  radial-gradient(2.2% 4.5% at 86% 2%,#fff,rgba(255,40,48,.6) 40%,transparent 100%),radial-gradient(2.2% 4.5% at 92% 3%,#fff,rgba(255,40,48,.6) 40%,transparent 100%),
  radial-gradient(30% 14% at 56% 0,rgba(0,255,239,.45),transparent 100%),radial-gradient(30% 16% at 84% 0,rgba(255,40,48,.7),transparent 100%)}
.kv-pool{position:absolute;z-index:1;left:52%;right:-2%;bottom:6%;height:34%;mix-blend-mode:screen;
  background:radial-gradient(50% 50% at 38% 50%,rgba(0,255,239,.3),transparent 70%),radial-gradient(50% 50% at 66% 50%,rgba(236,42,50,.38),transparent 70%)}

/* pemain: bawah memudar ke halaman, kanan memudar ke kolom Stats (tidak ada potongan kotak) */
.kv-c .kv-art{-webkit-mask-image:linear-gradient(180deg,#000 66%,transparent 100%),linear-gradient(90deg,transparent 0,#000 8%,#000 88%,transparent 100%);-webkit-mask-composite:source-in;
  mask-image:linear-gradient(180deg,#000 66%,transparent 100%),linear-gradient(90deg,transparent 0,#000 8%,#000 88%,transparent 100%);mask-composite:intersect}
.kv-c .kv-p.bk{bottom:10%}
/* warna identitas menyala: tanpa desaturasi, rim tipis cyan resmi #00FFEF dari kiri dan merah #EC2A32 dari kanan */
.kv-c .kv-art .kv-p{filter:brightness(1.14) contrast(1.06) saturate(1.15)
  drop-shadow(-2px 0 2px rgba(0,255,239,.9)) drop-shadow(2px 0 2px rgba(255,48,56,.9)) drop-shadow(0 0 12px rgba(0,255,239,.15)) drop-shadow(0 16px 22px rgba(0,0,0,.5))}
.kv-c .kv-art .kv-p.bk{filter:brightness(1.1) contrast(1.05) saturate(1.15) blur(.4px)
  drop-shadow(-2px 0 3px rgba(0,255,239,.5)) drop-shadow(2px 0 3px rgba(236,42,50,.55))}
.kv-c .kv-art .kv-p.ace{filter:brightness(1.16) contrast(1.06) saturate(1.15)
  drop-shadow(-3px 0 3px rgba(0,255,239,.95)) drop-shadow(3px 0 3px rgba(255,48,56,.95)) drop-shadow(0 0 18px rgba(0,255,239,.18)) drop-shadow(0 20px 30px rgba(0,0,0,.6))}
/* cahaya warna di belakang tiap grup, di dalam .kv-bg yang tepinya memudar */
.kv-glow{position:absolute;inset:0;z-index:1;mix-blend-mode:screen;background:
  radial-gradient(30% 62% at 58% 42%,rgba(0,255,239,.85),rgba(0,255,239,.32) 50%,transparent 82%),
  radial-gradient(30% 66% at 87% 38%,rgba(255,40,48,1),rgba(236,42,50,.45) 50%,transparent 84%),
  radial-gradient(18% 40% at 76% 28%,rgba(255,255,255,.14),transparent 75%)}
.kv-fog{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 40%,rgba(8,8,10,.3) 72%,rgba(8,8,10,.75) 100%)}
.kv-fog.f1{z-index:2}
.kv-fog.f2{z-index:3;background:linear-gradient(180deg,transparent 62%,rgba(8,8,10,.4) 88%,rgba(8,8,10,.75) 100%)}
.kv-c .kv-tag{left:56%;bottom:20%}

/* layar sempit: kartu dan pemain mengecil mengikuti kolom visual */
@container (max-width:780px){ .kv-art{min-height:300px} .kv-lk{height:22px} .kv .hx-ed{gap:8px 10px;font-size:12.5px} .kv .hx-ed span{gap:10px;white-space:nowrap} .kv-lk{margin-right:100%} }
@container kvart (max-width:320px){
  .kv-a .kc-b1,.kv-a .kc-b2{display:none}
  .kv-a .kc-ace{width:92cqi}
  .kv-b .kv-p.bk,.kv-b .kv-p.fr,.kv-c .kv-p.bk,.kv-c .kv-p.fr,.kv-tag{display:none}
  .kv-b .kv-p.ace,.kv-c .kv-p.ace{left:50%;bottom:-2%;height:74%;transform:translateX(-50%)}
}
/* mobile: teks menutupi hampir seluruh lebar, jadi arena di belakang teks digelapkan lebih kuat supaya tetap terbaca */
@media (max-width:860px){ .kv-bg::after{background:linear-gradient(90deg,rgba(22,22,25,.94) 0,rgba(14,14,16,.82) 45%,rgba(8,8,10,.35) 75%,rgba(4,4,3,.1) 100%)} }

/* ---------- B · rasa poster IG (12 Nov) ----------
   ref: poster line-up IG XS-3 (Ricardinho & Nani): kiri cyan menyala, kanan merah menyala, titik lampu panggung,
   pemain ikut terwarnai sisi lampunya, plat nama hitam miring + bendera */
.kv-b .kv-arena{opacity:.55;filter:saturate(1.7) contrast(1.2) brightness(1.05)}
.kv-bloom{position:absolute;z-index:0;inset:-12% -4% 0 0;mix-blend-mode:screen;
  background:radial-gradient(34% 52% at 20% 26%,rgba(30,235,225,.8),rgba(30,235,225,.28) 45%,transparent 72%),
    radial-gradient(38% 56% at 86% 24%,rgba(255,36,46,.9),rgba(255,36,46,.32) 45%,transparent 72%),
    radial-gradient(24% 40% at 52% 8%,rgba(255,255,255,.18),transparent 70%)}
/* titik lampu par di rangka panggung */
.kv-lamps{position:absolute;z-index:0;left:0;right:0;top:0;height:30%;mix-blend-mode:screen;
  background:
    radial-gradient(10px 10px at 16% 14%,#fff 0 30%,rgba(120,255,248,.9) 45%,transparent 100%),
    radial-gradient(10px 10px at 27% 9%,#fff 0 30%,rgba(120,255,248,.9) 45%,transparent 100%),
    radial-gradient(10px 10px at 38% 16%,#fff 0 30%,rgba(120,255,248,.9) 45%,transparent 100%),
    radial-gradient(10px 10px at 63% 12%,#fff 0 30%,rgba(255,120,120,.9) 45%,transparent 100%),
    radial-gradient(10px 10px at 76% 8%,#fff 0 30%,rgba(255,120,120,.9) 45%,transparent 100%),
    radial-gradient(10px 10px at 88% 15%,#fff 0 30%,rgba(255,120,120,.9) 45%,transparent 100%),
    radial-gradient(60px 40px at 16% 14%,rgba(30,235,225,.55),transparent 70%),
    radial-gradient(60px 40px at 27% 9%,rgba(30,235,225,.55),transparent 70%),
    radial-gradient(60px 40px at 38% 16%,rgba(30,235,225,.5),transparent 70%),
    radial-gradient(60px 40px at 63% 12%,rgba(255,36,46,.55),transparent 70%),
    radial-gradient(60px 40px at 76% 8%,rgba(255,36,46,.6),transparent 70%),
    radial-gradient(60px 40px at 88% 15%,rgba(255,36,46,.55),transparent 70%)}
.kv-b .kv-beam.l{--bc:rgba(62,226,216,.8)}.kv-b .kv-beam.l2{--bc:rgba(62,226,216,.6)}
.kv-b .kv-beam.r{--bc:rgba(255,40,50,.8)}.kv-b .kv-beam.r2{--bc:rgba(255,40,50,.6)}
/* barisan paling belakang (kepala di atas barisan tengah) */
.kv-p.bk2{z-index:1;bottom:30%}
.kv-b .kv-p.bk{z-index:2}
/* cahaya sisi (tanpa tepi putih: terlihat seperti tempelan) */
.kv-b .kv-p.t{filter:brightness(1.04) contrast(1.12) saturate(1.2) drop-shadow(-6px -2px 16px rgba(30,235,225,.7)) drop-shadow(0 10px 18px rgba(0,0,0,.55))}
.kv-b .kv-p.r{filter:brightness(1.04) contrast(1.12) saturate(1.2) drop-shadow(6px -2px 16px rgba(255,36,46,.7)) drop-shadow(0 10px 18px rgba(0,0,0,.55))}
.kv-b .kv-p.bk2{filter:brightness(.92) contrast(1.1) saturate(1.2) drop-shadow(0 -2px 14px var(--rc)) drop-shadow(0 10px 18px rgba(0,0,0,.55))}
.kv-b .kv-p.bk2.t{--rc:rgba(30,235,225,.6)}.kv-b .kv-p.bk2.r{--rc:rgba(255,36,46,.6)}
.kv-b .kv-p.ace{filter:brightness(1.06) contrast(1.14) saturate(1.2) drop-shadow(-8px -2px 18px rgba(30,235,225,.75)) drop-shadow(8px -2px 20px rgba(255,36,46,.8)) drop-shadow(0 20px 30px rgba(0,0,0,.6))}
/* pemain ikut terwarnai: kiri cyan, kanan merah (di atas pemain, di bawah plat nama) */
.kv-cast{position:absolute;z-index:5;inset:0;pointer-events:none;mix-blend-mode:overlay;
  background:linear-gradient(90deg,rgba(30,235,225,.55),rgba(30,235,225,.12) 38%,rgba(255,36,46,.14) 58%,rgba(255,36,46,.6))}
.kv-b .kv-art::after{opacity:.8}
/* plat nama: hitam miring, nama putih miring, peran cyan, bendera di kanan */
.kv-b .kv-tag{display:flex;flex-direction:row;align-items:stretch;gap:0;padding:0;background:none;border:0;z-index:7;bottom:15%;filter:drop-shadow(0 8px 18px rgba(0,0,0,.6))}
.kv-b .kv-tag>span{display:flex;flex-direction:column;justify-content:center;padding:7px 14px 7px 12px;background:#050506;border-left:3px solid var(--kt)}
.kv-b .kv-tag b{font-size:26px;color:#fff}
.kv-b .kv-tag small{margin-top:2px;font-size:12px;color:#fff;opacity:.85}
.kv-flag{width:44px;flex:none;background:radial-gradient(circle at 40% 50%,#FFE000 0 15%,#B5121B 16% 19%,transparent 20%),linear-gradient(90deg,#046A38 40%,#DA291C 40%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.15)}
@container kvart (max-width:320px){ .kv-p.bk2,.kv-lamps{display:none} }

/* 12 Nov ("nyempil sendiri"): tepi kanan art memudar ke kolom stats, grup kanan tidak terpotong keras di tepi */
.kv-b .kv-art{--fr:linear-gradient(270deg,transparent 0,rgba(0,0,0,.45) 4%,#000 12%);
  -webkit-mask-image:var(--fl),var(--fb),var(--fr);mask-image:var(--fl),var(--fb),var(--fr);-webkit-mask-composite:source-in,source-in;mask-composite:intersect,intersect}
.kv-b .kv-bloom{background:radial-gradient(34% 52% at 20% 26%,rgba(30,235,225,.8),rgba(30,235,225,.28) 45%,transparent 72%),
    radial-gradient(34% 54% at 76% 26%,rgba(255,36,46,.85),rgba(255,36,46,.28) 45%,transparent 72%),
    radial-gradient(24% 40% at 52% 8%,rgba(255,255,255,.18),transparent 70%)}
@container kvart (max-width:320px){ .kv-b .kv-tag{display:none} }

/* 12 Nov ("gradient bagian ini kusam banget"): foto arena di zona pudar kiri jadi abu-abu kusam.
   Arena diwarnai ulang (blend color): kiri teal, kanan merah, sehingga pudarnya menyatu ke latar teal.
   Pudar kiri dipersingkat supaya pemain paling kiri tidak setengah transparan. */
.kv-tint{position:absolute;inset:0;z-index:0;pointer-events:none;mix-blend-mode:color;
  background:linear-gradient(90deg,#00C9BC 0,#00C9BC 34%,rgba(0,201,188,0) 52%,rgba(226,32,42,0) 60%,#E2202A 100%)}
.kv-b .kv-arena{opacity:.62;filter:saturate(1.8) contrast(1.15) brightness(1.15)}
.kv-b .kv-art{--fl:linear-gradient(90deg,transparent 0,rgba(0,0,0,.25) 4%,rgba(0,0,0,.7) 11%,rgba(0,0,0,.95) 17%,#000 22%)}
.kv-a .kv-tint,.kv-c .kv-tint{display:none}

/* 12 Nov ("gradientnya patah"): pudar kiri dipindah dari .kv-art ke lapisan latar saja (arena, warna, cahaya, sorot).
   Pudarnya panjang dan lembut, jadi tidak ada garis tegak; pemain tidak ikut pudar, jadi tidak kusam. */
.kv-b .kv-art{-webkit-mask-image:var(--fb),var(--fr);mask-image:var(--fb),var(--fr);-webkit-mask-composite:source-in;mask-composite:intersect;
  --fs:linear-gradient(90deg,transparent 0,rgba(0,0,0,.03) 6%,rgba(0,0,0,.1) 12%,rgba(0,0,0,.22) 18%,rgba(0,0,0,.38) 24%,rgba(0,0,0,.56) 30%,rgba(0,0,0,.74) 36%,rgba(0,0,0,.88) 42%,rgba(0,0,0,.97) 48%,#000 54%)}
.kv-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;-webkit-mask-image:var(--fs);mask-image:var(--fs)}
.kv-b .kv-art::after,.kv-b .kv-cast{-webkit-mask-image:var(--fs);mask-image:var(--fs);-webkit-mask-composite:source-over;mask-composite:add}
.kv-tint{background:linear-gradient(90deg,#00B5AA 0,#00B5AA 36%,rgba(0,181,170,0) 54%,rgba(226,32,42,0) 60%,#E2202A 100%)}
.kv-b .kv-arena{opacity:.58;filter:saturate(1.6) contrast(1.12) brightness(1.08)}
/* 12 Nov ("lighting sorot ilang"): cahaya (bloom, titik lampu, sorot) di lapisan sendiri dengan pudar kiri pendek,
   jadi sorot teal tetap terang; arena tetap memakai pudar panjang. Lapisan di-screen ke arena seperti sebelumnya */
.kv-light{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;mix-blend-mode:screen;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 6%,rgba(0,0,0,.75) 12%,#000 18%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 6%,rgba(0,0,0,.75) 12%,#000 18%)}


/* 12 Nov ("mending 1 baris"): judul 1 baris, sedikit lebih besar supaya mengisi kolom teks tanpa pecah */
@container (min-width:621px){ .hx.kv-b .hx-tx h2{font-size:clamp(52px,6.3cqi,70px);white-space:nowrap} }

/* 12 Nov ("tangan kepotong"): foto Kitings terpotong di tangan kirinya; dicerminkan supaya sisi terpotong sembunyi di belakang Safee */
.kv-b .kv-p.fx{transform:scaleX(-1)}
/* 12 Nov ("tone player sebelah kanan terlalu merah"): rona merah di pemain kanan dikurangi, cahaya merah tetap di latar */
.kv-cast{background:linear-gradient(90deg,rgba(30,235,225,.45),rgba(30,235,225,.1) 38%,rgba(255,36,46,.06) 58%,rgba(255,36,46,.24))}
.kv-b .kv-p.r{filter:brightness(1.04) contrast(1.1) saturate(1.05) drop-shadow(5px -2px 14px rgba(255,36,46,.45)) drop-shadow(0 10px 18px rgba(0,0,0,.55))}
.kv-b .kv-p.bk2.r{--rc:rgba(255,36,46,.4)}

/* 12 Nov ("bagian sini masih pudar warnanya"): lapisan gelap abu-abu (#161619 → .92) dari varian lama menutupi sisi teks dan membuat teal kusam.
   Di B lapisan itu dibuang; sisi teks sekarang langsung warna teal latar */
.kv-b .kv-bg::after{display:none}

/* 12 Nov ("warna masih pudar"): sisi teks teal kusam keabu-abuan (≈ rgb 37,83,83). Dasar diganti teal pekat berkroma tinggi,
   lampu cyan kiri atas dan kiri tengah lebih kuat; merah atas kanan tetap */
.info>.sec.hx.kv-b::before{background:
  radial-gradient(42% 64% at 74% -8%,rgba(236,42,50,.55),rgba(236,42,50,.12) 55%,transparent 75%),
  radial-gradient(60% 95% at 0% 0%,rgba(0,255,239,.55),rgba(0,230,216,.18) 50%,transparent 78%),
  radial-gradient(50% 90% at 0% 70%,rgba(0,240,225,.32),transparent 80%),
  radial-gradient(46% 70% at 44% 46%,rgba(0,220,205,.22),transparent 76%),
  linear-gradient(180deg,#005A54 0%,#00433F 55%,#002F2C 100%)}

/* 12 Nov ("kurang 1 pemain biar balance"): Martunis di kiri. Fotonya potongan kartu (siku kiri terpotong tepi),
   jadi tepi kirinya dipudarkan ke latar, bukan garis lurus */
.kv-b .kv-p.ed{-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) 9%,#000 20%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.5) 9%,#000 20%)}

/* 12 Nov ("kanan kiri kurang balance"): pemain B diposisikan dari tengah kepala, jadi simetri kiri/kanan tetap di semua lebar layar */
.kv-b .kv-art{--c:49%;--k:1}
.kv-b .kv-p{left:calc(var(--c) + var(--d,0) * var(--k) * 1%);translate:calc(var(--hc,0) * -1%) 0}
.kv-b .kv-p.edr{-webkit-mask-image:linear-gradient(270deg,transparent 0,rgba(0,0,0,.5) 9%,#000 20%);mask-image:linear-gradient(270deg,transparent 0,rgba(0,0,0,.5) 9%,#000 20%)}
.kv-b .kv-tag{left:calc(var(--c) - 6%)}
/* art sempit (laptop 1440): gambar relatif lebih lebar, jadi barisan dirapatkan supaya tangan Martunis tidak menempel ke teks */
@container kvart (max-width:700px){ .kv-b .kv-p,.kv-b .kv-tag{--c:51%;--k:.85} }
@container kvart (max-width:320px){ .kv-b .kv-p.ace{translate:none} }
/* 12 Nov ("kok ini ada overlay teal?"): tepi kanan art memudar ke latar section yang teal, jadi sisi merah berakhir hijau.
   Latar section di sisi kanan dibuat merah gelap, sama dengan sisi merah art */
.info>.sec.hx.kv-b::before{background:
  radial-gradient(42% 64% at 74% -8%,rgba(236,42,50,.55),rgba(236,42,50,.12) 55%,transparent 75%),
  radial-gradient(60% 95% at 0% 0%,rgba(0,255,239,.55),rgba(0,230,216,.18) 50%,transparent 78%),
  radial-gradient(50% 90% at 0% 70%,rgba(0,240,225,.32),transparent 80%),
  radial-gradient(46% 70% at 44% 46%,rgba(0,220,205,.22),transparent 76%),
  radial-gradient(30% 80% at 100% 30%,rgba(200,28,38,.55),transparent 80%),
  linear-gradient(90deg,transparent 0,transparent 62%,#3A0F14 86%,#2A0A0E 100%),
  linear-gradient(180deg,#005A54 0%,#00433F 55%,#002F2C 100%)}

/* 12 Nov ("ini kepotong"): di art sempit (layar ~1280–1520) badan Sakha melewati tepi kiri art dan terpotong garis lurus.
   1) tepi kiri art memudar pendek, jadi yang lewat tepi tidak pernah terpotong keras (latar sudah transparan di situ, tidak ada garis baru)
   2) art sempit: grup dirapatkan sedikit, Sakha masuk ke dalam */
.kv-b .kv-art{--fe:linear-gradient(90deg,transparent 0,rgba(0,0,0,.4) 4%,#000 11%);
  -webkit-mask-image:var(--fb),var(--fr),var(--fe);mask-image:var(--fb),var(--fr),var(--fe);-webkit-mask-composite:source-in,source-in;mask-composite:intersect,intersect}
@container kvart (max-width:700px){ .kv-b .kv-p,.kv-b .kv-tag{--c:52%;--k:.78} }
