
  :root{
    --bg:#0a0e16;
    --bg2:#11182a;
    --card:#161f35;
    --line:#27324d;
    --text:#eef2fb;
    --muted:#9fadc8;
    --gold:#ffc857;
    --green:#4ade80;
    --red:#ff6b6b;
    --blue:#5b9dff;
    --mono:'JetBrains Mono','Courier New',monospace;
    --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
  }
  *{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
  button,input,select,a,[onclick]{touch-action:manipulation;}
  body{
    background:
      radial-gradient(1100px 600px at 15% -10%, rgba(255,200,87,0.10), transparent 60%),
      radial-gradient(1000px 600px at 110% 10%, rgba(91,157,255,0.12), transparent 60%),
      var(--bg);
    color:var(--text);
    font-family:var(--sans);
    min-height:100vh;
    line-height:1.55;
  }
  .wrap{ max-width:760px; margin:0 auto; padding:36px 20px 80px; }

  /* Header */
  .top{ text-align:center; margin-bottom:28px; }
  .badge{
    display:inline-flex; align-items:center; gap:8px;
    font-family:var(--mono); font-size:12px; letter-spacing:2px; text-transform:uppercase;
    color:var(--gold); border:1px solid rgba(255,200,87,0.35); background:rgba(255,200,87,0.08);
    padding:7px 14px; border-radius:30px; margin-bottom:18px;
  }
  .badge::before{ content:'⚽'; }
  h1{
    font-size:clamp(30px,7vw,46px); font-weight:800; letter-spacing:-1px; line-height:1.1;
  }
  h1 span{ color:var(--gold); }
  .subtitle{ color:var(--muted); margin-top:10px; font-size:15px; }

  /* Countdown */
  .countdown{
    display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
    margin:28px 0 8px;
  }
  .cd-box{
    background:var(--card); border:1px solid var(--line); border-radius:12px;
    padding:16px 8px; text-align:center;
  }
  .cd-num{ font-family:var(--mono); font-size:clamp(22px,6vw,34px); font-weight:700; color:var(--gold); }
  .cd-lbl{ font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:1px; margin-top:4px; }
  .cd-note{ text-align:center; font-size:13px; color:var(--muted); margin-top:10px; }

  /* Tabs */
  .tabs{ display:flex; flex-wrap:wrap; gap:10px; margin:34px 0 20px; }
  .tab{
    flex:1 1 calc(50% - 5px); text-align:center; padding:14px 8px; border-radius:12px; cursor:pointer;
    background:var(--card); border:1px solid var(--line); color:var(--muted);
    font-weight:700; font-size:13px; transition:.2s ease;
  }
  .tab.active{ color:var(--bg); background:var(--gold); border-color:var(--gold); }

  .panel{ display:none; }
  .panel.active{ display:block; animation:fadein .35s ease; }
  @keyframes fadein{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:none;} }

  /* Shared game card */
  .game-card{
    background:var(--card); border:1px solid var(--line); border-radius:16px;
    padding:28px 22px;
  }
  .game-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:18px; gap:10px; flex-wrap:wrap; }
  .game-title{ font-size:18px; font-weight:800; }
  .hud{ display:flex; gap:14px; font-family:var(--mono); font-size:13px; color:var(--muted); }
  .hud b{ color:var(--text); }
  .hud .streak{ color:var(--gold); }

  .question{ font-size:17px; font-weight:700; margin-bottom:18px; min-height:50px; }
  .options{ display:grid; gap:10px; }
  .opt{
    text-align:left; padding:14px 16px; border-radius:10px; cursor:pointer;
    background:var(--bg2); border:1px solid var(--line); color:var(--text);
    font-size:15px; font-family:inherit; transition:.15s ease;
  }
  .opt:hover{ border-color:var(--blue); }
  .opt.correct{ background:rgba(74,222,128,0.18); border-color:var(--green); color:var(--green); }
  .opt.wrong{ background:rgba(255,107,107,0.18); border-color:var(--red); color:var(--red); }
  .opt[disabled]{ cursor:default; }

  .feedback{ margin-top:14px; font-size:14px; color:var(--muted); min-height:20px; }
  .feedback.ok{ color:var(--green); }
  .feedback.bad{ color:var(--red); }

  .next-btn{
    margin-top:18px; width:100%; padding:14px; border-radius:10px; border:none;
    background:var(--gold); color:var(--bg); font-weight:800; font-size:15px; cursor:pointer;
    display:none;
  }
  .next-btn.show{ display:block; }
  .kx-retry-btn{
    margin-top:8px; width:100%; padding:11px; border-radius:10px; border:2px solid var(--blue);
    background:transparent; color:var(--blue); font-weight:700; font-size:13px; cursor:pointer;
    display:none; letter-spacing:.03em;
  }
  .kx-retry-btn.show{ display:block; }

  /* Result screen */
  .result{ text-align:center; display:none; }
  .result.show{ display:block; animation:fadein .4s ease; }
  .result .score-num{ font-family:var(--mono); font-size:54px; font-weight:800; color:var(--gold); margin:8px 0; }
  .result p{ color:var(--muted); font-size:15px; }
  .result-row{ display:flex; gap:10px; margin-top:22px; }
  .btn{
    flex:1; padding:14px; border-radius:10px; font-weight:800; font-size:14px; cursor:pointer;
    border:1px solid var(--line); background:var(--bg2); color:var(--text);
    font-family:inherit;
  }
  .btn.primary{ background:var(--gold); color:var(--bg); border-color:var(--gold); }

  /* Group flags grid for game 2 */
  .seed-card{
    text-align:center; padding:26px 16px; background:var(--bg2); border:1px solid var(--line);
    border-radius:14px; margin-bottom:18px;
  }
  .seed-flag{ font-size:54px; line-height:1; }
  .seed-name{ font-size:21px; font-weight:800; margin-top:10px; }
  .seed-hint{ color:var(--muted); font-size:13px; margin-top:6px; }
  .group-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
  .group-opt{
    padding:14px 6px; text-align:center; border-radius:10px; cursor:pointer;
    background:var(--bg2); border:1px solid var(--line); color:var(--text);
    font-family:var(--mono); font-weight:800; font-size:16px;
  }
  .group-opt:hover:not([disabled]){ border-color:var(--blue); }
  .group-opt.correct{ background:rgba(74,222,128,0.18); border-color:var(--green); color:var(--green); }
  .group-opt.wrong{ background:rgba(255,107,107,0.18); border-color:var(--red); color:var(--red); }
  .group-opt[disabled]{ cursor:default; }

  /* Cracks Mundialistas — contrarreloj V/F */
  .timer-bar{ height:8px; background:var(--bg2); border-radius:6px; overflow:hidden; margin-bottom:22px; }
  .timer-fill{ height:100%; background:var(--gold); width:100%; border-radius:6px; transition:width 1s linear, background .3s ease; }
  .timer-fill.low{ background:var(--red); }
  .vf-btns{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:4px; }
  .vf-btn{
    padding:18px; border-radius:12px; cursor:pointer; font-weight:800; font-size:16px;
    font-family:inherit; border:1px solid var(--line); background:var(--bg2); color:var(--text);
    transition:.15s ease;
  }
  .vf-btn:hover:not([disabled]){ border-color:var(--blue); }
  .vf-btn[disabled]{ cursor:default; }
  .vf-btn.correct{ background:rgba(74,222,128,0.18); border-color:var(--green); color:var(--green); }
  .vf-btn.wrong{ background:rgba(255,107,107,0.18); border-color:var(--red); color:var(--red); }
  .start-copy{ color:var(--muted); font-size:14px; margin-bottom:18px; text-align:center; }

  /* Memorama */
  .memo-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
  .memo-card{
    aspect-ratio:1; border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:center;
    background:var(--bg2); border:1px solid var(--line); color:var(--muted);
    font-size:26px; font-family:inherit; transition:.18s ease;
  }
  .memo-card:hover:not(.flipped):not(.matched){ border-color:var(--blue); }
  .memo-card.flipped{ background:var(--card); border-color:var(--gold); color:var(--text); }
  .memo-card.matched{ background:rgba(74,222,128,0.14); border-color:var(--green); color:var(--text); cursor:default; }
  .memo-card[disabled]{ cursor:default; }

  .field-label{ display:block; font-size:12px; color:var(--muted); margin-bottom:8px; text-transform:uppercase; letter-spacing:1px; font-weight:700; }
  .text-input{
    width:100%; padding:14px 16px; border-radius:10px; border:1px solid var(--line);
    background:var(--bg2); color:var(--text); font-size:15px; font-family:inherit; box-sizing:border-box;
  }
  .text-input::placeholder{ color:var(--muted); }
  .text-input:focus{ outline:none; border-color:var(--blue); }
  .pick-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:8px; margin-bottom:4px; }
  .pick{
    padding:12px 10px; text-align:center; border-radius:10px; cursor:pointer;
    background:var(--bg2); border:1.5px solid var(--line); color:var(--text);
    font-weight:700; font-size:13px; font-family:inherit; transition:.15s ease;
    display:flex; flex-direction:column; align-items:center; gap:4px;
  }
  .pick-emoji{ font-size:20px; }
  .pick:hover{ border-color:var(--blue); background:rgba(59,130,246,.08); }
  .pick.picked{ background:rgba(255,200,87,0.14); border-color:var(--gold); color:var(--gold); }
  /* Position hint bubble */
  .kx-pos-hint{ display:none; padding:10px 13px; border-radius:10px; margin-bottom:10px;
    background:rgba(255,200,87,.09); border:1px solid rgba(255,200,87,.28);
    font-size:12px; color:var(--text); line-height:1.5; animation:pop-in .35s cubic-bezier(.17,.67,.38,1.3); }
  .kx-pos-hint.visible{ display:flex; flex-direction:column; gap:3px; }
  .kx-hint-badge{ font-size:10px; font-weight:800; color:var(--gold); text-transform:uppercase; letter-spacing:.8px; }
  .kx-pos-hint strong{ font-size:15px; font-weight:900; color:var(--gold); letter-spacing:.5px; }
  .kx-hint-tip{ font-size:11px; color:var(--muted); }
  /* More countries button */
  .kx-more-countries-btn{ width:100%; padding:8px 14px; border-radius:8px; cursor:pointer;
    background:rgba(255,255,255,.05); border:1px dashed rgba(255,255,255,.25);
    color:var(--text); font-size:12px; font-weight:700; font-family:inherit;
    transition:.15s; margin-top:5px; display:flex; align-items:center; justify-content:center; gap:6px; }
  .kx-more-countries-btn:hover{ border-color:var(--blue); background:rgba(59,130,246,.08); }
  .kx-arr-dn, .kx-arr-up{ font-size:11px; color:var(--gold); }
  .kx-extra-countries{ display:none; margin-top:6px; }
  .kx-extra-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:6px; }
  .attr-row{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
  .attr-name{ width:84px; flex-shrink:0; font-size:13px; font-weight:700; color:var(--muted); }
  .attr-bar{ flex:1; height:10px; background:var(--bg2); border-radius:6px; overflow:hidden; }
  .attr-fill{ height:100%; background:var(--blue); border-radius:6px; transition:width .25s ease; }
  .attr-val{ width:30px; text-align:right; font-family:var(--mono); font-weight:800; font-size:14px; flex-shrink:0; }
  .stepper{ display:flex; gap:5px; flex-shrink:0; }
  .step-btn{
    width:26px; height:26px; border-radius:7px; border:1px solid var(--line); background:var(--bg2);
    color:var(--text); font-weight:800; cursor:pointer; font-family:inherit; font-size:15px;
    display:flex; align-items:center; justify-content:center; line-height:1; padding:0;
  }
  .step-btn:hover:not([disabled]){ border-color:var(--blue); }
  .step-btn[disabled]{ opacity:.3; cursor:default; }
  .points-note{ text-align:center; font-size:13px; color:var(--muted); margin:6px 0 20px; }
  .points-note b{ color:var(--gold); font-family:var(--mono); }
  .stage-card{
    background:var(--bg2); border:1px solid var(--line); border-radius:12px; padding:14px 18px; margin-bottom:16px;
  }
  .stage-card .stage-label{ font-weight:800; font-size:15px; margin-bottom:4px; }
  .stage-card .stage-rival{ font-size:13px; color:var(--muted); }

  /* --- Crack game animations --- */
  @keyframes flash-ok{
    0%{background:rgba(74,222,128,0);} 30%{background:rgba(74,222,128,0.38);} 100%{background:rgba(74,222,128,0.18);}
  }
  @keyframes shake{
    0%,100%{transform:translateX(0);} 15%{transform:translateX(-9px);} 30%{transform:translateX(9px);} 45%{transform:translateX(-6px);} 60%{transform:translateX(6px);} 75%{transform:translateX(-3px);}
  }
  @keyframes stage-in{
    from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);}
  }
  @keyframes pop-in{
    0%{transform:scale(.82);opacity:0;} 70%{transform:scale(1.05);} 100%{transform:scale(1);opacity:1;}
  }
  /* ── Energy Bar ── */
  .kx-energy{ display:flex; align-items:center; gap:8px; padding:3px 0 5px; }
  .kx-en-lbl{ font-size:11px; color:var(--muted); white-space:nowrap; width:64px; }
  .kx-en-track{ flex:1; height:5px; background:var(--line); border-radius:3px; overflow:hidden; }
  .kx-en-fill{ height:100%; border-radius:3px; transition:width .4s ease, background .5s ease; }
  .kx-en-val{ font-size:11px; font-family:var(--mono); min-width:28px; text-align:right; }

  /* ── Group Standings Table ── */
  .kx-group-table{ margin:12px 0 4px; animation:stage-in .4s ease; }
  .kx-gt-lbl{ font-size:10px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:7px; }
  .kx-gt-hdr{ display:grid; grid-template-columns:1fr 28px 28px 28px 34px; gap:2px; padding:0 8px 4px; }
  .kx-gt-hdr span{ font-size:9px; color:var(--muted); font-weight:700; text-transform:uppercase; text-align:center; }
  .kx-gt-hdr span:first-child{ text-align:left; }
  .kx-gt-row{ display:grid; grid-template-columns:1fr 28px 28px 28px 34px; align-items:center; gap:2px; padding:6px 8px; border-radius:8px; margin-bottom:4px; }
  .kx-gt-row.gt-player{ background:rgba(91,157,255,.15); border:1px solid rgba(91,157,255,.35); }
  .kx-gt-row.gt-other{ background:var(--card); border:1px solid var(--line); }
  .kx-gt-team{ display:flex; align-items:center; gap:5px; overflow:hidden; }
  .kx-gt-flag{ font-size:15px; flex-shrink:0; }
  .kx-gt-name{ font-size:11px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .kx-gt-cell{ text-align:center; font-size:11px; font-family:var(--mono); color:var(--muted); }
  .kx-gt-pts{ text-align:center; font-size:14px; font-weight:900; font-family:var(--mono); color:var(--gold); }
  .kx-gt-adv{ font-size:9px; color:var(--green); font-weight:800; margin-left:3px; vertical-align:middle; }
  .kx-gt-sim{ font-size:11px; color:var(--muted); margin-top:8px; padding:5px 10px; background:var(--card); border:1px solid var(--line); border-radius:7px; display:flex; align-items:center; justify-content:center; gap:6px; }

  /* ── Rival Preview ── */
  .kx-rp{ padding:20px 0 8px; text-align:center; animation:stage-in .4s ease; }
  .kx-rp-phase{ font-size:11px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:var(--blue); margin-bottom:10px; }
  .kx-rp-flag{ font-size:72px; line-height:1; margin-bottom:8px; animation:rp-pop .5s cubic-bezier(.17,.67,.38,1.4); }
  .kx-rp-name{ font-size:26px; font-weight:900; color:var(--text); margin-bottom:4px; }
  .kx-rp-str{ font-size:18px; margin-bottom:6px; letter-spacing:3px; }
  .kx-rp-star{ font-size:18px; color:var(--gold); }
  .kx-rp-player{ font-size:13px; color:var(--muted); margin-bottom:6px; }
  .kx-rp-player strong{ color:var(--text); }
  .kx-rp-desc{ font-size:12px; color:var(--muted); line-height:1.45; max-width:280px; margin:0 auto 16px; }
  .kx-rp-susp{ background:rgba(239,68,68,.18); border:1px solid var(--red); color:var(--red); font-weight:800; font-size:12px; letter-spacing:1.5px; padding:6px 14px; border-radius:8px; margin-bottom:12px; display:inline-block; }
  @keyframes rp-pop{from{transform:scale(.4) rotate(-10deg);opacity:0;}to{transform:scale(1) rotate(0);opacity:1;}}
  .kx-rp-progress{ height:3px; background:var(--line); border-radius:2px; margin:12px 0 8px; overflow:hidden; }
  .kx-rp-progress-bar{ height:100%; background:var(--blue); border-radius:2px; width:100%; transform-origin:left; animation:rp-drain 4s linear forwards; }
  @keyframes rp-drain{from{transform:scaleX(1);}to{transform:scaleX(0);}}

  /* ── Yellow card HUD pill ── */
  .kx-yc-pill{ display:inline-flex; align-items:center; gap:5px; background:rgba(245,197,24,.15); border:1px solid rgba(245,197,24,.35); border-radius:20px; padding:3px 10px; font-size:11px; font-weight:800; color:var(--gold); }
  .kx-yc-dot{ width:8px; height:8px; border-radius:1px; background:var(--gold); display:inline-block; }

  /* ── Champion celebration overlay ── */
  #k-champ-ov{ position:fixed; inset:0; background:rgba(0,0,0,.92); z-index:9999; display:none; overflow-y:auto; }
  #k-champ-ov.show{ display:flex; flex-direction:column; align-items:center; justify-content:flex-start; padding:24px 16px 40px; }
  .kx-champ-trophy{ font-size:96px; animation:champ-trophy-in .8s cubic-bezier(.17,.67,.38,1.4); margin-bottom:8px; }
  @keyframes champ-trophy-in{from{transform:scale(0) rotate(-20deg);opacity:0;}60%{transform:scale(1.25) rotate(4deg);}to{transform:scale(1) rotate(0);opacity:1;}}
  .kx-champ-title{ font-size:22px; font-weight:900; color:var(--gold); text-align:center; margin-bottom:4px; line-height:1.2; max-width:320px; }
  .kx-champ-sub{ font-size:13px; color:var(--muted); text-align:center; margin-bottom:20px; }
  .kx-champ-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:8px; width:100%; max-width:340px; margin-bottom:20px; }
  .kx-champ-box{ background:var(--card); border:1px solid var(--line); border-radius:10px; padding:10px 6px; text-align:center; }
  .kx-champ-box-val{ font-size:28px; font-weight:900; font-family:var(--mono); color:var(--gold); line-height:1; }
  .kx-champ-box-lbl{ font-size:10px; color:var(--muted); text-transform:uppercase; letter-spacing:1px; margin-top:3px; }
  .kx-diff-btn{ background:var(--card); border:1px solid var(--line); border-radius:10px; padding:9px 4px; text-align:center; cursor:pointer; transition:.15s; font-family:inherit; color:var(--text); }
  .kx-diff-btn:hover{ border-color:var(--gold); }
  .kx-diff-btn.active{ border-color:var(--gold); background:rgba(201,168,74,.16); box-shadow:0 0 0 1px var(--gold) inset; }
  .kx-diff-ic{ font-size:18px; }
  .kx-diff-lb{ font-weight:800; font-size:.82rem; margin-top:2px; }
  .kx-diff-ds{ font-size:.6rem; color:var(--muted); text-transform:uppercase; letter-spacing:1px; margin-top:1px; }
  .kx-awards{ display:flex; flex-direction:column; gap:8px; margin:4px auto 16px; width:100%; max-width:340px; }
  .kx-award{ display:flex; align-items:center; gap:11px; background:linear-gradient(180deg,rgba(201,168,74,.16),rgba(201,168,74,.05)); border:1px solid rgba(201,168,74,.4); border-radius:12px; padding:9px 13px; text-align:left; }
  .kx-award-i{ font-size:24px; flex-shrink:0; }
  .kx-award-t{ font-weight:800; font-size:.96rem; color:var(--gold); }
  .kx-award-d{ font-size:.74rem; color:var(--muted); }
  .kx-rec-new{ color:#5fd998; font-weight:800; }
  .kx-score-banner{ margin:6px auto 10px; max-width:340px; background:linear-gradient(180deg,rgba(91,157,255,.14),rgba(20,30,45,.5)); border:1px solid rgba(91,157,255,.4); border-radius:14px; padding:12px; text-align:center; }
  .kx-score-banner.rec{ background:linear-gradient(180deg,rgba(95,217,152,.18),rgba(12,30,20,.5)); border-color:#3fa86a; }
  .kx-score-lbl{ font-size:10px; font-weight:700; letter-spacing:2px; color:var(--muted); text-transform:uppercase; }
  .kx-score-val{ font-size:34px; font-weight:900; color:var(--gold); font-family:var(--mono,monospace); line-height:1.1; }
  .kx-score-new{ font-size:.5em; color:#5fd998; font-weight:800; letter-spacing:1px; }
  .kx-score-best{ font-size:.74rem; color:var(--muted); margin-top:2px; }
  .kx-newch{ margin:4px auto 12px; max-width:340px; }
  .kx-newch-row{ background:rgba(201,168,74,.14); border:1px solid rgba(201,168,74,.4); border-radius:10px; padding:8px 12px; margin-bottom:6px; font-size:.84rem; color:var(--gold); text-align:left; }
  #k-player-preview.skin-plata{ box-shadow:0 0 0 2px #c0c7d0,0 0 22px rgba(192,199,208,.3); }
  #k-player-preview.skin-oro{ box-shadow:0 0 0 2px #f6d873,0 0 26px rgba(246,216,115,.4); }
  #k-player-preview.skin-diamante{ box-shadow:0 0 0 2px #7ee8e8,0 0 30px rgba(126,232,232,.5); }
  #k-player-preview.skin-leyenda{ box-shadow:0 0 0 3px #c9a84a,0 0 36px rgba(201,168,74,.65); }
  .kx-champ-history{ width:100%; max-width:340px; margin-bottom:20px; }
  .kx-champ-hist-title{ font-size:11px; font-weight:800; color:var(--muted); text-transform:uppercase; letter-spacing:1.5px; margin-bottom:8px; }
  .kx-champ-hist-row{ display:flex; align-items:center; gap:8px; padding:7px 10px; background:var(--card); border:1px solid var(--line); border-radius:8px; margin-bottom:5px; font-size:12px; }
  .kx-champ-hist-phase{ flex:0 0 90px; color:var(--muted); font-size:10px; text-transform:uppercase; letter-spacing:.8px; }
  .kx-champ-hist-score{ flex:0 0 54px; text-align:center; font-weight:900; font-family:var(--mono); }
  .kx-champ-hist-score.win{ color:var(--green); }
  .kx-champ-hist-score.draw{ color:var(--gold); }
  .kx-champ-hist-score.loss{ color:var(--red); }
  .kx-champ-hist-rating{ margin-left:auto; font-weight:800; color:var(--gold); font-family:var(--mono); }
  .kx-champ-hist-rival{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .kx-champ-actions{ display:flex; gap:10px; width:100%; max-width:340px; }
  .kx-champ-actions .btn,.kx-champ-actions .next-btn{ flex:1; }

  @keyframes spin-trophy{
    0%{transform:scale(0) rotate(-20deg);opacity:0;} 60%{transform:scale(1.15) rotate(5deg);opacity:1;} 100%{transform:scale(1) rotate(0);opacity:1;}
  }
  @keyframes confetti-drop{
    0%{transform:translateY(-20px) rotate(0deg);opacity:1;} 100%{transform:translateY(360px) rotate(720deg);opacity:0;}
  }
  /* === Cinematic GOL overlay === */
  @keyframes gol-bg-in{
    0%{opacity:0;} 12%{opacity:1;} 78%{opacity:1;} 100%{opacity:0;}
  }
  @keyframes gol-text-slam{
    0%{opacity:0;transform:scale(3.5) translateY(-24px);filter:blur(12px);}
    14%{opacity:1;transform:scale(1.12) translateY(0);filter:blur(0);
        text-shadow:-5px 0 rgba(255,30,80,.65),5px 0 rgba(30,100,255,.65),
                    0 0 70px rgba(255,200,87,.95),0 0 140px rgba(255,200,87,.35),0 2px 0 rgba(0,0,0,.6);}
    28%{transform:scale(1.04);
        text-shadow:-2px 0 rgba(255,30,80,.3),2px 0 rgba(30,100,255,.3),
                    0 0 70px rgba(255,200,87,.95),0 0 140px rgba(255,200,87,.35),0 2px 0 rgba(0,0,0,.6);}
    55%{opacity:1;transform:scale(1.02);
        text-shadow:0 0 70px rgba(255,200,87,.95),0 0 140px rgba(255,200,87,.35),0 2px 0 rgba(0,0,0,.6);}
    80%{opacity:1;transform:scale(1);}
    100%{opacity:0;transform:scale(1.4);filter:blur(6px);}
  }
  @keyframes gol-sub-in{
    0%{opacity:0;transform:translateY(18px) scale(.9);}
    22%{opacity:1;transform:translateY(0) scale(1);}
    78%{opacity:1;}
    100%{opacity:0;}
  }
  @keyframes gol-ring-out{
    0%{transform:scale(.1);opacity:1;}
    40%{opacity:.75;}
    100%{transform:scale(7);opacity:0;}
  }
  @keyframes gol-line-h{
    0%{transform:scaleX(0);opacity:.7;}
    60%{transform:scaleX(1);opacity:.5;}
    100%{transform:scaleX(1.4);opacity:0;}
  }
  @keyframes gol-line-v{
    0%{transform:scaleY(0);opacity:.7;}
    60%{transform:scaleY(1);opacity:.5;}
    100%{transform:scaleY(1.4);opacity:0;}
  }
  @keyframes kprt-fly{
    0%{transform:translate(0,0) scale(1);opacity:1;}
    100%{transform:translate(var(--tx,0px),var(--ty,-130px)) scale(0);opacity:0;}
  }
  @keyframes rival-gol-shake{
    0%,100%{transform:translateX(0) translateY(0);}
    10%{transform:translateX(-18px) translateY(-2px);}
    20%{transform:translateX(18px) translateY(2px);}
    30%{transform:translateX(-13px) translateY(-1px);}
    40%{transform:translateX(13px) translateY(1px);}
    52%{transform:translateX(-7px);}
    64%{transform:translateX(7px);}
    76%{transform:translateX(-3px);}
    88%{transform:translateX(3px);}
  }
  @keyframes card-fail-shake{
    0%,100%{transform:translateX(0);}
    12%{transform:translateX(-10px);}
    25%{transform:translateX(10px);}
    37%{transform:translateX(-7px);}
    50%{transform:translateX(7px);}
    62%{transform:translateX(-4px);}
    75%{transform:translateX(4px);}
  }
  @keyframes hot-aura{
    0%{box-shadow:0 0 0 rgba(255,120,50,0);border-color:var(--line);}
    50%{box-shadow:0 0 44px rgba(255,120,50,.55), 0 0 80px rgba(255,120,50,.22), inset 0 0 24px rgba(255,120,50,.1);border-color:rgba(255,120,50,.55);}
    100%{box-shadow:0 0 0 rgba(255,120,50,0);border-color:var(--line);}
  }
  @keyframes score-my-pop{
    0%{transform:scale(1);}
    18%{transform:scale(3.1) translateY(-3px);color:var(--gold);
        text-shadow:0 0 30px rgba(255,200,87,1),0 0 60px rgba(255,200,87,.6),0 0 100px rgba(255,200,87,.3);}
    38%{transform:scale(2.5);color:var(--gold);}
    60%{transform:scale(1.7);}
    80%{transform:scale(1.15);}
    100%{transform:scale(1);color:var(--text);text-shadow:none;}
  }
  @keyframes score-riv-pop{
    0%{transform:scale(1);}
    18%{transform:scale(3.1) translateY(-3px);color:var(--red);
        text-shadow:0 0 30px rgba(255,80,80,1),0 0 60px rgba(255,80,80,.6),0 0 100px rgba(255,80,80,.3);}
    38%{transform:scale(2.5);color:var(--red);}
    60%{transform:scale(1.7);}
    80%{transform:scale(1.15);}
    100%{transform:scale(1);color:var(--text);text-shadow:none;}
  }
  /* GOL overlay DOM */
  #k-gol-overlay{
    position:fixed;inset:0;z-index:10000;pointer-events:none;
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  }
  #k-gol-bg{
    position:absolute;inset:0;opacity:0;
    background:radial-gradient(ellipse at center, rgba(255,200,87,.08) 0%, rgba(0,0,0,.88) 60%);
  }
  .k-gol-ring{
    position:absolute;border-radius:50%;opacity:0;
    border:2px solid rgba(255,200,87,.65);
    width:80px;height:80px;
  }
  #k-gol-line-h{
    position:absolute;left:0;right:0;top:50%;height:1px;
    background:linear-gradient(90deg,transparent,rgba(255,200,87,.4),transparent);
    transform-origin:center;opacity:0;
  }
  #k-gol-line-v{
    position:absolute;top:0;bottom:0;left:50%;width:1px;
    background:linear-gradient(180deg,transparent,rgba(255,200,87,.4),transparent);
    transform-origin:center;opacity:0;
  }
  #k-gol-particles{position:absolute;inset:0;pointer-events:none;}
  .kprt{
    position:absolute;border-radius:50%;pointer-events:none;
    animation:kprt-fly var(--d,.8s) var(--del,0s) cubic-bezier(.22,.61,.36,1) forwards;
  }
  #k-gol-text{
    font-size:clamp(74px,16vw,108px);font-weight:900;color:var(--gold);
    text-shadow:0 0 70px rgba(255,200,87,.95),0 0 140px rgba(255,200,87,.35),0 2px 0 rgba(0,0,0,.6);
    opacity:0;position:relative;z-index:2;font-family:var(--sans);line-height:1;
    letter-spacing:-3px;
  }
  #k-gol-sub{
    font-size:15px;font-weight:800;color:rgba(255,255,255,.9);
    opacity:0;position:relative;z-index:2;letter-spacing:3px;text-transform:uppercase;
  }
  #k-gol-overlay.show #k-gol-bg{ animation:gol-bg-in 2.4s ease forwards; }
  #k-gol-overlay.show #k-gol-text{ animation:gol-text-slam 2.4s cubic-bezier(.16,1,.3,1) forwards; }
  #k-gol-overlay.show #k-gol-sub{ animation:gol-sub-in 2.4s .12s ease forwards; }
  #k-gol-overlay.show #k-gol-line-h{ animation:gol-line-h .7s ease forwards; }
  #k-gol-overlay.show #k-gol-line-v{ animation:gol-line-v .7s ease forwards; }
  #k-gol-overlay.show .k-gol-ring:nth-child(1){ animation:gol-ring-out .80s cubic-bezier(.2,.6,.4,1) forwards; }
  #k-gol-overlay.show .k-gol-ring:nth-child(2){ animation:gol-ring-out .95s .10s cubic-bezier(.2,.6,.4,1) forwards; }
  #k-gol-overlay.show .k-gol-ring:nth-child(3){ animation:gol-ring-out 1.10s .22s cubic-bezier(.2,.6,.4,1) forwards; }
  #k-gol-overlay.show .k-gol-ring:nth-child(4){ animation:gol-ring-out 1.25s .36s cubic-bezier(.2,.6,.4,1) forwards; }
  #k-gol-overlay.show .k-gol-ring:nth-child(5){ animation:gol-ring-out 1.40s .50s cubic-bezier(.2,.6,.4,1) forwards; }
  /* Hot aura on match card */
  #k-match.hot-streak{ animation:hot-aura 1.2s ease-in-out infinite; }
  /* Card shake on fail */
  .card-fail-shake{ animation:card-fail-shake 0.5s ease !important; }
  /* Score special bumps */
  .kx-snum.bump-my{ animation:score-my-pop .6s cubic-bezier(.17,.67,.38,1.5) !important; }
  .kx-snum.bump-riv{ animation:score-riv-pop .6s cubic-bezier(.17,.67,.38,1.5) !important; }
  /* VAR result flash */
  .kx-snum.var-flash-ok{ animation:var-flash-ok 1.2s ease !important; }
  .kx-snum.var-flash-bad{ animation:var-flash-bad 1.2s ease !important; }
  @keyframes var-flash-ok{
    0%,100%{ color:var(--text); text-shadow:none; }
    20%,60%{ color:#00e676; text-shadow:0 0 18px #00e676, 0 0 36px #00e67680; transform:scale(1.3); }
  }
  @keyframes var-flash-bad{
    0%,100%{ color:var(--text); text-shadow:none; }
    20%,60%{ color:#ff4757; text-shadow:0 0 18px #ff4757, 0 0 36px #ff475780; transform:scale(1.3); }
  }
  /* === Enhanced animations === */
  @keyframes ripple-burst{
    0%{transform:scale(0);opacity:.45;} 100%{transform:scale(4);opacity:0;}
  }
  @keyframes screen-pulse-ok{
    0%,100%{opacity:0;} 20%{opacity:1;} 60%{opacity:.4;}
  }
  @keyframes screen-pulse-bad{
    0%,100%{opacity:0;} 15%{opacity:1;} 50%{opacity:.3;}
  }
  @keyframes feedback-ok-in{
    0%{transform:translateY(10px) scale(.95);opacity:0;}
    55%{transform:translateY(-3px) scale(1.025);opacity:1;}
    78%{transform:translateY(1px) scale(.998);}
    100%{transform:translateY(0) scale(1);opacity:1;}
  }
  @keyframes feedback-bad-in{
    0%{transform:translateX(-14px) scale(.96);opacity:0;}
    45%{transform:translateX(5px) scale(1.01);opacity:1;}
    65%{transform:translateX(-2px);}
    82%{transform:translateX(1px);}
    100%{transform:translateX(0);opacity:1;}
  }
  @keyframes mom-hot-pulse{
    0%,100%{transform:scale(1);box-shadow:0 0 10px rgba(255,200,87,.9);background:var(--gold);}
    50%{transform:scale(1.55);box-shadow:0 0 26px rgba(255,200,87,1),0 0 48px rgba(255,200,87,.35);background:#fff080;}
  }
  @keyframes choice-deal{
    0%{transform:translateY(28px) scale(.92);opacity:0;filter:blur(2px);}
    55%{transform:translateY(-5px) scale(1.03);opacity:1;filter:blur(0);}
    75%{transform:translateY(2px) scale(.99);}
    100%{transform:translateY(0) scale(1);opacity:1;}
  }
  @keyframes play-badge-in{
    0%{transform:scale(0) rotate(-18deg);opacity:0;filter:blur(4px);}
    50%{transform:scale(1.22) rotate(4deg);opacity:1;filter:blur(0);}
    68%{transform:scale(.94) rotate(-1deg);}
    82%{transform:scale(1.06) rotate(1deg);}
    100%{transform:scale(1) rotate(0);opacity:1;}
  }
  @keyframes badge-ring-pulse{
    0%  {box-shadow:0 0 0 0 var(--ring-c,rgba(255,200,87,.8));}
    40% {box-shadow:0 0 0 10px var(--ring-c,rgba(255,200,87,.3));}
    70% {box-shadow:0 0 0 18px transparent;}
    100%{box-shadow:0 0 0 0 transparent;}
  }
  @keyframes badge-ring-pulse2{
    0%  {box-shadow:0 0 0 0 var(--ring-c,rgba(255,200,87,.6));}
    100%{box-shadow:0 0 0 28px transparent;}
  }
  @keyframes moment-card-in{
    0%{transform:translateY(26px) scale(.94);opacity:0;clip-path:inset(16px 0 0 0 round 14px);}
    52%{transform:translateY(-6px) scale(1.02);opacity:1;clip-path:inset(0 0 0 0 round 14px);}
    72%{transform:translateY(2px) scale(.997);}
    100%{transform:translateY(0) scale(1);opacity:1;clip-path:none;}
  }
  /* Screen flash overlay */
  #k-flash-overlay{
    position:fixed;inset:0;pointer-events:none;z-index:9999;border-radius:0;
  }
  #k-flash-overlay.ok{ background:rgba(74,222,128,.22); animation:screen-pulse-ok .8s ease forwards; }
  #k-flash-overlay.bad{ background:rgba(255,107,107,.2); animation:screen-pulse-bad .6s ease forwards; }

  /* ═══════════════════════════════════════════
     CINEMATIC PLAY SCENE OVERLAY
  ═══════════════════════════════════════════ */
  #k-sc-ov{position:fixed;inset:0;z-index:9998;pointer-events:none;display:none;align-items:center;justify-content:center;flex-direction:column;}
  #k-sc-ov.on{display:flex;animation:scn-bg 1.55s ease forwards;}
  @keyframes scn-bg{0%{background:rgba(0,0,0,0);}11%{background:rgba(0,0,0,.92);}80%{background:rgba(0,0,0,.92);}100%{background:rgba(0,0,0,0);}}
  .k-sc{position:absolute;inset:0;display:none;align-items:center;justify-content:center;flex-direction:column;gap:8px;}
  .k-sc.on{display:flex;}
  .k-sc svg{width:min(300px,86vw);height:auto;overflow:visible;filter:drop-shadow(0 4px 22px rgba(0,0,0,.65));}
  .k-sc-lbl{font:900 22px/1 var(--sans);letter-spacing:2.5px;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.95);animation:scn-lbl 1.55s ease forwards;}
  @keyframes scn-lbl{0%{opacity:0;transform:translateY(14px);}20%{opacity:1;transform:translateY(0);}76%{opacity:1;}100%{opacity:0;transform:translateY(-5px);}}
  /* ── Ball goal trajectories ── */
  @keyframes gb-tl{0%{transform:translate(0,0) scale(1);}74%{transform:translate(-102px,-134px) scale(.25);}84%{transform:translate(-97px,-126px) scale(.28);}100%{transform:translate(-99px,-130px) scale(.26);}}
  @keyframes gb-tr{0%{transform:translate(0,0) scale(1);}74%{transform:translate(102px,-134px) scale(.25);}84%{transform:translate(97px,-126px) scale(.28);}100%{transform:translate(99px,-130px) scale(.26);}}
  @keyframes gb-bl{0%{transform:translate(0,0) scale(1);}74%{transform:translate(-67px,-73px) scale(.44);}84%{transform:translate(-61px,-67px) scale(.48);}100%{transform:translate(-64px,-70px) scale(.46);}}
  @keyframes gb-br{0%{transform:translate(0,0) scale(1);}74%{transform:translate(67px,-73px) scale(.44);}84%{transform:translate(61px,-67px) scale(.48);}100%{transform:translate(64px,-70px) scale(.46);}}
  @keyframes gb-mc{0%{transform:translate(0,0) scale(1);}74%{transform:translate(0,-95px) scale(.28);}84%{transform:translate(0,-88px) scale(.32);}100%{transform:translate(0,-92px) scale(.30);}}
  @keyframes gb-corner-glow{0%{opacity:0;r:8;}40%{opacity:.9;r:18;}100%{opacity:0;r:10;}}
  /* ── Miss ── */
  @keyframes gb-miss-l{from{transform:translate(0,0) scale(1);opacity:1;}to{transform:translate(-165px,-82px) scale(.14);opacity:.08;}}
  @keyframes gb-miss-r{from{transform:translate(0,0) scale(1);opacity:1;}to{transform:translate(165px,-82px) scale(.14);opacity:.08;}}
  @keyframes gb-miss-h{from{transform:translate(0,0) scale(1);opacity:1;}to{transform:translate(10px,-188px) scale(.09);opacity:.06;}}
  @keyframes gb-post{0%{transform:translate(0,0) scale(1);}55%{transform:translate(-57px,-100px) scale(.34);}68%{transform:translate(-50px,-92px) scale(.38);}100%{transform:translate(-18px,-74px) scale(.31);opacity:.3;}}
  /* ── Net & flash ── */
  @keyframes net-rip{0%,100%{transform:scale(1);}27%{transform:scale(1.05,.91);}58%{transform:scale(.97,1.07);}}
  @keyframes imp-flash{0%,100%{opacity:0;}17%{opacity:.65;}}
  /* ── Keeper dive ── */
  @keyframes kp-r{from{transform:translate(0,0) rotate(0);}to{transform:translate(76px,18px) rotate(92deg);}}
  @keyframes kp-l{from{transform:translate(0,0) rotate(0);}to{transform:translate(-76px,18px) rotate(-92deg);}}
  @keyframes kp-ball-r{from{transform:translate(0,0) scale(1);}to{transform:translate(62px,-68px) scale(.3) rotate(210deg);}}
  @keyframes kp-ball-l{from{transform:translate(0,0) scale(1);}to{transform:translate(-62px,-68px) scale(.3) rotate(-210deg);}}
  @keyframes kp-ball-in-r{from{transform:translate(0,0) scale(1);}to{transform:translate(62px,-80px) scale(.3);}}
  @keyframes kp-ball-in-l{from{transform:translate(0,0) scale(1);}to{transform:translate(-62px,-80px) scale(.3);}}
  /* ── Tackle ── */
  @keyframes def-slide{from{transform:translate(0,0) rotate(0);}to{transform:translate(66px,4px) rotate(38deg);}}
  @keyframes att-stumble{0%{transform:none;}50%{transform:translate(10px,-14px) rotate(-20deg);}100%{transform:translate(16px,3px) rotate(-50deg);}}
  @keyframes ball-tackled{from{transform:translate(0,0) scale(1);}to{transform:translate(-82px,-65px) scale(.4);}}
  @keyframes ball-miss-by{from{transform:translate(0,0);}to{transform:translate(105px,8px) scale(.9);}}
  @keyframes drib-ball{0%{transform:translate(-110px,0)}30%{transform:translate(-34px,-12px)}55%{transform:translate(28px,12px)}80%{transform:translate(78px,-8px)}100%{transform:translate(120px,2px)}}
  @keyframes drib-defL{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(-22px,7px) rotate(-26deg)}}
  @keyframes drib-defR{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(20px,8px) rotate(28deg)}}
  @keyframes hdr-ball{0%{transform:translate(82px,-66px) scale(.8)}55%{transform:translate(0,0) scale(1)}100%{transform:translate(-92px,-34px) scale(.5)}}
  @keyframes hdr-jump{0%{transform:translateY(0)}45%{transform:translateY(-24px)}100%{transform:translateY(-9px)}}
  @keyframes tb-ball{0%{transform:translate(-120px,0)}100%{transform:translate(124px,-6px) scale(.7)}}
  @keyframes tb-run{0%{transform:translate(0,0)}100%{transform:translate(30px,-6px)}}
  @keyframes steal-def{0%{transform:translate(0,0) rotate(0)}55%{transform:translate(-22px,5px) rotate(-20deg)}100%{transform:translate(6px,0) rotate(0)}}
  @keyframes steal-ball{0%{transform:translate(0,0) scale(1)}100%{transform:translate(122px,-28px) scale(.65)}}
  /* ── Clearance/header ── */
  @keyframes def-head{0%{transform:translateY(0);}36%{transform:translateY(-28px);}100%{transform:translateY(0);}}
  @keyframes ball-headed{from{transform:translate(0,0) scale(1);}to{transform:translate(-108px,-84px) scale(.36);}}
  @keyframes ball-drop-in{0%{transform:translate(0,-65px) scale(.6);}100%{transform:translate(0,0) scale(1);}}
  /* ── Card ── */
  @keyframes card-in{0%{transform:scale(0) rotate(-28deg);opacity:0;}56%{transform:scale(1.2) rotate(4deg);opacity:1;}77%{transform:scale(.93) rotate(-1deg);}100%{transform:scale(1) rotate(0);opacity:1;}}
  @keyframes ref-raise{0%{transform:rotate(0);}42%{transform:rotate(-40deg);}100%{transform:rotate(-40deg);}}
  /* ── Corner ── */
  @keyframes corner-arc{0%{transform:translate(0,0) scale(1);}44%{transform:translate(86px,-44px) scale(.72);}100%{transform:translate(190px,22px) scale(.48);}}
  /* ── Rival goal ── */
  @keyframes riv-gb{from{transform:translate(0,0) scale(1);}to{transform:translate(0,-92px) scale(.29);}}

  /* Button ripple */
  .kx-ob{ position:relative; overflow:hidden; }
  .kx-ripple{
    position:absolute; border-radius:50%; pointer-events:none;
    background:rgba(255,255,255,.22); transform:scale(0);
    animation:ripple-burst .55s linear;
  }
  /* Choice deal-in — staggered, each one a bit later + longer */
  .kx-ob{ animation:choice-deal .38s cubic-bezier(.17,.67,.38,1.3) both; }
  .kx-ob:nth-child(2){ animation-delay:.11s; }
  .kx-ob:nth-child(3){ animation-delay:.22s; }
  /* SVG stat icons inside kx-icon */
  .kx-icon svg{ width:22px;height:22px;display:block; }
  /* SVG stat icons inside upgrade panel attribute names */
  .kx-up-name svg{ width:15px;height:15px;display:inline-block;vertical-align:middle;margin-right:5px;opacity:.8; }
  /* Play result badge */
  .kx-play-badge{
    display:inline-flex;align-items:center;justify-content:center;
    width:58px;height:58px;border-radius:50%;position:relative;
    animation:play-badge-in .55s cubic-bezier(.17,.67,.38,1.4) both;
  }
  .kx-play-badge svg{ width:28px;height:28px;display:block; }
  .kx-play-badge.gol{
    background:rgba(255,200,87,.18);border:2px solid var(--gold);
    box-shadow:0 0 20px rgba(255,200,87,.3);
    --ring-c:rgba(255,200,87,.75);
    animation:play-badge-in .6s cubic-bezier(.17,.67,.38,1.4) both, badge-ring-pulse .9s .55s ease, badge-ring-pulse2 1.2s .55s ease;
  }
  .kx-play-badge.asistencia{
    background:rgba(91,157,255,.18);border:2px solid var(--blue);
    box-shadow:0 0 18px rgba(91,157,255,.25);
    --ring-c:rgba(91,157,255,.75);
    animation:play-badge-in .6s cubic-bezier(.17,.67,.38,1.4) both, badge-ring-pulse .9s .55s ease, badge-ring-pulse2 1.2s .55s ease;
  }
  .kx-play-badge.defensa{
    background:rgba(74,222,128,.18);border:2px solid var(--green);
    box-shadow:0 0 18px rgba(74,222,128,.25);
    --ring-c:rgba(74,222,128,.75);
    animation:play-badge-in .6s cubic-bezier(.17,.67,.38,1.4) both, badge-ring-pulse .9s .55s ease, badge-ring-pulse2 1.2s .55s ease;
  }
  .kx-play-badge.jugada{ background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.3); animation:play-badge-in .6s cubic-bezier(.17,.67,.38,1.4) both; }
  .kx-play-badge.fail{
    background:rgba(255,107,107,.15);border:2px solid var(--red);
    box-shadow:0 0 16px rgba(255,107,107,.2);
    animation:play-badge-in .6s cubic-bezier(.17,.67,.38,1.4) both;
  }
  /* Feedback animations handled in .kx-fb.ok/.bad rules above */
  /* Enhanced success/fail states */
  .kx-ob.correct{
    box-shadow:0 0 28px rgba(74,222,128,.38), 0 0 56px rgba(74,222,128,.14), inset 0 0 10px rgba(74,222,128,.12);
    border-color:rgba(74,222,128,.7)!important;
  }
  .kx-ob.wrong{
    box-shadow:0 0 24px rgba(255,107,107,.32), inset 0 0 8px rgba(255,107,107,.08);
    border-color:rgba(255,107,107,.7)!important;
  }
  /* Choice button hover lift */
  .kx-ob:not([disabled]):hover{
    transform:translateY(-2px) scale(1.012);
    box-shadow:0 6px 22px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.08);
  }
  /* Play type text pop-in */
  .kx-play-type{ animation:play-type-in .4s .3s cubic-bezier(.17,.67,.38,1.4) both; }
  @keyframes play-type-in{
    0%{opacity:0;transform:translateY(6px) scale(.88);letter-spacing:0;}
    60%{opacity:1;transform:translateY(-1px) scale(1.04);}
    100%{opacity:1;transform:translateY(0) scale(1);}
  }
  /* Momentum hot pulse */
  .kx-mom-pip.hot{ animation:mom-hot-pulse 1.3s ease-in-out infinite; }
  /* (removed .kx-play-icon.big — replaced by .kx-play-badge) */
  /* Moment card entrance */
  .k-stage-in{ animation:moment-card-in .4s cubic-bezier(.17,.67,.38,1.2) !important; }
  .opt.correct{ animation:flash-ok .5s ease forwards; }
  .opt.wrong{ animation:shake .4s ease; }
  .k-stage-in{ animation:stage-in .35s ease; }
  .k-result-pop{ animation:pop-in .4s cubic-bezier(.17,.67,.38,1.3); }
  .k-trophy-spin{ font-size:48px; display:block; margin-bottom:8px; animation:spin-trophy .7s cubic-bezier(.17,.67,.38,1.4); }
  .k-event-card{
    background:rgba(255,200,87,0.08); border:1.5px solid var(--gold);
    border-radius:12px; padding:14px 18px; margin-bottom:16px;
    animation:stage-in .3s ease;
  }
  .k-event-label{
    font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:1.5px;
    color:var(--gold); margin-bottom:6px;
  }
  .k-event-title{ font-weight:700; font-size:15px; }
  .k-confetti{ position:fixed; top:0; left:0; width:100%; height:100%; pointer-events:none; z-index:9999; overflow:hidden; }
  .k-confetti span{ position:absolute; top:-10px; width:8px; height:14px; border-radius:2px; animation:confetti-drop linear forwards; }

  /* =====================================================
     CREA TU CRACK — RICH UI REDESIGN (kx- prefix)
  ===================================================== */
  .kx-header{
    background:linear-gradient(135deg, rgba(91,157,255,0.12) 0%, rgba(255,200,87,0.08) 100%);
    border-bottom:1px solid var(--line); padding:20px 22px 14px; text-align:center;
  }
  .kx-header-title{ font-size:20px; font-weight:900; letter-spacing:-.3px; }
  .kx-header-sub{ font-size:11px; color:var(--muted); margin-top:3px; text-transform:uppercase; letter-spacing:1.5px; }
  .kx-hud{
    display:none; background:rgba(0,0,0,0.3); border-bottom:1px solid var(--line);
    padding:10px 20px;
  }
  .kx-hud.on{ display:grid; grid-template-columns:repeat(3,1fr); }
  .kx-hud-cell{ text-align:center; }
  .kx-hud-val{ display:block; font-size:22px; font-weight:900; font-family:var(--mono); }
  .kx-hud-val.gold{ color:var(--gold); }
  .kx-hud-val.sky{ color:var(--blue); }
  .kx-hud-lbl{ font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:1.5px; }
  .kx-body{ padding:22px 20px; }

  /* Tournament progress */
  .kx-prog{ display:flex; align-items:flex-start; margin-bottom:22px; }
  .kx-ps{ display:flex; flex-direction:column; align-items:center; gap:4px; flex:1; position:relative; }
  .kx-ps:not(:first-child)::before{
    content:''; position:absolute; top:11px; right:50%; left:-50%;
    height:2px; background:var(--line); z-index:0;
  }
  .kx-ps.done:not(:first-child)::before{ background:var(--gold); }
  .kx-ps.now:not(:first-child)::before{ background:var(--blue); }
  .kx-pd{
    width:22px; height:22px; border-radius:50%; border:2px solid var(--line);
    background:var(--bg2); display:flex; align-items:center; justify-content:center;
    font-size:8px; position:relative; z-index:1; transition:.25s ease; font-weight:800;
  }
  .kx-ps.done .kx-pd{ background:var(--gold); border-color:var(--gold); color:var(--bg); }
  .kx-ps.now .kx-pd{ background:var(--blue); border-color:var(--blue); color:#fff; box-shadow:0 0 14px rgba(91,157,255,0.7); }
  .kx-pl{ font-size:8px; color:var(--muted); text-align:center; line-height:1.2; max-width:42px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .kx-ps.done .kx-pl{ color:rgba(255,200,87,0.6); }
  .kx-ps.now .kx-pl{ color:var(--text); font-weight:700; }

  /* VS pitch card */
  .kx-vs{
    border-radius:16px; overflow:hidden; margin-bottom:16px; position:relative;
    background:
      radial-gradient(circle at 50% 50%, transparent 34px, rgba(255,255,255,0.06) 34px, rgba(255,255,255,0.06) 36px, transparent 36px),
      radial-gradient(circle at 50% 50%, rgba(255,255,255,0.15) 3px, transparent 3px),
      linear-gradient(180deg, transparent 48%, rgba(255,255,255,0.06) 48%, rgba(255,255,255,0.06) 52%, transparent 52%),
      repeating-linear-gradient(90deg, transparent 0, transparent 20px, rgba(255,255,255,0.018) 20px, rgba(255,255,255,0.018) 40px),
      linear-gradient(145deg, #0e2610 0%, #061207 100%);
    border:1px solid rgba(74,222,128,0.25);
    animation:stage-in .35s ease;
  }
  .kx-vs-grid{
    display:grid; grid-template-columns:1fr 72px 1fr; align-items:center;
    gap:6px; padding:16px 12px; position:relative; z-index:1;
  }
  .kx-side{ text-align:center; }
  .kx-bigflag{ font-size:36px; line-height:1; display:block; margin-bottom:5px; }
  .kx-tname{ font-weight:800; font-size:12px; line-height:1.25; }
  .kx-tsub{ font-size:10px; color:rgba(255,255,255,0.45); margin-top:3px; }
  .kx-stars{ display:flex; justify-content:center; gap:1px; margin-top:4px; font-size:9px; }
  .kx-star-lit{ filter:drop-shadow(0 0 2px rgba(255,200,87,0.9)); }
  .kx-star-dim{ opacity:.3; }
  .kx-vs-mid{ text-align:center; }
  .kx-vs-badge{
    background:rgba(255,200,87,0.15); border:1.5px solid rgba(255,200,87,0.45);
    color:var(--gold); font-weight:900; font-size:11px; letter-spacing:2px;
    border-radius:7px; padding:5px 7px; display:inline-block; margin-bottom:5px;
  }
  .kx-phase{ font-size:8px; color:rgba(255,255,255,0.4); text-transform:uppercase; letter-spacing:1.5px; line-height:1.4; }

  /* Moment narrative */
  .kx-moment{
    background:rgba(255,255,255,0.04); border:1px solid var(--line);
    border-radius:12px; padding:14px 16px; margin-bottom:14px;
  }
  .kx-min-tag{
    font-size:10px; font-weight:800; color:var(--blue); text-transform:uppercase;
    letter-spacing:1.5px; margin-bottom:5px;
  }
  .kx-ntext{ font-size:15px; font-weight:600; line-height:1.5; }

  /* Rich option buttons */
  .kx-opts{ display:grid; gap:9px; }
  .kx-ob{
    display:grid; grid-template-columns:44px 1fr 50px; align-items:center; gap:10px;
    padding:12px 14px; border-radius:12px; cursor:pointer; width:100%;
    background:rgba(255,255,255,0.04); border:1.5px solid var(--line); color:var(--text);
    font-family:inherit; text-align:left; transition:.18s ease; position:relative; overflow:hidden;
  }
  .kx-ob:hover:not([disabled]){
    border-color:var(--gold); background:rgba(255,200,87,0.11);
    transform:translateY(-5px) scale(1.015); box-shadow:0 10px 32px rgba(255,200,87,0.28);
  }
  .kx-ob:hover:not([disabled]) .kx-icon{
    background:rgba(255,200,87,0.18);border-color:rgba(255,200,87,0.4);
    transform:scale(1.1);
  }
  .kx-ob[disabled]{ cursor:default; }
  .kx-ob.correct{ background:rgba(74,222,128,0.12); border-color:var(--green); animation:flash-ok .5s ease forwards; }
  .kx-ob.wrong{ background:rgba(255,107,107,0.12); border-color:var(--red); animation:shake .4s ease; }
  .kx-icon{
    width:44px; height:44px; border-radius:11px;
    background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.1);
    display:flex; align-items:center; justify-content:center; font-size:21px; flex-shrink:0;
    transition:.18s ease;
  }
  .kx-ob.correct .kx-icon{ background:rgba(74,222,128,0.22); border-color:rgba(74,222,128,0.5); }
  .kx-ob.wrong .kx-icon{ background:rgba(255,107,107,0.22); border-color:rgba(255,107,107,0.5); }
  .kx-txt{ font-size:13px; font-weight:600; line-height:1.4; }
  .kx-badge-stat{
    text-align:center; border-radius:8px; padding:5px 4px;
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); flex-shrink:0;
  }
  .kx-stat-name{ display:block; font-size:9px; font-weight:800; font-family:var(--mono); color:var(--muted); text-transform:uppercase; letter-spacing:.5px; }
  .kx-stat-num{ display:block; font-size:15px; font-weight:900; font-family:var(--mono); color:var(--text); }

  /* Play result pop */
  @keyframes play-pop{
    0%{transform:scale(0.3) rotate(-10deg);opacity:0;}
    60%{transform:scale(1.3) rotate(4deg);opacity:1;}
    80%{transform:scale(0.9);}
    100%{transform:scale(1) rotate(0);opacity:1;}
  }
  .kx-play-anim{ text-align:center; padding:10px 0 4px; display:none; }
  .kx-play-anim.show{ display:block; }
  .kx-play-icon{ display:flex; justify-content:center; align-items:center; min-height:58px; }
  .kx-play-type{
    font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:2px;
    margin-top:8px;
  }
  .kx-play-type.gol{ color:var(--gold); }
  .kx-play-type.asistencia{ color:var(--blue); }
  .kx-play-type.defensa{ color:var(--green); }
  .kx-play-type.jugada{ color:var(--muted); }
  .kx-play-type.fail{ color:var(--red); }

  /* Feedback */
  .kx-fb{
    border-radius:12px; padding:11px 16px; margin:6px 0 10px;
    font-size:14px; line-height:1.5; border:1px solid transparent; min-height:0;
  }
  .kx-fb:empty{ padding:0; border:none; margin:0; background:transparent!important; }
  .kx-fb.ok{
    background:linear-gradient(135deg, rgba(74,222,128,.13), rgba(74,222,128,.05));
    border-color:rgba(74,222,128,.35); color:#b8f0cc;
    box-shadow:0 0 20px rgba(74,222,128,.1), inset 0 0 12px rgba(74,222,128,.04);
    animation:feedback-ok-in .42s cubic-bezier(.17,.67,.38,1.3);
  }
  .kx-fb.bad{
    background:linear-gradient(135deg, rgba(255,107,107,.13), rgba(255,107,107,.05));
    border-color:rgba(255,107,107,.35); color:#ffbcbc;
    box-shadow:0 0 20px rgba(255,107,107,.1);
    animation:feedback-bad-in .38s ease;
  }

  /* Special event */
  .kx-ev{
    background:linear-gradient(135deg, rgba(255,200,87,0.11), rgba(255,168,0,0.05));
    border:1.5px solid rgba(255,200,87,0.5); border-radius:14px;
    padding:14px 16px; margin-bottom:14px;
    animation:pop-in .4s cubic-bezier(.17,.67,.38,1.3);
  }
  .kx-ev-type{ font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:2px; color:var(--gold); margin-bottom:5px; }
  .kx-ev-title{ font-size:15px; font-weight:700; line-height:1.4; }

  /* Setup FIFA card preview */
  @media(min-width:520px){
    .kx-setup-split{ display:grid; grid-template-columns:1fr 158px; gap:20px; align-items:start; }
  }
  .kx-card{
    background:linear-gradient(145deg, #1b2e58 0%, #0d1b38 55%, #050d20 100%);
    border:1px solid rgba(91,157,255,0.35); border-radius:16px;
    padding:16px 12px; text-align:center; position:sticky; top:0;
    box-shadow:0 8px 32px rgba(0,0,0,0.5), inset 0 0 0 1px rgba(91,157,255,0.08);
  }
  .kx-card-flag{ font-size:30px; margin-bottom:4px; }
  .kx-card-name{ font-size:11px; font-weight:800; min-height:26px; display:flex; align-items:center; justify-content:center; line-height:1.25; word-break:break-word; }
  .kx-card-pos{ font-size:9px; color:var(--blue); font-weight:800; text-transform:uppercase; letter-spacing:1.5px; margin:3px 0 8px; }
  .kx-card-ovr{ font-size:44px; font-weight:900; font-family:var(--mono); color:var(--gold); line-height:1; text-shadow:0 0 24px rgba(255,200,87,0.35); }
  .kx-card-ovr-lbl{ font-size:8px; color:var(--muted); text-transform:uppercase; letter-spacing:2px; margin-bottom:10px; }
  .kx-card-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:3px; }
  .kx-cs{ background:rgba(255,255,255,0.06); border-radius:6px; padding:5px 3px; text-align:center; transition:.2s; }
  .kx-cs.hi{ background:rgba(255,200,87,.12); }
  .kx-cs-v{ font-size:14px; font-weight:900; font-family:var(--mono); }
  .kx-cs.hi .kx-cs-v{ color:var(--gold); }
  .kx-cs-l{ font-size:7px; color:var(--muted); text-transform:uppercase; letter-spacing:.3px; }

  /* Country grid (setup) */
  .kx-country-btn{
    padding:10px 6px; border-radius:10px; cursor:pointer; text-align:center;
    background:var(--bg2); border:1.5px solid var(--line); color:var(--text);
    font-family:inherit; transition:.15s ease; font-weight:700; font-size:12px;
  }
  .kx-country-btn:hover{ border-color:var(--blue); }
  .kx-country-btn.picked{ background:rgba(255,200,87,0.12); border-color:var(--gold); color:var(--gold); }
  .kx-country-flag{ display:block; font-size:24px; margin-bottom:3px; }
  .kx-country-name{ font-size:11px; }

  /* Result */
  .kx-result{ display:none; }
  .kx-result.show{ display:block; animation:pop-in .4s cubic-bezier(.17,.67,.38,1.3); }
  .kx-rc{
    background:linear-gradient(145deg, #1b2e58 0%, #0d1b38 60%, #050d20 100%);
    border:1px solid rgba(91,157,255,0.3); border-radius:20px;
    padding:28px 20px; margin-bottom:16px; text-align:center;
  }
  .kx-r-flag{ font-size:46px; margin-bottom:8px; }
  .kx-r-name{ font-size:22px; font-weight:900; margin-bottom:5px; }
  .kx-r-outcome{ font-size:14px; color:var(--muted); margin-bottom:18px; line-height:1.5; }
  .kx-r-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:16px; }
  .kx-rbox{ background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:12px 6px; }
  .kx-rbox-val{ font-size:28px; font-weight:900; font-family:var(--mono); color:var(--gold); }
  .kx-rbox-lbl{ font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:1px; margin-top:2px; }
  .kx-r-rating{ font-size:50px; font-weight:900; font-family:var(--mono); color:var(--gold); text-shadow:0 0 30px rgba(255,200,87,0.4); margin:4px 0 2px; }
  .kx-r-rating-lbl{ font-size:11px; color:var(--muted); text-transform:uppercase; letter-spacing:2px; margin-bottom:12px; }
  .kx-r-story{ font-size:13px; color:var(--muted); line-height:1.65; }

  /* === Live score in VS card === */
  .kx-live-score{ display:flex; align-items:center; justify-content:center; gap:8px; padding:8px 0 0; }
  .kx-snum{ font-size:28px; font-weight:900; font-family:var(--mono); color:var(--text); line-height:1; transition:.3s ease; }
  .kx-snum.bump{ animation:pop-in .35s cubic-bezier(.17,.67,.38,1.5); }
  .kx-sdash{ font-size:14px; color:rgba(255,255,255,0.3); font-weight:700; }

  /* Momentum bar */
  .kx-momentum{
    display:flex; align-items:center; justify-content:center; gap:5px;
    margin-bottom:12px; min-height:22px;
  }
  .kx-mom-lbl{ font-size:9px; color:var(--muted); text-transform:uppercase; letter-spacing:1.5px; margin-right:3px; transition:.3s; }
  .kx-mom-lbl.hot{ color:var(--gold); font-weight:800; }
  .kx-mom-lbl.cold{ color:var(--red); font-weight:800; }
  .kx-active-bonus{ display:none; text-align:center; margin:6px 0 2px; }
  .kx-ab-chip{ display:inline-block; font-size:10px; font-weight:700; padding:3px 10px; border-radius:20px; letter-spacing:.5px; }
  .kx-ab-chip.good{ background:rgba(74,222,128,.15); color:var(--green); border:1px solid rgba(74,222,128,.4); }
  .kx-ab-chip.good-gold{ background:rgba(255,200,87,.15); color:var(--gold); border:1px solid rgba(255,200,87,.4); }
  .kx-ab-chip.bad{ background:rgba(255,107,107,.15); color:var(--red); border:1px solid rgba(255,107,107,.4); }
  .kx-ab-chip.perm{ background:rgba(139,92,246,.18); color:#c084fc; border:1px solid rgba(139,92,246,.4); }
  .kx-mom-pip{ width:9px; height:9px; border-radius:50%; background:var(--line); transition:.3s ease; flex-shrink:0; }
  .kx-mom-pip.hot{ background:var(--gold); box-shadow:0 0 8px rgba(255,200,87,.8); }
  .kx-mom-pip.hot.max{ animation:pip-pulse 0.9s ease-in-out infinite; }
  .kx-mom-pip.cold{ background:var(--red); opacity:.6; }
  @keyframes pip-pulse{ 0%,100%{box-shadow:0 0 6px rgba(255,200,87,.7);}50%{box-shadow:0 0 16px rgba(255,200,87,1),0 0 28px rgba(255,200,87,.4);} }
  /* EN RACHA badge on the play type label */
  .kx-play-type.racha{ color:var(--gold); }
  .kx-play-badge.racha{ background:linear-gradient(135deg,rgba(255,200,87,.25),rgba(255,165,0,.15)); border:1px solid rgba(255,200,87,.5); }

  /* Rival goal */
  @keyframes rgpop{
    0%{transform:scale(.4) translateY(8px);opacity:0;filter:blur(4px);}
    55%{transform:scale(1.08);opacity:1;filter:blur(0);}
    75%{transform:scale(.96);}
    100%{transform:scale(1);opacity:1;}
  }
  .kx-rg{
    display:none; background:linear-gradient(135deg,rgba(255,107,107,.14),rgba(255,60,60,.06));
    border:1.5px solid rgba(255,107,107,.55);
    border-radius:12px; padding:10px 14px; margin-bottom:10px;
    box-shadow:0 0 22px rgba(255,107,107,.12);
    text-align:center; animation:rgpop .52s cubic-bezier(.17,.67,.38,1.4);
  }
  .kx-rg.show{ display:block; }
  .kx-rg-icon{ font-size:28px; margin-bottom:2px; }
  .kx-rg-txt{ font-size:11px; font-weight:800; color:var(--red); text-transform:uppercase; letter-spacing:1.5px; }
  .kx-rg-name{ font-size:10px; color:rgba(255,107,107,.7); margin-top:1px; }

  /* Man of the match */
  .kx-motm{
    display:none; background:linear-gradient(135deg,rgba(255,200,87,.18),rgba(255,200,87,.05));
    border:1.5px solid var(--gold); border-radius:12px; padding:10px 14px;
    text-align:center; margin:8px 0; animation:pop-in .5s ease;
  }
  .kx-motm.show{ display:block; }
  .kx-motm-icon{ font-size:24px; }
  .kx-motm-txt{ font-size:11px; font-weight:800; color:var(--gold); text-transform:uppercase; letter-spacing:1.5px; margin-top:3px; }

  /* Score pulse on result */
  .kx-score-line{
    font-size:32px; font-weight:900; font-family:var(--mono); letter-spacing:4px;
    text-align:center; margin:6px 0 10px; color:var(--text);
  }
  .kx-score-line .win-num{ color:var(--green); }
  .kx-score-line .lose-num{ color:var(--red); }
  .kx-score-line .draw-num{ color:var(--gold); }

  footer{
    margin-top:48px; text-align:center; font-size:13px; color:var(--muted);
    border-top:1px solid var(--line); padding-top:26px;
  }
  footer a{ color:var(--gold); text-decoration:none; font-weight:700; }
  footer .made{ font-family:var(--mono); font-size:11px; margin-top:10px; opacity:.7; }

  /* === PRE-MATCH EVENT PANEL === */
  #k-prematch{ padding:4px 0 16px; animation:stage-in .4s ease; }
  .kx-pm-top{
    display:flex; align-items:center; gap:10px;
    margin-bottom:14px;
  }
  .kx-pm-cat{
    font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase;
    padding:4px 12px; border-radius:20px; white-space:nowrap;
  }
  .kx-pm-cat.prensa { background:rgba(91,157,255,.18); color:var(--blue); border:1px solid rgba(91,157,255,.35); }
  .kx-pm-cat.mercado{ background:rgba(255,200,87,.18); color:var(--gold); border:1px solid rgba(255,200,87,.35); }
  .kx-pm-cat.fisico { background:rgba(74,222,128,.18); color:var(--green); border:1px solid rgba(74,222,128,.35); }
  .kx-pm-cat.equipo { background:rgba(244,114,182,.18); color:#f472b6; border:1px solid rgba(244,114,182,.35); }
  .kx-pm-cat.personal{ background:rgba(167,139,250,.18); color:#a78bfa; border:1px solid rgba(167,139,250,.35); }
  .kx-pm-cat.rival  { background:rgba(255,107,107,.18); color:var(--red); border:1px solid rgba(255,107,107,.35); }
  .kx-pm-cat.agente { background:rgba(255,200,87,.18); color:var(--gold); border:1px solid rgba(255,200,87,.35); }
  .kx-pm-vs-mini{
    font-size:12px; color:var(--muted);
    background:var(--bg2); border:1px solid var(--line);
    border-radius:8px; padding:3px 10px; white-space:nowrap;
  }
  .kx-pm-title{
    font-size:16px; font-weight:700; line-height:1.4;
    margin-bottom:16px; color:var(--text);
  }
  .kx-pm-opts{ display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
  .kx-pm-opt{
    display:grid; grid-template-columns:auto 1fr auto;
    align-items:center; gap:10px;
    background:var(--bg2); border:1.5px solid var(--line);
    border-radius:12px; padding:12px 14px;
    cursor:pointer; transition:.15s; text-align:left;
  }
  .kx-pm-opt:hover:not(:disabled){ border-color:rgba(255,200,87,.5); background:rgba(255,200,87,.05); }
  .kx-pm-opt:disabled{ opacity:.45; cursor:not-allowed; }
  .kx-pm-opt.pm-ok { border-color:var(--green); background:rgba(74,222,128,.08); }
  .kx-pm-opt.pm-bad{ border-color:var(--red);   background:rgba(255,107,107,.08); }
  .kx-pm-opt-icon{ font-size:20px; line-height:1; }
  .kx-pm-opt-label{ font-size:14px; color:var(--text); font-weight:500; }
  .kx-pm-opt-stat{
    font-family:var(--mono); font-size:11px; font-weight:700;
    color:var(--muted); background:rgba(255,255,255,.06);
    padding:2px 7px; border-radius:6px; white-space:nowrap;
  }
  .kx-pm-result{
    display:none; margin:10px 0;
    border-radius:12px; padding:12px 16px;
    animation:stage-in .3s ease;
  }
  .kx-pm-result.ok { background:rgba(74,222,128,.12); border:1.5px solid var(--green); }
  .kx-pm-result.bad{ background:rgba(255,107,107,.12); border:1.5px solid var(--red); }
  .kx-pm-result-txt{ font-size:14px; color:var(--text); line-height:1.5; }
  .kx-pm-bonus{
    display:inline-flex; align-items:center; gap:5px;
    margin-top:8px; padding:4px 12px;
    border-radius:20px; font-size:12px; font-weight:700;
    font-family:var(--mono);
  }
  .kx-pm-bonus.good{ background:rgba(74,222,128,.2); color:var(--green); }
  .kx-pm-bonus.bad { background:rgba(255,107,107,.2); color:var(--red); }
  .kx-pm-bonus.none{ background:rgba(255,255,255,.08); color:var(--muted); }

  /* === UPGRADE PANEL === */
  #k-upgrade{ padding:4px 0 12px; animation:stage-in .4s ease; }
  /* ── Press Conference ── */
  #k-press-conf{ padding:16px 0 8px; animation:stage-in .4s ease; }
  .kx-pc-header{ font-size:.72em; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; margin-bottom:10px; }
  .kx-pc-q{ font-size:1.05em; font-weight:700; color:var(--text); margin-bottom:14px; line-height:1.4; }
  .kx-pc-opt{ width:100%; padding:12px 14px; background:var(--card); border:2px solid var(--line); border-radius:10px; color:var(--text); text-align:left; cursor:pointer; margin-bottom:8px; font-size:.9em; line-height:1.4; transition:border-color .18s,background .18s; }
  .kx-pc-opt:hover:not(:disabled){ border-color:var(--blue); background:rgba(100,180,255,.06); }
  .kx-pc-opt.chosen{ border-color:var(--green); background:rgba(0,200,100,.07); }
  .kx-pc-opt:disabled{ opacity:.55; cursor:default; }
  .kx-pc-result{ font-size:.88em; color:var(--green); margin-top:10px; padding:10px 12px; background:rgba(0,200,100,.07); border-radius:8px; display:none; }
  .kx-pc-bonus-tag{ display:inline-block; background:rgba(255,200,0,.18); color:var(--gold); border-radius:6px; padding:1px 7px; font-size:.8em; font-weight:700; margin-left:6px; }
  /* ── Commentary ── */
  .kx-commentator{ font-style:italic; font-size:.78em; color:var(--muted); margin-top:6px; padding-top:6px; border-top:1px solid var(--line); line-height:1.45; }
  /* ── Captain Band ── */
  .kx-captain-toast{ background:linear-gradient(135deg,rgba(255,190,0,.14),rgba(255,220,0,.06)); border:1px solid rgba(255,200,0,.45); border-radius:10px; padding:9px 13px; margin-top:8px; font-size:.82em; color:var(--gold); display:none; }
  .kx-captain-toast.show{ display:block; }
  #k-hud-captain{ display:none; font-size:.7em; background:rgba(255,190,0,.18); border:1px solid rgba(255,200,0,.4); border-radius:6px; padding:2px 8px; color:var(--gold); font-weight:700; }
  #k-hud-captain.show{ display:inline-block; }
  /* ── Achievement badges ── */
  .kx-achiev-grid{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin:14px 0 4px; }
  .kx-achiev-badge{ background:var(--card); border:1.5px solid var(--line); border-radius:10px; padding:8px 12px; font-size:.8em; text-align:center; min-width:80px; }
  .kx-achiev-badge.gold{ border-color:var(--gold); background:rgba(255,200,0,.09); }
  .kx-achiev-badge.silver{ border-color:#aaa; background:rgba(180,180,180,.08); }
  .kx-achiev-badge .ka-icon{ font-size:1.5em; display:block; margin-bottom:3px; }
  .kx-achiev-badge .ka-lbl{ font-size:.78em; color:var(--muted); }
  .kx-champ-achiev-hdr{ font-size:.75em; color:var(--muted); text-transform:uppercase; letter-spacing:.07em; margin:18px 0 6px; }
  .kx-up-header{ text-align:center; padding:12px 0 6px; }
  .kx-up-badge{
    display:inline-block;
    background:linear-gradient(135deg,var(--gold),#ff9d00);
    color:#000; font-weight:900; font-size:10px; letter-spacing:2.5px;
    text-transform:uppercase; padding:5px 16px; border-radius:20px;
  }
  .kx-up-pts{
    font-size:26px; font-weight:900; color:var(--gold);
    font-family:var(--mono); margin-top:6px;
  }
  .kx-up-pts-lbl{ font-size:12px; color:var(--muted); margin-top:2px; }
  .kx-up-earned{
    text-align:center; font-size:13px; color:var(--green);
    font-weight:600; margin:6px 0 14px;
  }
  .kx-up-attrs{ display:flex; flex-direction:column; gap:7px; padding:0 2px; }
  .kx-up-row{
    display:grid; grid-template-columns:1fr auto;
    align-items:center; gap:10px;
    background:var(--bg2); border:1px solid var(--line);
    border-radius:10px; padding:10px 12px;
    transition:border-color .2s;
  }
  .kx-up-row:hover{ border-color:rgba(255,200,87,.3); }
  .kx-up-name{ font-size:13px; color:var(--text); font-weight:600; margin-bottom:4px; }
  .kx-up-bar-wrap{
    height:5px; background:rgba(255,255,255,.1); border-radius:3px;
    position:relative; overflow:hidden;
  }
  .kx-up-bar-fill{
    height:100%; border-radius:3px;
    background:linear-gradient(90deg,var(--blue),var(--green));
    transition:width .3s ease;
  }
  .kx-up-stepper{ display:flex; align-items:center; gap:8px; }
  .kx-up-val{
    font-family:var(--mono); font-size:16px; font-weight:900;
    color:var(--gold); min-width:32px; text-align:center;
  }
  .kx-up-btn{
    width:30px; height:30px; border-radius:7px;
    border:1.5px solid var(--line); background:var(--card);
    color:var(--text); font-size:17px; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    transition:.15s;
  }
  .kx-up-btn:hover:not(:disabled){ background:var(--line); }
  .kx-up-btn:disabled{ opacity:.25; cursor:not-allowed; }
  .kx-up-ovr-line{
    text-align:center; margin:14px 0 8px;
    font-size:13px; color:var(--muted);
  }
  .kx-up-ovr-num{
    font-size:28px; font-weight:900; color:var(--text);
    font-family:var(--mono); display:inline-block;
  }
  .kx-up-ovr-num.bump{ animation:pop-in .4s cubic-bezier(.17,.67,.38,1.5); }

  /* === PENALTY MINI-GAME === */
  @keyframes ball-fly{
    0%{transform:translate(0,0) scale(1);opacity:1;}
    60%{transform:var(--bx,translate(0,-120px)) scale(0.55);opacity:1;}
    100%{transform:var(--bx,translate(0,-120px)) scale(0.55);opacity:1;}
  }
  @keyframes keeper-dive{
    0%{transform:translateX(0);}
    50%{transform:var(--kdx,translateX(0)) scaleX(var(--ksx,1));}
    100%{transform:var(--kdx,translateX(0)) scaleX(var(--ksx,1));}
  }
  @keyframes kpg-dot-pop{
    0%{transform:scale(0);}60%{transform:scale(1.3);}100%{transform:scale(1);}
  }
  @keyframes kpg-result-in{
    from{opacity:0;transform:scale(0.5);}60%{transform:scale(1.2);}to{opacity:1;transform:scale(1);}
  }
  @keyframes kpg-flash-goal{
    0%,100%{opacity:0;background:rgba(74,222,128,0);}
    30%{opacity:1;background:rgba(74,222,128,0.28);}
  }
  @keyframes kpg-flash-save{
    0%,100%{opacity:0;background:rgba(255,107,107,0);}
    30%{opacity:1;background:rgba(255,107,107,0.22);}
  }
  #k-penalty-game{ padding:0 0 8px; }
  .kpg-header{ text-align:center; margin-bottom:14px; }
  .kpg-title{ font-size:18px;font-weight:900;color:var(--gold);letter-spacing:1px;margin-bottom:8px; }
  .kpg-series{ display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:4px; }
  .kpg-score-box{ font-size:38px;font-weight:900;font-family:var(--mono);color:var(--text);line-height:1; }
  .kpg-dash{ font-size:22px;color:var(--muted);margin:0 4px; }
  .kpg-team{ font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.5px; }
  .kpg-round{ font-size:12px;color:var(--muted);margin-top:2px; }
  /* Goal area */
  .kpg-goal-wrap{
    position:relative;width:100%;max-width:340px;margin:0 auto 10px;
    border-radius:8px;overflow:hidden;
    background:linear-gradient(180deg,rgba(30,40,60,0.9) 0%,rgba(20,60,30,0.7) 100%);
    box-shadow:0 0 40px rgba(0,0,0,0.5);
  }
  .kpg-goal-svg{ display:block;width:100%;height:auto; }
  /* Zone buttons overlaid on goal */
  .kpg-zones{
    position:absolute;top:7%;left:4.5%;right:4.5%;height:76%;
    display:grid;grid-template-columns:1fr 1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;
  }
  .kpg-zone{
    background:rgba(255,255,255,0);border:1.5px solid rgba(255,255,255,0.08);
    border-radius:6px;cursor:pointer;color:rgba(255,255,255,0.45);
    transition:.15s ease;display:flex;align-items:center;justify-content:center;
  }
  .kpg-zone:hover:not([disabled]){
    background:rgba(255,200,87,0.18);border-color:rgba(255,200,87,0.8);
    color:var(--gold);transform:scale(1.06);
  }
  .kpg-zone[disabled]{ cursor:default;opacity:0.4; }
  .kpg-zone.chosen{ background:rgba(255,200,87,0.28);border-color:var(--gold);color:var(--gold); }
  .kpg-zone-arrow svg{ width:22px;height:22px;display:block;pointer-events:none; }
  /* Keeper — CSS figure */
  .kpg-keeper{
    position:absolute;bottom:22%;left:50%;transform:translateX(-50%);
    width:56px;height:66px;
    transition:transform 0.45s cubic-bezier(.2,.8,.3,1.2);
    pointer-events:none;
  }
  .kpg-keeper-fig{ width:100%;height:100%;display:block; }
  /* Ball — CSS circle with pentagon patch */
  .kpg-ball{
    position:absolute;bottom:5%;left:50%;
    width:22px;height:22px;transform:translateX(-50%);
    pointer-events:none;transition:none;
    border-radius:50%;
    background:radial-gradient(circle at 38% 32%, #fff 0%, #c0c0c0 100%);
    border:1.5px solid #555;
    box-shadow:0 2px 8px rgba(0,0,0,.65),inset 2px -2px 4px rgba(0,0,0,0.12);
  }
  .kpg-ball::before{
    content:'';position:absolute;
    top:26%;left:28%;width:42%;height:38%;
    background:#1a1a1a;
    clip-path:polygon(50% 0%,100% 38%,82% 100%,18% 100%,0% 38%);
  }
  .kpg-ball.flying{ animation:ball-fly 0.7s cubic-bezier(.2,.8,.3,1.1) forwards; }
  /* Single-penalty mode: hide shootout series UI */
  #k-penalty-game.kpg-single .kpg-series,
  #k-penalty-game.kpg-single .kpg-round,
  #k-penalty-game.kpg-single .kpg-dots-row{ display:none; }
  /* Flash overlay inside goal */
  .kpg-flash{
    position:absolute;inset:0;pointer-events:none;opacity:0;
  }
  .kpg-flash.goal{ animation:kpg-flash-goal 0.7s ease forwards; }
  .kpg-flash.save{ animation:kpg-flash-save 0.6s ease forwards; }
  /* Instructions & result */
  .kpg-instruction{ text-align:center;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px; }
  
  .kx-rival-scorer{
    font-size:11px;font-weight:700;margin-top:5px;padding:3px 10px;
    border-radius:20px;display:inline-block;
    background:rgba(255,107,107,.15);color:var(--red);
    border:1px solid rgba(255,107,107,.35);letter-spacing:.3px;
  }
  .kx-team-goal-note{ margin-top:7px;font-size:12px;font-weight:800;color:var(--gold);letter-spacing:.3px;animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4); }
  .kpg-gk-dive{ display:flex;gap:8px;margin:6px 0 4px; }
  .kpg-dive-btn{ flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:12px 6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;cursor:pointer;transition:background .15s,border-color .15s,transform .1s; }
  .kpg-dive-btn:hover:not(:disabled){ background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.28);transform:translateY(-2px); }
  .kpg-dive-btn:active:not(:disabled){ transform:translateY(0); }
  .kpg-dive-btn:disabled{ opacity:.45;cursor:default; }
  .kpg-dive-btn.chosen{ border-color:var(--gold);background:rgba(255,200,87,.15); }
  .kpg-dive-arrow{ font-size:22px;line-height:1; }
  .kpg-dive-lbl{ font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.8px; }
  .kpg-kick-result{
    text-align:center;font-size:26px;font-weight:900;min-height:36px;letter-spacing:.5px;
  }
  .kpg-kick-result.goal{ color:var(--gold); animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4); }
  .kpg-kick-result.save{ color:var(--red); animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4); }
  .kpg-kick-result.decisive{ color:var(--gold); font-size:20px!important; animation:kpg-decisive-pulse .55s ease-in-out infinite alternate; }
  @keyframes kpg-decisive-pulse{
    from{ opacity:.65; transform:scale(.96); text-shadow:none; }
    to  { opacity:1;   transform:scale(1.06); text-shadow:0 0 22px var(--gold),0 0 8px #fff3; }
  }
  /* ── FREE KICK MINI-GAME ─────────────────────────── */
  #k-freekick-game{ padding:4px 0; }
  .kfk-title{ font-size:17px;font-weight:900;color:var(--gold);letter-spacing:1px;text-align:center;margin-bottom:4px; }
  .kfk-sub{ font-size:12px;color:var(--muted);text-align:center;margin-bottom:8px;min-height:16px; }
  .kfk-goal-wrap{
    position:relative;width:100%;max-width:340px;margin:0 auto 10px;
    border-radius:8px;overflow:hidden;cursor:crosshair;
    background:linear-gradient(180deg,rgba(30,40,60,.92) 0%,rgba(20,60,30,.7) 100%);
    box-shadow:0 0 40px rgba(0,0,0,.5);user-select:none;
  }
  .kfk-crosshair{
    position:absolute;width:36px;height:36px;margin:-18px 0 0 -18px;
    pointer-events:none;z-index:5;
    filter:drop-shadow(0 0 8px rgba(255,60,60,.85)) drop-shadow(0 0 3px rgba(255,200,87,.5));
    animation:kfk-pulse .7s ease-in-out infinite alternate;
  }
  .kfk-crosshair .ch-outer{ animation:kfk-spin-slow 3s linear infinite; transform-origin:18px 18px; }
  .kfk-crosshair .ch-inner{ animation:kfk-spin-fast 1.1s linear infinite reverse; transform-origin:18px 18px; }
  @keyframes kfk-pulse{
    from{transform:scale(.88);opacity:.7;filter:drop-shadow(0 0 5px rgba(255,60,60,.6));}
    to{transform:scale(1.1);opacity:1;filter:drop-shadow(0 0 10px rgba(255,60,60,.95)) drop-shadow(0 0 4px rgba(255,200,87,.6));}
  }
  @keyframes kfk-spin-slow{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
  @keyframes kfk-spin-fast{from{transform:rotate(0deg);}to{transform:rotate(360deg);}}
  .kfk-gk{
    position:absolute;bottom:18%;left:50%;transform:translateX(-50%);
    width:72px;height:92px;transition:transform .45s cubic-bezier(.2,.8,.3,1.2);pointer-events:none;z-index:3;
  }
  .kfk-ball{
    position:absolute;bottom:5%;left:50%;transform:translateX(-50%);
    width:20px;height:20px;pointer-events:none;z-index:6;border-radius:50%;opacity:0;
    background:radial-gradient(circle at 38% 32%,#fff 0%,#c0c0c0 100%);
    border:1.5px solid #555;box-shadow:0 2px 8px rgba(0,0,0,.65);
  }
  .kfk-flash{position:absolute;inset:0;pointer-events:none;opacity:0;}
  .kfk-flash.goal{animation:kpg-flash-goal .7s ease forwards;}
  .kfk-flash.save{animation:kpg-flash-save .6s ease forwards;}
  .kfk-instruction{text-align:center;font-size:13px;font-weight:700;color:var(--muted);margin-bottom:6px;min-height:18px;}
  .kfk-result{text-align:center;font-size:24px;font-weight:900;min-height:34px;letter-spacing:.5px;}
  .kfk-result.goal{color:var(--gold);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}
  .kfk-result.save{color:var(--red);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}

  /* ── SPRINT MINI-GAME ─────────────────────────── */
  #k-sprint-game{ padding:8px 0; }
  .ksp-title{font-size:17px;font-weight:900;color:var(--gold);letter-spacing:1px;text-align:center;margin-bottom:6px;}
  .ksp-instruction{font-size:13px;font-weight:700;color:var(--muted);text-align:center;margin-bottom:14px;min-height:18px;}
  .ksp-bars{display:flex;flex-direction:column;gap:12px;margin:0 0 16px;}
  .ksp-row{display:flex;align-items:center;gap:8px;}
  .ksp-name{font-size:11px;font-weight:800;color:var(--muted);text-transform:uppercase;width:68px;text-align:right;flex-shrink:0;}
  .ksp-track{
    flex:1;height:20px;background:rgba(255,255,255,.07);border-radius:10px;overflow:visible;
    border:1px solid rgba(255,255,255,.1);position:relative;box-shadow:inset 0 1px 3px rgba(0,0,0,.4);
  }
  .ksp-fill{height:100%;width:0%;border-radius:10px;position:relative;transition:box-shadow .1s;}
  .ksp-fill.mine{
    background:linear-gradient(90deg,#1e40af,#3b82f6,var(--gold));
    background-size:200% 100%;
    animation:ksp-shine 1.2s linear infinite;
    box-shadow:0 0 0 0 rgba(255,200,87,0);
  }
  .ksp-fill.mine.heating{
    box-shadow:0 0 18px rgba(255,200,87,.7),0 0 8px rgba(59,130,246,.5);
    animation:ksp-shine .7s linear infinite, ksp-heat-pulse .4s ease-in-out infinite;
  }
  .ksp-fill.rival{background:linear-gradient(90deg,#7f1d1d,var(--red),#ff9f43);}
  .ksp-pct{font-size:11px;font-weight:800;color:var(--muted);width:32px;text-align:left;flex-shrink:0;}
  .ksp-tap-btn{
    display:block;width:100%;max-width:200px;margin:0 auto 8px;
    padding:16px;font-size:22px;font-weight:900;letter-spacing:1px;
    background:linear-gradient(135deg,var(--blue),#5b8def);
    border:none;border-radius:14px;color:#fff;cursor:pointer;
    box-shadow:0 4px 20px rgba(59,130,246,.4);
    transition:transform .07s,box-shadow .07s;
    animation:ksp-btn-pulse 1.8s ease-in-out infinite;
  }
  .ksp-tap-btn:active:not(:disabled){
    transform:scale(.85);box-shadow:0 1px 6px rgba(59,130,246,.2);
    animation:none;
  }
  .ksp-tap-btn:disabled{opacity:.5;cursor:default;animation:none;}
  .ksp-result{text-align:center;font-size:20px;font-weight:900;min-height:30px;}
  .ksp-result.goal{color:var(--gold);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}
  .ksp-result.save{color:var(--red);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}
  @keyframes ksp-shine{
    0%{background-position:200% 0;}
    100%{background-position:-200% 0;}
  }
  @keyframes ksp-heat-pulse{
    0%,100%{filter:brightness(1);}
    50%{filter:brightness(1.35) saturate(1.4);}
  }
  @keyframes ksp-btn-pulse{
    0%,100%{box-shadow:0 4px 20px rgba(59,130,246,.4),0 0 0 0 rgba(59,130,246,.3);}
    50%{box-shadow:0 4px 28px rgba(59,130,246,.6),0 0 0 8px rgba(59,130,246,0);}
  }

  /* ── CHIP SHOT MINI-GAME ─────────────────────────── */
  #k-chip-game{ padding:2px 0; }
  .kch-title{font-size:17px;font-weight:900;color:var(--gold);letter-spacing:1px;text-align:center;margin-bottom:6px;}
  .kch-field{
    position:relative;height:130px;max-width:360px;margin:0 auto 12px;
    background:linear-gradient(180deg,rgba(10,25,15,.9) 0%,rgba(20,80,35,.6) 60%,rgba(34,197,94,.18) 100%);
    border-radius:10px;overflow:hidden;border:1px solid rgba(255,255,255,.1);
    box-shadow:0 4px 24px rgba(0,0,0,.5), inset 0 1px 0 rgba(255,255,255,.06);
  }
  /* Grass lines */
  .kch-field::before{
    content:'';position:absolute;inset:0;pointer-events:none;
    background:repeating-linear-gradient(90deg,transparent,transparent 36px,rgba(255,255,255,.025) 36px,rgba(255,255,255,.025) 37px);
  }
  /* Canvas for ball arc trajectory */
  #kch-canvas{ position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:10; }
  .kch-gk{position:absolute;bottom:8px;left:62%;transition:left 2.4s cubic-bezier(.25,.8,.2,1);line-height:0;z-index:5;}
  .kch-ball{position:absolute;bottom:12px;left:16%;line-height:0;z-index:6;transition:opacity .12s;}
  .kch-player{position:absolute;bottom:8px;left:28%;line-height:0;z-index:5;}
  /* Player kick animation */
  .kch-player.kicking{ animation:kch-kick .18s ease-out; }
  @keyframes kch-kick{
    0%{transform:translateY(0) rotate(0deg);}
    40%{transform:translateY(-8px) rotate(-12deg);}
    100%{transform:translateY(0) rotate(0deg);}
  }
  /* GK jump/dive when ball is shot */
  .kch-gk.diving{ animation:kch-gk-dive .5s ease-out forwards; }
  .kch-gk.saved-it{ animation:kch-gk-catch .35s ease forwards; }
  @keyframes kch-gk-dive{
    0%{transform:translateY(0);}
    40%{transform:translateY(-28px) scale(1.08);}
    100%{transform:translateY(-14px);}
  }
  @keyframes kch-gk-catch{
    0%{transform:translateY(-14px);}
    50%{transform:translateY(-22px) scale(1.12);}
    100%{transform:translateY(0) scale(1);}
  }
  .kch-bar-section{margin:0 0 12px;}
  .kch-bar-outer{
    position:relative;height:28px;background:rgba(255,255,255,.07);
    border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1);margin:0 0 4px;
  }
  .kch-window{
    position:absolute;top:0;height:100%;
    background:rgba(0,230,118,.22);
    border-left:2px solid rgba(0,230,118,.8);border-right:2px solid rgba(0,230,118,.8);
    box-shadow:inset 0 0 14px rgba(0,230,118,.18), 0 0 10px rgba(0,230,118,.2);
    animation:kch-zone-pulse 1s ease-in-out infinite;
  }
  @keyframes kch-zone-pulse{
    0%,100%{box-shadow:inset 0 0 14px rgba(0,230,118,.18),0 0 10px rgba(0,230,118,.2);}
    50%{box-shadow:inset 0 0 22px rgba(0,230,118,.32),0 0 18px rgba(0,230,118,.4);}
  }
  .kch-fill{
    height:100%;width:0%;
    background:linear-gradient(90deg,var(--blue),#5b8def,var(--gold));
    background-size:200% 100%;
    border-radius:14px;
    box-shadow:0 0 8px rgba(255,200,87,.3);
    animation:ksp-shine 1s linear infinite;
    transition:box-shadow .15s;
  }
  .kch-fill.in-zone{
    background:linear-gradient(90deg,var(--green),#00e676,var(--gold));
    box-shadow:0 0 20px rgba(0,230,118,.7),0 0 8px rgba(255,200,87,.4);
    animation:ksp-shine .6s linear infinite, kch-in-zone-flash .25s ease-in-out infinite;
  }
  @keyframes kch-in-zone-flash{
    0%,100%{filter:brightness(1);}
    50%{filter:brightness(1.4) saturate(1.5);}
  }
  .kch-labels{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);font-weight:700;letter-spacing:.5px;padding:0 2px;}
  .kch-labels span:nth-child(2){color:var(--green);}
  .kch-shoot-btn{
    display:block;width:100%;max-width:200px;margin:0 auto 8px;
    padding:14px;font-size:18px;font-weight:900;letter-spacing:1px;
    background:linear-gradient(135deg,var(--green),#00b894);
    border:none;border-radius:14px;color:#fff;cursor:pointer;
    box-shadow:0 4px 20px rgba(0,230,118,.35);
    transition:transform .07s;
    animation:ksp-btn-pulse 1.6s ease-in-out infinite;
  }
  .kch-shoot-btn:active:not(:disabled){transform:scale(.92);animation:none;}
  .kch-shoot-btn:disabled{opacity:.5;cursor:default;animation:none;}
  .kch-result{text-align:center;font-size:18px;font-weight:900;min-height:30px;padding:4px 0;}
  .kch-result.goal{color:var(--gold);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}
  .kch-result.save{color:var(--red);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}

  /* ── TACTICAL MINI-GAME ─────────────────────────── */
  #k-tactical-game{ padding:4px 0; }
  .ktc-title{font-size:17px;font-weight:900;color:var(--gold);letter-spacing:1px;text-align:center;margin-bottom:4px;}
  .ktc-instruction{font-size:12px;color:var(--muted);text-align:center;margin-bottom:12px;font-weight:700;}
  .ktc-cards{display:flex;gap:8px;margin-bottom:10px;}
  .ktc-card{
    flex:1;display:flex;flex-direction:column;gap:3px;align-items:center;
    padding:10px 6px;background:rgba(255,255,255,.06);
    border:1.5px solid rgba(255,255,255,.12);border-radius:10px;
    cursor:pointer;text-align:center;
    transition:background .15s,border-color .15s,transform .12s,box-shadow .12s;
    opacity:0;animation:ktc-card-in .38s cubic-bezier(.17,.67,.38,1.3) forwards;
  }
  .ktc-card:nth-child(1){animation-delay:.05s;}
  .ktc-card:nth-child(2){animation-delay:.14s;}
  .ktc-card:nth-child(3){animation-delay:.23s;}
  @keyframes ktc-card-in{
    0%{opacity:0;transform:translateY(20px) scale(.92);filter:blur(2px);}
    60%{opacity:1;transform:translateY(-4px) scale(1.03);filter:blur(0);}
    80%{transform:translateY(1px) scale(.99);}
    100%{opacity:1;transform:translateY(0) scale(1);}
  }
  .ktc-card:hover:not(:disabled){
    background:rgba(255,200,87,.12);border-color:rgba(255,200,87,.6);
    transform:translateY(-3px);box-shadow:0 6px 20px rgba(255,200,87,.18);
  }
  .ktc-card:disabled{opacity:.45;cursor:default;}
  .ktc-card.chosen{
    border-color:var(--gold);background:rgba(255,200,87,.18);
    box-shadow:0 0 20px rgba(255,200,87,.3);
    animation:ktc-chosen-pop .32s cubic-bezier(.17,.67,.38,1.5);
  }
  @keyframes ktc-chosen-pop{
    0%{transform:scale(1);}
    50%{transform:scale(1.06);}
    100%{transform:scale(1);}
  }
  .ktc-card-name{font-size:12px;font-weight:900;color:var(--text);}
  .ktc-card-pos{font-size:10px;font-weight:700;color:var(--blue);letter-spacing:.5px;margin-bottom:2px;}
  .ktc-card-risk{font-size:10px;color:var(--muted);}
  .ktc-card-risk b{color:var(--red);}
  .ktc-card-reward{font-size:10px;color:var(--muted);}
  .ktc-card-reward b{color:var(--gold);}
  .ktc-result{text-align:center;font-size:15px;font-weight:800;min-height:34px;padding:4px 2px;line-height:1.4;}
  .ktc-result.goal{color:var(--gold);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}
  .ktc-result.save{color:var(--red);animation:kpg-result-in .4s cubic-bezier(.17,.67,.38,1.4);}

  /* Series dots */
  .kpg-dots-row{ display:flex;align-items:center;gap:8px;justify-content:center;margin:6px 0 2px; }
  .kpg-dots-label{ font-size:10px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.5px;width:32px;text-align:right; }
  .kpg-dots{ display:flex;gap:5px; }
  .kpg-dot{
    width:18px;height:18px;border-radius:50%;
    border:2px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.06);
    transition:.3s ease;
  }
  .kpg-dot.scored{ background:var(--gold);border-color:var(--gold);animation:kpg-dot-pop .35s cubic-bezier(.17,.67,.38,1.5); }
  .kpg-dot.missed{ background:rgba(255,107,107,0.35);border-color:var(--red); }
  .kpg-dot.pending{ border-style:dashed;opacity:0.5; }
  /* === MATCH SCORE RESULT === */
  .kx-match-score{
    margin:14px 0 6px; padding:16px 14px;
    background:rgba(255,255,255,.04); border:1px solid var(--line);
    border-radius:14px; text-align:center;
    animation:pop-in .45s cubic-bezier(.17,.67,.38,1.3);
  }
  .kx-ms-teams{ display:flex; align-items:center; justify-content:center; gap:12px; }
  .kx-ms-flag{ font-size:28px; }
  .kx-ms-scoreline{ display:flex; align-items:center; gap:10px; }
  .kx-ms-num{
    font-size:46px; font-weight:900; font-family:var(--mono);
    color:var(--gold); line-height:1;
    text-shadow:0 0 18px rgba(255,200,87,.4);
  }
  .kx-ms-sep{ font-size:28px; font-weight:300; color:var(--muted); }
  .kx-ms-rating{
    margin-top:8px; font-size:12px; font-weight:700;
    color:var(--muted); letter-spacing:1px; text-transform:uppercase;
  }
  /* === UPGRADE SCREEN — compact === */
  .kx-up-pts{ font-size:20px; font-weight:900; color:var(--gold); font-family:var(--mono); margin-top:4px; }
  .kx-up-pts-lbl{ font-size:11px; color:var(--muted); margin-top:1px; }
  .kx-up-row{ padding:8px 10px; }
  .kx-up-name{ font-size:12px; margin-bottom:3px; }
  .kx-up-val{ font-size:13px; min-width:26px; }
  .kx-up-btn{ width:26px; height:26px; font-size:15px; }
  .kx-up-ovr-num{ font-size:22px; }

  /* ── FAMA HUD ─────────────────────────────────────── */
  #k-fama-hud{ display:inline-flex; align-items:center; gap:4px; background:rgba(255,120,200,.12); border:1px solid rgba(255,120,200,.3); border-radius:20px; padding:2px 10px; font-size:.7em; color:#ff88cc; font-weight:800; margin-left:6px; cursor:default; transition:all .3s; white-space:nowrap; }
  .kx-fama-milestone{ position:fixed; top:60px; left:50%; transform:translateX(-50%) translateY(-20px); background:linear-gradient(135deg,#ff88cc,#ffb347); color:#000; font-weight:900; font-size:.88em; padding:9px 20px; border-radius:20px; z-index:9999; opacity:0; transition:all .45s cubic-bezier(.34,1.56,.64,1); pointer-events:none; white-space:nowrap; text-align:center; box-shadow:0 4px 24px rgba(0,0,0,.4); }
  .kx-fama-milestone.show{ opacity:1; transform:translateX(-50%) translateY(0); }

  /* ── VAR OVERLAY ─────────────────────────────────── */
  #k-var-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.88); z-index:9000; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; opacity:0; pointer-events:none; transition:opacity .3s; }
  #k-var-overlay.show{ opacity:1; pointer-events:all; }
  .kx-var-tv{ width:230px; background:#0a0a0a; border:2px solid #333; border-radius:14px; overflow:hidden; }
  .kx-var-screen{ background:#000; display:flex; flex-direction:column; align-items:center; padding:20px 16px; gap:8px; position:relative; overflow:hidden; }
  .kx-var-screen::before{ content:''; position:absolute; inset:0; background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,230,255,.04) 3px,rgba(0,230,255,.04) 4px); pointer-events:none; }
  .kx-var-icon{ font-size:2.4em; }
  .kx-var-title{ color:#fff; font-weight:900; font-size:1.05em; letter-spacing:3px; text-transform:uppercase; }
  .kx-var-sub{ color:#555; font-size:.65em; letter-spacing:2px; text-transform:uppercase; }
  .kx-var-scan-wrap{ width:100%; height:3px; background:rgba(0,230,255,.15); border-radius:2px; overflow:hidden; margin:4px 0; }
  .kx-var-scan{ width:60%; height:100%; background:linear-gradient(90deg,transparent,#00e5ff,transparent); animation:kx-var-scan-anim 1s linear infinite; }
  @keyframes kx-var-scan-anim{ 0%{transform:translateX(-120%)} 100%{transform:translateX(220%)} }
  .kx-var-badge{ background:#00e5ff; color:#000; font-weight:900; font-size:.68em; padding:3px 12px; letter-spacing:2px; border-radius:4px; text-transform:uppercase; }
  .kx-var-dots{ display:flex; gap:6px; margin-top:4px; }
  .kx-var-dot{ width:7px; height:7px; border-radius:50%; background:#333; animation:kx-var-dot-pulse 1s infinite; }
  .kx-var-dot:nth-child(2){ animation-delay:.2s; }
  .kx-var-dot:nth-child(3){ animation-delay:.4s; }
  @keyframes kx-var-dot-pulse{ 0%,100%{background:#333} 50%{background:#00e5ff} }

  /* ── CONFETTI CANVAS ─────────────────────────────── */
  #k-confetti-canvas{ position:fixed; inset:0; pointer-events:none; z-index:8000; }

  /* ── SCREEN SHAKE ─────────────────────────────────── */
  @keyframes kx-shake{
    0%,100%{transform:translate(0,0) rotate(0deg)}
    8%{transform:translate(-8px,3px) rotate(-.4deg)}
    16%{transform:translate(7px,-4px) rotate(.4deg)}
    24%{transform:translate(-6px,3px) rotate(-.3deg)}
    32%{transform:translate(5px,-3px) rotate(.2deg)}
    44%{transform:translate(-4px,2px)}
    56%{transform:translate(4px,-2px)}
    68%{transform:translate(-2px,1px)}
    80%{transform:translate(2px,-1px)}
    92%{transform:translate(-1px,0px)}
  }
  .kx-screen-shake{ animation:kx-shake .55s cubic-bezier(.36,.07,.19,.97) !important; }

  /* ── SLOW-MO OVERLAY ─────────────────────────────── */
  #k-slowmo-overlay{ position:fixed; inset:0; background:rgba(0,0,0,.78); z-index:7500; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; opacity:0; pointer-events:none; transition:opacity .35s; }
  #k-slowmo-overlay.show{ opacity:1; pointer-events:all; }
  .kx-slowmo-label{
    color:var(--gold); font-size:1.8em; font-weight:900; letter-spacing:7px; text-align:center;
    text-shadow:0 0 40px rgba(255,200,0,.9), 0 0 80px rgba(255,200,0,.4), 0 2px 0 rgba(0,0,0,.8);
    animation:slowmo-label-in .5s cubic-bezier(.17,.67,.38,1.4) both;
  }
  @keyframes slowmo-label-in{
    0%{opacity:0;transform:scale(.7) translateY(10px);letter-spacing:2px;filter:blur(4px);}
    60%{opacity:1;transform:scale(1.06) translateY(-2px);letter-spacing:9px;filter:blur(0);}
    100%{transform:scale(1) translateY(0);letter-spacing:7px;}
  }
  .kx-slowmo-sub{
    color:rgba(255,255,255,.55); font-size:.7em; letter-spacing:3px; text-transform:uppercase;
    animation:slowmo-sub-in .5s .15s ease both;
  }
  @keyframes slowmo-sub-in{ from{opacity:0;transform:translateY(6px);} to{opacity:1;transform:none;} }
  .kx-slowmo-bar{ width:220px; height:4px; background:rgba(255,255,255,.12); border-radius:3px; overflow:hidden; }
  .kx-slowmo-fill{ height:100%; background:linear-gradient(90deg,var(--gold),#fff8a0); width:0; transition:none; }
  .kx-slowmo-fill.run{ width:100%; transition:width 3.6s linear; }
  /* Slow-mo TV scanlines effect */
  #k-slowmo-overlay::after{
    content:''; position:absolute; inset:0; pointer-events:none;
    background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(255,255,255,.018) 3px,rgba(255,255,255,.018) 4px);
  }

  /* ── PRESS CONF CAMERA FLASHES ─────────────────────── */
  @keyframes kx-cam-flash{ 0%,100%{opacity:1} 8%{opacity:.5;background:rgba(255,255,255,.15)} 16%{opacity:1} 44%{opacity:.6;background:rgba(255,255,255,.12)} 52%{opacity:1} 77%{opacity:.55;background:rgba(255,255,255,.1)} 84%{opacity:1} }
  #k-press-conf.flash-in{ animation:kx-cam-flash .9s ease-out; }

  /* ── STADIUM PULSE ────────────────────────────────── */
  #k-stadium-pulse{ position:fixed; inset:0; pointer-events:none; z-index:50; overflow:hidden; }
  .kx-pulse-ring{ position:absolute; top:50%; left:50%; border-radius:50%; border:2px solid; transform:translate(-50%,-50%) scale(0); opacity:0; pointer-events:none; }
  @keyframes kx-pulse-expand{ 0%{transform:translate(-50%,-50%) scale(0.1);opacity:.65} 100%{transform:translate(-50%,-50%) scale(6);opacity:0} }

  /* ── FLOATING NUMBERS (upgrade) ───────────────────── */
  .kx-float-num{ position:absolute; right:44px; top:0; font-size:.82em; font-weight:900; color:var(--gold); pointer-events:none; animation:kx-float-up .85s ease-out forwards; z-index:300; white-space:nowrap; }
  @keyframes kx-float-up{ 0%{opacity:1;transform:translateY(0) scale(1)} 60%{opacity:1;transform:translateY(-28px) scale(1.1)} 100%{opacity:0;transform:translateY(-46px) scale(.9)} }

  /* ── PC REWARD TAGS ────────────────────────────────── */
  .kx-pc-reward{ display:inline-flex; align-items:center; gap:3px; border-radius:6px; padding:2px 8px; font-size:.76em; font-weight:700; margin-left:5px; }
  .kx-pc-reward.momentum{ background:rgba(255,80,0,.15); color:#ff6b35; }
  .kx-pc-reward.stat{ background:rgba(100,180,255,.15); color:var(--blue); }
  .kx-pc-reward.energy{ background:rgba(0,200,100,.15); color:var(--green); }
  .kx-pc-reward.fama{ background:rgba(255,120,200,.15); color:#ff88cc; }
  .kx-pc-reward.points{ background:rgba(255,160,0,.15); color:#ffb347; }

  /* ═══════════════════════════════════════════
     MOBILE RESPONSIVE  (≤ 520px)
  ═══════════════════════════════════════════ */
  @media(max-width:520px){
    /* Layout */
    .wrap{ padding:20px 14px 60px; }

    /* Minijuego tabs */
    .tabs{ gap:4px; }
    .tab{ padding:8px 10px; font-size:12px; }

    /* Setup screen */
    #k-country-grid{ grid-template-columns:repeat(3,1fr) !important; gap:5px !important; }
    .kx-extra-grid{ grid-template-columns:repeat(3,1fr) !important; }
    .kx-card{ display:none; }  /* hide side card — too cramped on mobile */
    #k-press-conf .kx-card{ display:block; }

    /* Position picks */
    .pick-grid{ grid-template-columns:repeat(2,1fr); gap:6px; }
    .pick{ padding:10px 6px; font-size:12px; }
    .pick-emoji{ font-size:17px; }

    /* Attr rows */
    .attr-row{ gap:6px; }
    .attr-name{ width:68px; font-size:12px; }
    .attr-val{ font-size:13px; width:26px; }
    .step-btn{ width:28px; height:28px; font-size:16px; }

    /* In-match VS card */
    .kx-vs{ padding:10px 8px; }
    .kx-bigflag{ font-size:28px; }
    .kx-tname{ font-size:11px; }
    .kx-snum{ font-size:28px; }
    .kx-vs-badge{ font-size:10px; padding:3px 7px; }
    .kx-phase{ font-size:10px; }
    .kx-stars{ font-size:12px; }

    /* Momentum bar */
    .kx-momentum{ gap:5px; }
    .kx-mom-pip{ width:10px; height:10px; }

    /* Moment card */
    .kx-moment{ padding:14px; }
    .kx-ntext{ font-size:14px; }
    .kx-min-tag{ font-size:10px; }

    /* Choice buttons */
    .kx-opts{ gap:7px; }
    .kx-opt{ padding:11px 12px; font-size:13px; }

    /* HUD */
    .kx-hud-val{ font-size:17px; }
    .kx-hud-lbl{ font-size:8px; }

    /* Result screen */
    .kx-rc{ padding:18px 14px; }
    .kx-rc-score{ font-size:36px; }

    /* Pre-match event */
    .kx-pm-opt{ padding:10px 10px; }
    .kx-pm-opt-label{ font-size:13px; }

    /* Upgrade screen */
    .kx-up-row{ padding:6px 8px; }

    /* Penalty game */
    .kpg-goal-wrap{ max-height:140px; }
    .kpg-zone{ font-size:16px; }
    .kpg-title{ font-size:14px; }
    .kpg-kick-result{ font-size:20px; }
    .kpg-gk-dive{ gap:5px; }
    .kpg-dive-btn{ padding:10px 4px; }
    .kpg-dive-arrow{ font-size:18px; }
    .kpg-dive-lbl{ font-size:9px; }

    /* Active bonus chip */
    .kx-ab-chip{ font-size:9px; padding:2px 8px; }

    /* Progress dots */
    .kx-prog{ gap:4px; }

    /* Start copy */
    .start-copy{ font-size:13px; }

    /* Group grid quiz */
    .group-grid{ grid-template-columns:repeat(2,1fr); }
    .memo-grid{ grid-template-columns:repeat(4,1fr); }

    /* VF buttons */
    .vf-btns{ gap:8px; }
    .vf-btn{ padding:14px; font-size:15px; }
  }

  /* ═══════════════ WORLD CUP SPLASH ═══════════════ */
  #wc-splash{
    position:fixed; inset:0; z-index:9999;
    display:flex; align-items:center; justify-content:center;
    overflow:hidden;
    background:
      radial-gradient(ellipse 180% 60% at 50% 115%, rgba(22,101,52,.75) 0%, transparent 55%),
      radial-gradient(ellipse 100% 60% at 50% -10%, rgba(255,200,87,.18) 0%, transparent 55%),
      radial-gradient(ellipse 80% 40%  at 80%  50%, rgba(91,157,255,.07) 0%, transparent 60%),
      linear-gradient(180deg, #020810 0%, #040d1a 60%, #06111f 100%);
  }
  /* Líneas de campo de fútbol sutil */
  #wc-splash::before{
    content:''; position:absolute; inset:0; pointer-events:none;
    background:
      radial-gradient(ellipse 420px 420px at 50% 108%, transparent 240px, rgba(255,255,255,.03) 241px, rgba(255,255,255,.03) 244px, transparent 245px),
      radial-gradient(ellipse 680px 260px at 50% 110%, transparent 200px, rgba(255,255,255,.022) 201px, rgba(255,255,255,.022) 204px, transparent 205px),
      linear-gradient(90deg, transparent 49.8%, rgba(255,255,255,.018) 49.8%, rgba(255,255,255,.018) 50.2%, transparent 50.2%);
  }
  .wcs-particles{ position:absolute; inset:0; overflow:hidden; pointer-events:none; }
  .wcs-star{
    position:absolute; border-radius:50%;
    animation:wcs-float linear infinite;
  }
  @keyframes wcs-float{
    0%  { transform:translateY(0) scale(1); opacity:.8; }
    60% { opacity:.3; }
    100%{ transform:translateY(-110vh) scale(.3); opacity:0; }
  }
  .wcs-content{
    position:relative; z-index:1;
    display:flex; flex-direction:column; align-items:center;
    gap:10px; padding:36px 24px; text-align:center; max-width:480px; width:100%;
  }
  .wcs-trophy{
    font-size:72px; line-height:1;
    animation:wcs-trophy-glow 2.4s ease-in-out infinite;
  }
  @keyframes wcs-trophy-glow{
    0%,100%{ filter:drop-shadow(0 0 16px rgba(255,200,87,.6)); transform:scale(1) translateY(0); }
    50%    { filter:drop-shadow(0 0 44px rgba(255,200,87,.99)); transform:scale(1.07) translateY(-3px); }
  }
  .wcs-edition{
    font-family:var(--mono); font-size:11px; letter-spacing:5px;
    color:rgba(255,200,87,.6); text-transform:uppercase; margin-top:2px;
  }
  .wcs-title{
    font-size:clamp(34px,10vw,62px); font-weight:900; letter-spacing:-1.5px; line-height:1.0;
    color:#fff; text-shadow:0 2px 50px rgba(255,200,87,.25); margin:2px 0;
  }
  .wcs-title span{
    color:var(--gold);
    text-shadow:0 0 32px rgba(255,200,87,.8), 0 0 80px rgba(255,200,87,.3);
  }
  .wcs-sub{ font-size:13px; color:rgba(255,255,255,.4); letter-spacing:.5px; }
  .wcs-flags{ font-size:28px; letter-spacing:12px; margin:4px 0; filter:drop-shadow(0 2px 8px rgba(0,0,0,.6)); }

  /* Badge EN VIVO */
  .wcs-live{
    display:flex; align-items:center; gap:14px; margin:6px 0 2px;
    flex-wrap:wrap; justify-content:center;
  }
  .wcs-live-badge{
    display:flex; align-items:center; gap:7px;
    background:rgba(220,40,40,.15); border:1px solid rgba(255,80,80,.45);
    color:#ff7070; font-family:var(--mono); font-size:11px; letter-spacing:2.5px;
    padding:6px 14px; border-radius:20px; text-transform:uppercase;
    animation:wcs-blink 1.3s ease-in-out infinite;
  }
  .wcs-live-dot{
    width:7px; height:7px; border-radius:50%;
    background:#ff4444;
    animation:wcs-blink 1.3s ease-in-out infinite;
    box-shadow:0 0 6px #ff4444;
  }
  @keyframes wcs-blink{
    0%,100%{ opacity:1; } 50%{ opacity:.45; }
  }
  .wcs-phase{
    font-size:12px; color:rgba(255,255,255,.35); letter-spacing:.5px;
    border-left:1px solid rgba(255,255,255,.15); padding-left:14px;
  }

  .wcs-btn{
    margin-top:12px; display:flex; align-items:center; gap:10px;
    padding:17px 48px; border-radius:50px; border:none; cursor:pointer;
    background:linear-gradient(135deg,#ffc857 0%,#f59e00 100%);
    color:#050f1e; font-weight:900; font-size:18px; font-family:var(--sans); letter-spacing:.3px;
    animation:wcs-pulse 2s ease-in-out infinite;
    transition:transform .15s ease;
    box-shadow:0 4px 30px rgba(255,170,0,.3);
  }
  .wcs-btn:hover{ transform:scale(1.05); }
  .wcs-btn:active{ transform:scale(.97); }
  .wcs-btn-icon{ font-size:22px; }
  @keyframes wcs-pulse{
    0%,100%{ box-shadow:0 0 0 0 rgba(255,200,87,.5), 0 8px 30px rgba(255,170,0,.3); }
    50%    { box-shadow:0 0 0 16px rgba(255,200,87,0), 0 8px 30px rgba(255,170,0,.55); }
  }
  .wcs-tagline{
    font-size:11px; color:rgba(255,255,255,.22); letter-spacing:.5px; margin-top:2px;
  }
  /* In-game header bar */
  .wc-game-header{
    display:flex; align-items:center; justify-content:space-between;
    margin-bottom:22px; padding:0 2px;
  }
  .wc-game-badge{
    font-family:var(--mono); font-size:11px; letter-spacing:2px;
    color:var(--gold); border:1px solid rgba(255,200,87,.3);
    background:rgba(255,200,87,.07); padding:5px 13px; border-radius:20px;
  }
  .wc-music-toggle{
    background:rgba(255,200,87,.09); border:1px solid rgba(255,200,87,.28);
    color:var(--gold); font-size:13px; padding:5px 12px; border-radius:20px;
    cursor:pointer; font-family:inherit; transition:.15s ease;
  }
  .wc-music-toggle:hover{ background:rgba(255,200,87,.18); }
  .wc-music-toggle.muted{ opacity:.35; }
  @media(max-width:520px){
    .wcs-title{ font-size:clamp(30px,9vw,44px); }
    .wcs-trophy{ font-size:52px; }
    .wcs-btn{ padding:14px 32px; font-size:16px; }
    .wcs-live{ flex-direction:column; gap:6px; }
    .wcs-phase{ border-left:none; padding-left:0; }
  }



#k-goal-anim{position:fixed;inset:0;z-index:99999;display:none;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;background:rgba(6,12,9,.55);overflow:hidden}
#k-goal-anim.kga-anim{animation:kgaIn .38s cubic-bezier(.2,1.3,.4,1)}
@keyframes kgaIn{from{opacity:0;transform:scale(1.25)}to{opacity:1;transform:none}}
#k-goal-anim .kga-title{font-family:'Fraunces',Georgia,serif;font-size:2.6rem;font-weight:800;letter-spacing:1px;text-align:center}
#k-goal-anim.kga-us .kga-title{color:#5fd998;text-shadow:0 0 34px rgba(63,168,106,.85)}
#k-goal-anim.kga-rival .kga-title{color:#ff7a6b;text-shadow:0 0 34px rgba(199,90,77,.85)}
#k-goal-anim .kga-sub{color:#fff;font-size:1.15rem;margin-top:8px;font-weight:800;text-align:center;padding:0 20px}
#k-goal-anim .kga-cf{position:absolute;top:-14px;width:9px;height:15px;border-radius:2px;animation:kgaCf 2s linear forwards}
@keyframes kgaCf{to{transform:translateY(112vh) rotate(540deg);opacity:.15}}

