
.kz-mp-overlay{
  position:fixed;
  inset:0;
  z-index:100090;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:18px;
  background:rgba(0,10,28,.78);
  backdrop-filter:blur(8px);
}
.kz-mp-sheet{
  width:100%;
  max-width:560px;
  max-height:92vh;
  overflow-y:auto;
  border:1px solid rgba(255,193,7,.5);
  border-radius:24px;
  padding:18px;
  color:#fff;
  background:
    linear-gradient(145deg,#06162f,#020817);
  box-shadow:0 24px 70px rgba(0,0,0,.55);
}
.kz-mp-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:18px;
}
.kz-mp-head small{
  display:block;
  color:#d6a62d;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.2px;
}
.kz-mp-head strong{
  display:block;
  margin-top:2px;
  font-size:22px;
}
.kz-mp-head button{
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
  color:#fff;
  background:rgba(255,255,255,.08);
}
.kz-mp-hero,
.kz-mp-waiting{
  padding:18px 6px;
  text-align:center;
}
.kz-mp-icon,
.kz-mp-pulse{
  font-size:54px;
}
.kz-mp-pulse{
  animation:kzMpPulse 1.5s infinite;
}
@keyframes kzMpPulse{
  50%{transform:scale(1.12)}
}
.kz-mp-hero h2,
.kz-mp-waiting h2{
  margin:8px 0;
  font-size:26px;
}
.kz-mp-hero p,
.kz-mp-waiting p{
  margin:0 0 20px;
  color:#aebbd0;
}
.kz-mp-options{
  display:grid;
  gap:12px;
}
.kz-mp-primary,
.kz-mp-secondary{
  width:100%;
  min-height:52px;
  border-radius:14px;
  font-size:14px;
  font-weight:900;
}
.kz-mp-primary{
  border:0;
  color:#06162f;
  background:linear-gradient(135deg,#f4c84b,#d99e18);
}
.kz-mp-secondary{
  border:1px solid #d6a62d;
  color:#f6ca50;
  background:transparent;
}
.kz-mp-divider{
  display:flex;
  align-items:center;
  gap:10px;
  color:#7f8ba0;
  font-size:10px;
  font-weight:800;
}
.kz-mp-divider:before,
.kz-mp-divider:after{
  content:"";
  height:1px;
  flex:1;
  background:rgba(255,255,255,.12);
}
#kzInviteInput{
  width:100%;
  box-sizing:border-box;
  border:1px solid rgba(255,255,255,.16);
  border-radius:14px;
  padding:16px;
  color:#fff;
  background:rgba(255,255,255,.07);
  text-align:center;
  font-size:20px;
  font-weight:900;
  letter-spacing:4px;
  text-transform:uppercase;
}
.kz-mp-error{
  display:none;
  margin-top:12px;
  padding:10px;
  border-radius:10px;
  color:#ffb6b6;
  background:rgba(212,24,28,.16);
  text-align:center;
}
.kz-mp-code{
  margin:16px 0;
  border:1px dashed #f4c84b;
  border-radius:14px;
  padding:18px;
  color:#f7cf61;
  background:rgba(244,200,75,.08);
  font-size:30px;
  font-weight:950;
  letter-spacing:5px;
}
.kz-mp-waiting small{
  display:block;
  margin-top:16px;
  color:#93a2b9;
}
.kz-mp-versus{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:12px;
}
.kz-mp-person{
  min-width:0;
  text-align:center;
}
.kz-mp-person img,
.kz-mp-avatar{
  width:62px;
  height:62px;
  margin:0 auto 8px;
  border:3px solid #d6a62d;
  border-radius:50%;
  object-fit:cover;
}
.kz-mp-avatar{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#11355d;
  font-size:25px;
  font-weight:900;
}
.kz-mp-person strong,
.kz-mp-person small{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.kz-mp-person small{
  margin-top:4px;
  color:#95a4bb;
  font-size:11px;
}
.kz-mp-vs{
  color:#f4c84b;
  font-size:13px;
  font-weight:950;
}
.kz-mp-turn{
  margin:18px 0;
  border-radius:20px;
  padding:8px 12px;
  color:#06162f;
  background:#f4c84b;
  text-align:center;
  font-size:12px;
  font-weight:950;
}
.kz-chat{
  margin-top:18px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.045);
}
.kz-chat-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 14px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.kz-chat-title span{
  color:#4bd37b;
  font-size:11px;
  font-weight:800;
}
.kz-chat-messages{
  height:220px;
  overflow-y:auto;
  padding:12px;
}
.kz-chat-empty{
  padding:65px 12px;
  color:#77869d;
  text-align:center;
  font-size:12px;
}
.kz-chat-message{
  display:flex;
  align-items:flex-end;
  gap:7px;
  margin-bottom:10px;
}
.kz-chat-message.mine{
  justify-content:flex-end;
}
.kz-chat-message img{
  width:27px;
  height:27px;
  border-radius:50%;
  object-fit:cover;
}
.kz-chat-message div{
  max-width:76%;
}
.kz-chat-message small{
  display:block;
  margin:0 0 3px 7px;
  color:#8fa0b9;
  font-size:9px;
}
.kz-chat-message span{
  display:block;
  border-radius:14px 14px 14px 4px;
  padding:8px 11px;
  color:#fff;
  background:#163a65;
  font-size:13px;
}
.kz-chat-message.mine span{
  border-radius:14px 14px 4px 14px;
  color:#06162f;
  background:#f4c84b;
}
.kz-chat-reaction{
  margin:8px 0;
  font-size:36px;
  text-align:left;
}
.kz-chat-reaction.mine{
  text-align:right;
}
.kz-chat-reactions{
  display:flex;
  justify-content:center;
  gap:5px;
  padding:8px;
  border-top:1px solid rgba(255,255,255,.08);
}
.kz-chat-reactions button{
  width:36px;
  height:34px;
  border:0;
  border-radius:10px;
  background:rgba(255,255,255,.08);
  font-size:18px;
}
.kz-chat-compose{
  display:flex;
  gap:8px;
  padding:10px;
}
.kz-chat-compose input{
  min-width:0;
  flex:1;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  padding:10px 13px;
  color:#fff;
  background:rgba(255,255,255,.07);
}
.kz-chat-compose button{
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  color:#06162f;
  background:#f4c84b;
  font-size:18px;
}

.kz-mp-sheet.kz-mp-live-sheet{
  max-width:980px;
}
.kz-live-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.kz-live-toolbar button{
  border:1px solid rgba(255,255,255,.16);
  border-radius:12px;
  padding:8px 12px;
  color:#fff;
  background:rgba(255,255,255,.08);
  font-weight:800;
}
.kz-live-toolbar strong{
  color:#f4c84b;
  letter-spacing:1px;
}
.kz-live-toolbar span{
  color:#93a2b9;
  font-size:12px;
}
.kz-live-felt{
  position:relative;
  min-height:530px;
  margin-top:14px;
  border:7px solid #795313;
  border-radius:25px;
  padding:22px;
  background:
    repeating-linear-gradient(
      45deg,
      rgba(255,255,255,.015) 0,
      rgba(255,255,255,.015) 4px,
      transparent 4px,
      transparent 8px
    ),
    #075136;
  box-shadow:
    inset 0 0 45px rgba(0,0,0,.4),
    0 16px 35px rgba(0,0,0,.3);
}
.kz-live-felt .kz-label{
  margin:10px 0;
  color:rgba(255,255,255,.7);
  text-align:center;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.5px;
}
.kz-live-deck{
  right:22px;
  top:145px;
}
.kz-live-chat{
  margin-top:16px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:16px;
  overflow:hidden;
  background:rgba(255,255,255,.045);
}
.kz-live-chat summary{
  padding:13px 15px;
  color:#f4c84b;
  cursor:pointer;
  font-size:13px;
  font-weight:900;
  list-style:none;
}
.kz-live-chat .kz-chat-messages{
  border-top:1px solid rgba(255,255,255,.09);
}
@media(max-width:700px){
  .kz-mp-overlay{
    padding:0;
  }
  .kz-mp-sheet,
  .kz-mp-sheet.kz-mp-live-sheet{
    max-height:100vh;
    min-height:100vh;
    border-radius:0;
  }
  .kz-live-felt{
    min-height:470px;
    padding:14px 8px;
  }
}

.kz-winner-overlay{
  position:fixed;
  inset:0;
  z-index:100200;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  overflow:hidden;
  background:rgba(0,9,25,.88);
  backdrop-filter:blur(12px);
}
.kz-winner-card{
  position:relative;
  z-index:2;
  width:100%;
  max-width:500px;
  max-height:92vh;
  overflow-y:auto;
  border:2px solid #f4c84b;
  border-radius:28px;
  padding:25px;
  color:#fff;
  background:linear-gradient(150deg,#08234a,#020a19);
  text-align:center;
  box-shadow:0 25px 90px rgba(0,0,0,.65);
  animation:kzWinnerIn .55s ease-out;
}
@keyframes kzWinnerIn{
  from{opacity:0;transform:scale(.72) translateY(40px)}
  to{opacity:1;transform:scale(1) translateY(0)}
}
.kz-winner-flag{
  font-size:36px;
}
.kz-winner-card>img,
.kz-winner-icon{
  width:92px;
  height:92px;
  margin:12px auto 0;
  border:4px solid #f4c84b;
  border-radius:50%;
  object-fit:cover;
}
.kz-winner-icon{
  display:flex;
  align-items:center;
  justify-content:center;
  background:#12345d;
  font-size:45px;
}
.kz-winner-crown{
  margin-top:-19px;
  font-size:33px;
  transform:rotate(-7deg);
}
.kz-winner-card h2{
  margin:5px 0 7px;
  color:#f7cf61;
  font-size:27px;
}
.kz-winner-card p{
  margin:0;
  color:#afbdd0;
}
.kz-winner-score{
  margin:18px 0;
  font-size:48px;
  font-weight:950;
}
.kz-winner-score span{
  margin:0 16px;
  color:#f4c84b;
}
.kz-winner-details{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:18px;
}
.kz-result-breakdown{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:12px;
  background:rgba(255,255,255,.05);
}
.kz-result-breakdown strong,
.kz-result-breakdown span,
.kz-result-breakdown small{
  display:block;
}
.kz-result-breakdown span{
  margin:5px 0;
  color:#f4c84b;
  font-size:18px;
  font-weight:900;
}
.kz-result-breakdown small{
  color:#96a6bd;
  line-height:1.5;
}
.kz-winner-card .kz-mp-secondary{
  margin-top:10px;
}
.kz-confetti{
  position:absolute;
  inset:0;
  pointer-events:none;
}
.kz-confetti i{
  position:absolute;
  top:-25px;
  left:var(--x);
  width:9px;
  height:16px;
  background:var(--color);
  animation:
    kzConfettiFall var(--duration) linear
    var(--delay) infinite;
}
@keyframes kzConfettiFall{
  from{transform:translateY(-10vh) rotate(0)}
  to{transform:translateY(115vh) rotate(760deg)}
}
@media(max-width:520px){
  .kz-winner-details{
    grid-template-columns:1fr;
  }
  .kz-winner-score{
    font-size:39px;
  }
}

.kz-actions{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.kz-action.kz-build{
  border-color:#f4c84b;
  color:#07172f;
  background:linear-gradient(135deg,#f8d45f,#dfa51e);
}
.kz-build-card{
  position:relative;
  width:92px;
  height:122px;
  border:3px solid #f4c84b;
  border-radius:13px;
  color:#07172f;
  background:linear-gradient(145deg,#fff8d9,#edc649);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
  cursor:pointer;
}
.kz-build-card.kz-selected{
  transform:translateY(-9px);
  box-shadow:
    0 0 0 4px rgba(244,200,75,.34),
    0 12px 24px rgba(0,0,0,.36);
}
.kz-build-card strong,
.kz-build-card small{
  position:relative;
  z-index:2;
  display:block;
}
.kz-build-card strong{
  margin-top:48px;
  font-size:15px;
  font-weight:950;
}
.kz-build-card small{
  margin-top:4px;
  font-size:10px;
}
.kz-build-stack i{
  position:absolute;
  top:13px;
  left:30px;
  width:29px;
  height:39px;
  border:2px solid #fff;
  border-radius:5px;
  background:
    repeating-linear-gradient(
      45deg,
      #003f87 0 5px,
      #d4181c 5px 10px
    );
}
.kz-build-stack i:nth-child(1){
  transform:translate(-8px,4px) rotate(-9deg);
}
.kz-build-stack i:nth-child(2){
  transform:translate(8px,4px) rotate(9deg);
}
.kz-build-stack i:nth-child(3){
  transform:translate(0,0);
}
@media(max-width:620px){
  .kz-actions{
    grid-template-columns:1fr;
  }
}

.kz-live-toolbar-actions{
  display:flex;
  gap:7px;
}
.kz-live-toolbar .kz-leave-button{
  border-color:rgba(212,24,28,.65);
  color:#ff9a9d;
}
.kz-player-online,
.kz-player-offline{
  display:block;
  margin-top:4px;
  font-size:8px;
  font-style:normal;
  font-weight:900;
}
.kz-player-online{
  color:#45d579;
}
.kz-player-offline{
  color:#ff7d81;
}
.kz-leave-overlay{
  position:fixed;
  inset:0;
  z-index:100260;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  background:rgba(0,7,20,.82);
  backdrop-filter:blur(10px);
}
.kz-leave-card{
  width:100%;
  max-width:420px;
  border:1px solid rgba(244,200,75,.55);
  border-radius:22px;
  padding:24px;
  color:#fff;
  background:linear-gradient(145deg,#091d3b,#030a18);
  text-align:center;
  box-shadow:0 25px 70px rgba(0,0,0,.55);
}
.kz-leave-icon{
  font-size:42px;
}
.kz-leave-card h3{
  margin:10px 0 8px;
  font-size:23px;
}
.kz-leave-card p{
  margin:0 0 18px;
  color:#aebbd0;
  font-size:13px;
  line-height:1.55;
}
.kz-forfeit-button{
  width:100%;
  min-height:48px;
  margin-top:10px;
  border:1px solid #d4181c;
  border-radius:14px;
  color:#ffb2b4;
  background:rgba(212,24,28,.14);
  font-weight:900;
}


/* KAZINO MULTIPLAYER CINEMATIC BACKGROUND V1 */
.kz-mp-overlay{
  isolation:isolate;
  background:#020a18;
}

.kz-mp-overlay::before{
  content:"";
  display:block;
  position:fixed;
  inset:0;
  z-index:0;
  pointer-events:none;
  background-image:
    linear-gradient(
      rgba(2,10,25,.70),
      rgba(2,10,25,.70)
    ),
    url("/app/kazino/kazino-background-mobile-v2.png");
  background-position:center center;
  background-size:cover;
  background-repeat:no-repeat;
  transform:translateZ(0);
  -webkit-transform:translateZ(0);
}

.kz-mp-overlay::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(
      circle at center,
      rgba(0,63,135,.04),
      rgba(1,6,17,.25) 82%
    );
}

.kz-mp-overlay .kz-mp-sheet{
  position:relative;
  z-index:2;
}

/*
 * Allow the cinematic image to remain visible around
 * the online game panel.
 */
@media (min-width:700px){
  .kz-mp-overlay{
    padding:28px;
  }

  .kz-mp-overlay .kz-mp-sheet{
    background:
      linear-gradient(
        160deg,
        rgba(5,21,47,.94),
        rgba(2,10,25,.91)
      );
    box-shadow:
      0 30px 90px rgba(0,0,0,.62),
      0 0 0 1px rgba(245,196,81,.26);
  }
}

@media (max-width:699px){
  .kz-mp-overlay::before{
    background-position:center center;
  }

  .kz-mp-overlay .kz-mp-sheet{
    background:
      linear-gradient(
        180deg,
        rgba(5,21,47,.88),
        rgba(2,10,25,.84)
      );
  }
}


/* KAZINO MULTIPLAYER MOBILE BACKGROUND FIX V1 */
@media (max-width:699px){
  .kz-mp-overlay{
    background:#020a18;
  }

  .kz-mp-overlay::before{
    background-image:
      linear-gradient(
        rgba(2,10,25,.70),
        rgba(2,10,25,.70)
      ),
      url("/app/kazino/kazino-background-mobile-v2.png");
    background-position:center center;
    background-size:cover;
    background-repeat:no-repeat;
  }

  .kz-mp-overlay::after{
    display:none;
  }

  .kz-mp-overlay .kz-mp-sheet{
    background:transparent!important;
    box-shadow:none!important;
  }

  .kz-mp-overlay .kz-mp-head{
    background:rgba(3,14,33,.36);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }

  .kz-mp-overlay #kzMpContent{
    background:transparent;
  }

  .kz-mp-overlay .kz-mp-options{
    position:relative;
    z-index:3;
  }
}


/* =========================================================
   DESKTOP — wide Kazino profile and supporting screens
   ========================================================= */
@media (min-width: 900px) {
  #kzMultiplayerPanel.kz-mp-overlay {
    align-items: flex-start !important;
    justify-content: center !important;
    padding: 30px !important;
    box-sizing: border-box !important;
  }

  #kzMultiplayerPanel .kz-mp-sheet {
    width: min(94vw, 1180px) !important;
    max-width: 1180px !important;
    height: calc(100vh - 60px) !important;
    max-height: calc(100vh - 60px) !important;
    margin: 0 auto !important;
    overflow-y: auto !important;
    border-radius: 28px !important;
  }

  #kzMultiplayerPanel #kzMpContent {
    width: 100% !important;
    max-width: none !important;
    margin: 0 auto !important;
  }

  #kzMultiplayerPanel .kz-mp-waiting,
  #kzMultiplayerPanel .kz-mp-options,
  #kzMultiplayerPanel .kz-live-table {
    width: 100% !important;
    max-width: none !important;
  }
}
