:root{
    --kz-accent:#7c3aed;   /* بنفسجي أساسي (لون المنصة الافتراضي) */
    --kz-accent2:#d878ff;  /* بنفسجي فاتح ثانوي */
}

body.kz-active{
    margin:0;
    font-family:'Zain',Cairo,sans-serif;
    color:#fff;
    min-height:100vh;
    padding-top:56px;
    box-sizing:border-box;
    background:
        radial-gradient(ellipse 900px 500px at 50% -8%,rgba(124,58,237,0.18),transparent 60%),
        radial-gradient(ellipse 700px 500px at 90% 100%,rgba(216,120,255,0.16),transparent 60%),
        linear-gradient(180deg,#0d0818 0%,#090614 45%,#05030a 100%);
    background-attachment:fixed;
    background-size:cover;
}

/* ---------------------------------------------------------------------
   الهيدر الأساسي الثابت -- حاضر بكل شاشات اللعبة
--------------------------------------------------------------------- */
#kz-header{
    position:fixed;
    top:0; left:0; right:0;
    z-index:500;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:10px 20px;
    background:linear-gradient(90deg,rgba(13,8,24,0.92),rgba(30,15,60,0.85));
    border-bottom:1px solid rgba(124,58,237,0.35);
    box-shadow:0 2px 20px rgba(124,58,237,0.12);
}
.kz-header-icons{ display:flex; gap:8px; align-items:center; }
.kz-header-icon-btn{
    width:34px; height:34px; border-radius:50%;
    border:1px solid rgba(124,58,237,0.45);
    background:rgba(255,255,255,0.06);
    color:#fff; cursor:pointer;
    display:flex; align-items:center; justify-content:center;
    font-size:15px;
}
#kz-header-title{
    background:rgba(0,0,0,0.35);
    border:1px solid rgba(124,58,237,0.25);
    border-radius:999px;
    padding:6px 22px;
    color:#e6d9ff;
    font-weight:700;
    font-size:0.9em;
}
#kz-header-brand{ display:flex; align-items:center; }
#kz-header-brand img{ height:36px; width:auto; }

/* ---------------------------------------------------------------------
   شاشة الإعدادات — قالب "settings-no-box" (منقول بالحرف من روليت
   القبائل/تحدي الصور): بدون أي صندوق يحيط الحقول، عمودين على الشاشات
   الواسعة، عمود واحد على الجوال.
--------------------------------------------------------------------- */
#kz-settings{
    width:min(980px,94vw);
    margin:0 auto;
    padding:56px 24px 60px;
    box-sizing:border-box;
    column-count:2;
    column-gap:60px;
    column-fill:auto;
}
@media (max-width:720px){
    #kz-settings{ column-count:1; }
}

#kz-settings h2{
    column-span:all;
    margin:0 0 42px;
    font-size:clamp(24px,4vw,38px);
    font-weight:900;
    text-align:center;
    background:linear-gradient(90deg,var(--kz-accent2),#d0b3ff 55%,var(--kz-accent));
    -webkit-background-clip:text;
    background-clip:text;
    -webkit-text-fill-color:transparent;
    position:relative;
    padding-bottom:20px;
}
#kz-settings h2::after{
    content:"";
    position:absolute;
    bottom:0;
    left:50%;
    transform:translateX(-50%);
    width:64px;
    height:3px;
    border-radius:3px;
    background:linear-gradient(90deg,transparent,var(--kz-accent2),transparent);
}

.kz-field{
    break-inside:avoid;
    padding:20px 0;
    border-bottom:1px solid rgba(255,255,255,0.08);
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:10px;
}
.kz-field label{
    font-size:0.82em;
    color:#b7a9d6;
    font-weight:700;
}
.kz-field input[type=text]{
    max-width:none;
    width:100%;
    background:transparent;
    border:none;
    border-bottom:2px solid transparent;
    border-radius:0;
    padding:4px 0;
    font-size:1.25em;
    font-weight:700;
    color:#fff;
    text-align:right;
    font-family:inherit;
    transition:border-color 0.2s;
}
.kz-field input[type=text]:focus{
    border-bottom-color:var(--kz-accent2);
    outline:none;
}
.kz-field input[type=text]::placeholder{ color:#5c516f; }

.kz-row{
    break-inside:avoid;
    padding:18px 0;
    border-bottom:1px solid rgba(255,255,255,0.08);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
}
.kz-row-label{
    font-size:14px;
    color:#f3eefc;
    font-weight:700;
}
.kz-pill-group{
    display:flex;
    gap:8px;
    flex-wrap:wrap;
}
.kz-pill-btn{
    background:transparent;
    border:1px solid rgba(255,255,255,0.16);
    color:#a99cc4;
    border-radius:999px;
    padding:7px 16px;
    font-size:13px;
    font-weight:800;
    font-family:inherit;
    cursor:pointer;
}
.kz-pill-btn.kz-pill-active{
    background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2));
    color:#0a0612;
    border-color:transparent;
}
.kz-hint{
    width:100%;
    font-size:12px;
    color:#8f7ba8;
    line-height:1.7;
    text-align:center;
}

.kz-error-msg{
    column-span:all;
    text-align:center;
    color:#ff8da3;
    font-size:13px;
    font-weight:700;
    margin-top:10px;
}

.kz-btn-connect{
    column-span:all;
    display:table;
    margin:34px auto 0;
    padding:16px 64px;
    border:none;
    border-radius:999px;
    background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2));
    color:#0a0612;
    font-weight:800;
    font-size:1.05em;
    letter-spacing:0.4px;
    font-family:inherit;
    cursor:pointer;
    box-shadow:0 10px 34px rgba(124,58,237,0.3),0 0 0 1px rgba(255,255,255,0.15) inset;
}

.kz-back-btn{
    column-span:all;
    display:block;
    margin:14px auto 0;
    padding:10px 22px;
    border-radius:999px;
    border:1px solid rgba(255,255,255,0.25);
    background:rgba(255,255,255,0.08);
    color:#f3eefc;
    font-family:inherit;
    font-weight:800;
    font-size:0.9em;
    cursor:pointer;
    transition:background 0.15s;
}
.kz-back-btn:hover{ background:rgba(255,255,255,0.18); }

/* ---------------------------------------------------------------------
   تبويب الاتصال بالبث — يظهر فوق شاشة الإعدادات (منقول بالحرف من قالب
   روليت القبائل/تحدي الصور). زر ✕ عند الفشل يُخفي التبويب فقط، شاشة
   الإعدادات خلفه تبقى ظاهرة وتفاعلية.
--------------------------------------------------------------------- */
#kz-connect-dim{
    display:none;
    position:fixed;
    inset:0;
    z-index:160000;
    background:rgba(5,3,10,0.5);
    backdrop-filter:blur(2px);
}
#kz-connect-popup{
    display:none;
    position:fixed;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    z-index:160001;
    width:320px;
    max-width:88vw;
    padding:34px 26px 28px;
    border-radius:20px;
    background:rgba(20,12,34,0.9);
    backdrop-filter:blur(16px);
    border:1.5px solid var(--kz-accent2);
    box-shadow:0 0 0 1px rgba(124,58,237,0.15),0 0 40px rgba(124,58,237,0.4),0 20px 60px rgba(0,0,0,0.5);
    text-align:center;
    color:#fff;
    font-family:'Zain',Cairo,sans-serif;
}
#kz-connect-popup .kz-connect-spinner{
    width:46px;
    height:46px;
    margin:0 auto 18px;
    border-radius:50%;
    border:4px solid rgba(124,58,237,0.2);
    border-top-color:var(--kz-accent2);
    animation:kz-connect-spin 0.9s linear infinite;
}
@keyframes kz-connect-spin{ to{ transform:rotate(360deg); } }
#kz-connect-popup h3{ font-size:17px; font-weight:900; color:#fff; margin:0 0 6px; }
#kz-connect-popup p{ font-size:13px; color:#9d92b3; margin:0; }
#kz-connect-popup.kz-connect-error{
    border-color:#ef4444;
    box-shadow:0 0 0 1px rgba(239,68,68,0.15),0 0 40px rgba(239,68,68,0.35),0 20px 60px rgba(0,0,0,0.5);
}
#kz-connect-popup.kz-connect-error h3{ color:#ff8da3; }
.kz-connect-error-icon{ font-size:40px; margin-bottom:10px; }
#kz-connect-close-btn{
    position:absolute;
    top:12px;
    left:12px;
    width:28px;
    height:28px;
    border-radius:50%;
    background:rgba(255,255,255,0.1);
    border:none;
    color:#fff;
    font-size:13px;
    cursor:pointer;
}

/* ---------------------------------------------------------------------
   شاشة اللوبي — بدون صندوق، بطاقات اللاعبين مباشرة على خلفية الشاشة
   (نفس أسلوب لوبي روليت القبائل "lobby-no-box")، شبكة 6 أعمدة بحجم
   46px (معتمد بالنموذج)، شعار خلفية بشفافية 40%، سكرول داخلي للشبكة
   فقط (لا سكرول للصفحة كاملة).
--------------------------------------------------------------------- */
#kz-lobby{
    display:none;
    position:fixed;
    top:56px; left:0; right:0; bottom:0;
    flex-direction:column;
    align-items:center;
    padding:22px 24px 0;
    font-family:'Zain',Cairo,sans-serif;
    color:#fff;
    background:
        radial-gradient(ellipse 900px 500px at 50% -8%,rgba(124,58,237,0.18),transparent 60%),
        radial-gradient(ellipse 700px 500px at 90% 100%,rgba(216,120,255,0.16),transparent 60%),
        linear-gradient(180deg,#0d0818 0%,#090614 45%,#05030a 100%);
}

#kz-lobby-watermark{
    position:absolute;
    top:50%; left:50%;
    transform:translate(-50%,-50%);
    max-width:340px;
    width:38%;
    height:auto;
    opacity:0.4;
    pointer-events:none;
    z-index:0;
    filter:drop-shadow(0 0 30px rgba(124,58,237,0.25));
}

#kz-lobby h2{
    position:relative;
    z-index:1;
    margin:0 0 8px;
    font-size:1.5em;
    font-weight:900;
    text-align:center;
}
.kz-title-plain{ color:#fff; }
.kz-title-accent{ color:#ffb648; text-shadow:0 2px 10px rgba(255,182,72,0.4); }

.kz-join-hint{
    position:relative;
    z-index:1;
    display:flex;
    align-items:center;
    gap:10px;
    color:#d9c8e8;
    font-size:13px;
    margin-bottom:14px;
    flex-wrap:wrap;
    justify-content:center;
}
.kz-badge{
    border-radius:999px;
    padding:5px 14px;
    font-weight:700;
    font-size:12px;
}
.kz-keyword-badge{ background:rgba(128,212,255,0.1); border:1px solid rgba(128,212,255,0.35); color:#cdeeff; }
.kz-keyword-badge::before{ content:"🔑 "; }
.kz-count-badge{ background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); color:#f3eefc; }
.kz-count-badge::before{ content:"👥 "; }

#kz-lobby-grid{
    position:relative;
    z-index:1;
    width:100%;
    max-width:1220px;
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    display:grid;
    grid-template-columns:repeat(6,184px); /* 46px أفاتار -- basicCardTotalWidth(46) */
    justify-content:center;
    align-items:center;
    gap:0.5cm;
    padding:6px 4px 18px;
    align-content:start;
}
.kz-lobby-empty{
    grid-column:1 / -1;
    text-align:center;
    color:#8f7ba8;
    font-size:13px;
    padding:40px 0;
}

.kz-lobby-card-wrap{ position:relative; }
.kz-lobby-remove-x{
    position:absolute;
    top:-4px;
    left:-4px;
    width:20px;
    height:20px;
    border-radius:50%;
    background:rgba(239,68,68,0.85);
    border:none;
    color:#fff;
    font-size:11px;
    line-height:20px;
    text-align:center;
    cursor:pointer;
    z-index:5;
}

#kz-lobby-actions{
    position:relative;
    z-index:1;
    flex:0 0 auto;
    display:flex;
    justify-content:center;
    gap:14px;
    padding:14px 24px 18px;
    background:linear-gradient(0deg,rgba(5,3,10,0.85),rgba(5,3,10,0));
}
#kz-lobby-actions button{
    width:280px;
    height:46px;
    border-radius:999px;
    font-family:inherit;
    font-weight:800;
    font-size:0.9em;
    cursor:pointer;
}
.kz-btn-settings{ background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.25); color:#f3eefc; }
.kz-btn-settings:hover{ background:rgba(255,255,255,0.18); }
.kz-btn-start{ background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2)); border:none; color:#0a0612; box-shadow:0 8px 26px rgba(124,58,237,0.35); }
.kz-btn-start:disabled{ opacity:0.4; cursor:not-allowed; }
.kz-btn-platform{ background:transparent; border:1px solid rgba(255,255,255,0.2); color:#c9bfe0; }
.kz-btn-platform:hover{ background:rgba(255,255,255,0.08); }

@media (max-width:1160px){
    #kz-lobby-grid{ grid-template-columns:repeat(4,184px); }
}
@media (max-width:780px){
    #kz-lobby-grid{ grid-template-columns:repeat(2,184px); }
}

/* ---------------------------------------------------------------------
   تعليمات اللعبة -- تظهر تلقائياً أول ما تُفتح شاشة اللعبة (فوق شاشة
   الإعدادات)، وتُفتح لاحقاً يدوياً عبر زر "!" بالهيدر. دخول/خروج
   بأنيميشن (تكبير + تلاشي).
--------------------------------------------------------------------- */
:root{
    --gold:#e8b64c;
    --gold2:#fbe3a1;
}

#kz-instructions-dim{
    display:none;
    position:fixed; inset:0;
    z-index:170000;
    background:rgba(5,3,10,0.72);
    backdrop-filter:blur(4px);
    opacity:0;
    transition:opacity 0.35s ease;
}
#kz-instructions-dim.kz-show{ opacity:1; }

#kz-instructions-card{
    display:none;
    position:fixed;
    top:50%; left:50%;
    z-index:170001;
    width:min(480px,90vw);
    max-height:88vh;
    overflow-y:auto;
    transform:translate(-50%,-50%) scale(0.86);
    opacity:0;
    transition:transform 0.4s cubic-bezier(.2,.9,.3,1.25), opacity 0.35s ease;
    background:linear-gradient(180deg,rgba(28,16,45,0.97),rgba(10,6,18,0.98));
    border:1.5px solid transparent;
    border-radius:22px;
    background-clip:padding-box;
    padding:28px 26px 26px;
    box-shadow:0 0 0 1.5px rgba(232,182,76,0.35),0 30px 70px rgba(0,0,0,0.6),0 0 60px rgba(124,58,237,0.25);
    font-family:'Zain',Cairo,sans-serif;
    color:#fff;
}
#kz-instructions-card.kz-show{
    transform:translate(-50%,-50%) scale(1);
    opacity:1;
}
#kz-instructions-card.kz-hide{
    transform:translate(-50%,-50%) scale(0.9);
    opacity:0;
}

.kz-instr-icon{
    width:64px; height:64px;
    margin:0 auto 10px;
    border-radius:50%;
    background:radial-gradient(circle at 35% 30%,var(--gold2),var(--gold) 60%,#8a6a1e 100%);
    display:flex; align-items:center; justify-content:center;
    font-size:30px;
    box-shadow:0 6px 20px rgba(232,182,76,0.35);
}

#kz-instructions-card h2{
    margin:0 0 4px;
    text-align:center;
    font-size:1.5em;
    font-weight:900;
    background:linear-gradient(90deg,var(--gold2),var(--gold) 60%,#c99a30);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.kz-instr-sub{ text-align:center; color:#a99cc4; font-size:12.5px; margin-bottom:22px; }

.kz-instr-section{
    display:flex;
    gap:12px;
    align-items:flex-start;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,0.08);
}
.kz-instr-section:last-of-type{ border-bottom:none; }
.kz-instr-emoji{
    flex:0 0 auto;
    width:34px; height:34px;
    border-radius:10px;
    background:rgba(124,58,237,0.18);
    border:1px solid rgba(124,58,237,0.35);
    display:flex; align-items:center; justify-content:center;
    font-size:16px;
}
.kz-instr-text{ font-size:13.5px; line-height:1.85; color:#f0e9fa; }
.kz-instr-text b{ color:var(--gold2); font-weight:800; }
.kz-instr-text ul{ margin:4px 0 0; padding-inline-start:18px; }
.kz-instr-text li{ margin-bottom:2px; }

.kz-instr-tip{
    margin-top:16px;
    background:rgba(232,182,76,0.08);
    border:1px solid rgba(232,182,76,0.3);
    border-radius:12px;
    padding:10px 14px;
    font-size:12.5px;
    color:#fbe3a1;
    text-align:center;
    line-height:1.8;
}

#kz-instr-start-btn{
    display:block;
    width:100%;
    margin-top:22px;
    padding:14px 0;
    border:none;
    border-radius:999px;
    background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2));
    color:#0a0612;
    font-family:inherit;
    font-weight:900;
    font-size:1.05em;
    letter-spacing:0.4px;
    cursor:pointer;
    box-shadow:0 10px 30px rgba(124,58,237,0.35),0 0 0 1px rgba(255,255,255,0.15) inset;
}

/* ---------------------------------------------------------------------
   شاشة المباراة -- تتابع فتح الجولة (الخزنة + الساعات + مؤقت الحفظ +
   تبويب الخيارات A/B/C). منقول بالحرف من النموذج المعتمد.
--------------------------------------------------------------------- */
#kz-match{
    display:block;
    position:fixed;
    top:56px; left:0; right:0; bottom:0;
    overflow:hidden;
    font-family:'Zain',Cairo,sans-serif;
    color:#fff;
    background:
        radial-gradient(ellipse 1100px 650px at 50% -10%,rgba(124,58,237,0.20),transparent 60%),
        radial-gradient(ellipse 800px 600px at 90% 100%,rgba(216,120,255,0.12),transparent 60%),
        linear-gradient(180deg,#0d0818 0%,#090614 45%,#05030a 100%);
}

/* ⭐ الخزنة منحازة شوي لليسار، والساعات تطلع بنفس صفها الأفقي (مو فوقها
   ولا خلفها) -- طلب صريح. تاخذ المساحة المتبقية تحت صف الحالة (flex:1)
   بدل تموضع مطلق كامل الشاشة -- يمنع أي تراكب مع اسم اللاعب/صف الحالة */
#kz-vault-stage{
    flex:1 1 auto;
    min-height:0;
    width:100%;
    z-index:2;
    display:flex; align-items:center; justify-content:center;
    padding-inline-end:14%;
    gap:26px;
    pointer-events:none;
}
#kz-vault{
    position:relative;
    flex:0 0 auto;
    transform:scale(0);
    opacity:0;
    transition:transform 1.5s cubic-bezier(.2,.8,.25,1), opacity 1.5s ease;
    z-index:3;
    width:clamp(190px,24vw,260px); /* ⭐ متجاوب -- يكبر على شاشات الآيباد/الكمبيوتر، يصغر على الجوال */
}
#kz-vault svg{ width:100%; height:auto; display:block; }
#kz-vault.kz-in{ transform:scale(1); opacity:1; }
#kz-vault .kz-door{ transition:transform 0.7s cubic-bezier(.4,0,.2,1); transform-origin:266px 192px; }
#kz-vault.kz-open .kz-door{ transform:rotateY(-62deg); }

#kz-flying-clocks{
    position:relative;
    flex:0 0 auto;
    display:flex; align-items:flex-start; justify-content:center; gap:22px;
    z-index:5;
}

/* ⭐ كل ساعة عمود مستقل: رقم ترتيبها فوق بمسافة واضحة (ما يلاصقها)،
   ثم وجه الساعة تحته -- طلب صريح */
.kz-clock-col{
    display:flex; flex-direction:column; align-items:center;
    opacity:0;
}
.kz-clock-num{
    width:30px; height:30px;
    border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:15px; font-weight:900; color:#0a0612;
    background:linear-gradient(135deg,var(--gold2),var(--gold) 65%,#c99a30);
    box-shadow:0 0 0 3px rgba(232,182,76,0.18),0 6px 16px rgba(0,0,0,0.4);
    margin-bottom:12px;
    flex:0 0 auto;
}
.kz-flying-clock{
    position:relative;
    width:clamp(78px,10.5vw,120px); height:clamp(78px,10.5vw,120px); /* ⭐ متجاوب */
    flex:0 0 auto;
    opacity:0;
    filter:drop-shadow(0 8px 14px rgba(0,0,0,0.5));
}
.kz-flying-clock svg{ width:100%; height:100%; display:block; }

/* ⚠️ شاشة الخيارات A/B/C اتلغت بالكامل -- الإجابة الآن تُكتب مباشرة
   بالشات (أرقام الساعات بالترتيب) أثناء ظهور الساعات نفسها */


/* ---------------------------------------------------------------------
   عجلة اختيار اللاعب صاحب الدور -- سكرول عمودي، تظهر أول ما تبدأ
   المباراة قبل تتابع الخزنة
--------------------------------------------------------------------- */
#kz-picker{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:26px;
    opacity:1; transition:opacity 0.4s ease;
    z-index:10;
}
#kz-picker.kz-hidden{ opacity:0; pointer-events:none; }
#kz-picker h3{ margin:0; font-size:1.3em; font-weight:900; color:#f0e9fa; }

#kz-reel-window{
    position:relative;
    width:240px;
    height:min(360px,50vh);
    overflow:hidden;
    border-radius:18px;
    border:2px solid rgba(124,58,237,0.4);
    background:rgba(20,12,34,0.5);
    box-shadow:0 0 0 1px rgba(124,58,237,0.15),0 20px 50px rgba(0,0,0,0.5);
}
#kz-reel-window::before, #kz-reel-window::after{
    content:""; position:absolute; left:0; right:0; height:75px; z-index:5; pointer-events:none;
}
#kz-reel-window::before{ top:0; background:linear-gradient(180deg,rgba(20,12,34,0.97),transparent); }
#kz-reel-window::after{ bottom:0; background:linear-gradient(0deg,rgba(20,12,34,0.97),transparent); }

/* التبويب المميّز بمنتصف نافذة السكرول -- يحتضن الاسم اللي يتوقف عنده */
#kz-reel-highlight-tab{
    position:absolute;
    left:8px; right:8px; top:50%;
    height:60px;
    margin-top:-30px;
    z-index:2;
    border-radius:14px;
    border:1.5px solid rgba(232,182,76,0.35);
    background:linear-gradient(90deg,rgba(124,58,237,0.14),rgba(232,182,76,0.1));
    box-shadow:0 0 0 1px rgba(124,58,237,0.12) inset;
    transition:border-color 0.3s ease, box-shadow 0.3s ease, background 0.3s ease;
}
#kz-reel-highlight-tab.kz-locked{
    border-color:var(--gold);
    background:linear-gradient(90deg,rgba(232,182,76,0.16),rgba(124,58,237,0.16));
    box-shadow:0 0 0 1px rgba(232,182,76,0.25) inset,0 0 22px rgba(232,182,76,0.35);
}
#kz-reel-highlight-tab::before,
#kz-reel-highlight-tab::after{
    content:"";
    position:absolute; top:50%;
    width:0; height:0;
    border-top:6px solid transparent; border-bottom:6px solid transparent;
    transform:translateY(-50%);
    opacity:0.7;
}
#kz-reel-highlight-tab::before{ right:-3px; border-right:8px solid var(--gold2); }
#kz-reel-highlight-tab::after{ left:-3px; border-left:8px solid var(--gold2); }

#kz-reel-track{
    position:absolute; left:0; top:0; width:100%;
    display:flex; flex-direction:column; align-items:center;
    will-change:transform;
    z-index:1;
}
.kz-reel-name{
    flex:0 0 auto; height:60px; width:100%;
    display:flex; align-items:center; justify-content:center;
    text-align:center; font-size:19px; font-weight:800; color:#8f7ba8;
    transition:color 0.3s ease, font-size 0.3s ease;
}
.kz-reel-name.kz-locked-name{
    font-size:24px;
    font-weight:900;
    background:linear-gradient(90deg,var(--gold2),var(--gold) 60%,#c99a30);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    filter:drop-shadow(0 0 8px rgba(232,182,76,0.75)) drop-shadow(0 0 16px rgba(232,182,76,0.4)); /* ⭐ توهج حول الاسم لما يوقف عليه السكرول */
}
#kz-picker-btn{
    padding:13px 44px; border:none; border-radius:999px;
    background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2));
    color:#0a0612; font-family:inherit; font-weight:900; font-size:1em; cursor:pointer;
    box-shadow:0 10px 30px rgba(124,58,237,0.35);
}
#kz-picker-btn:disabled{ opacity:0.5; cursor:not-allowed; }
#kz-picker-result{ text-align:center; opacity:0; transform:scale(0.85); transition:opacity 0.4s ease, transform 0.4s ease; }
#kz-picker-result.kz-show{ opacity:1; transform:scale(1); }
#kz-picker-result .kz-picked-name{
    font-size:30px; font-weight:900;
    background:linear-gradient(90deg,var(--gold2),var(--gold) 60%,#c99a30);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
#kz-picker-result .kz-picked-sub{ font-size:14px; color:#d9c8e8; margin-top:6px; font-weight:800; }

/* ---------------------------------------------------------------------
   شارة اسم اللاعب صاحب الدور (مع صورته) -- تظهر فور اختياره وتبقى
   ثابتة فوق طول الجولة كاملة (حتى مرحلة الخيارات)
--------------------------------------------------------------------- */
/* ⭐ #kz-round صار عمود عمودي (flex column) بدل تموضع مطلق بالنسب --
   كل عنصر (الاسم/صف الحالة/الساعات/نص الإرشاد) ياخذ مساحته الحقيقية
   بالترتيب، بدون أي تخمين نسب ولا تراكب */
#kz-round{ display:none; position:absolute; inset:0; }
#kz-round.kz-show{
    display:flex; flex-direction:column; align-items:center;
    padding-top:26px;
    /* ⭐ يحجز مساحة يمين الشاشة لشريط اللاعبين اللي جاوبوا (#kz-answered-side-wrap،
       أقصى عرض ~100px + 14px مسافة من الحافة) حتى على تكبير المتصفح (Ctrl +) --
       يمنع أي تراكب */
    padding-inline-end:clamp(76px,8vw,130px);
}

#kz-turn-badge{
    flex:0 0 auto;
    display:flex; flex-direction:column; align-items:center; gap:6px;
    z-index:7;
    opacity:0; transition:opacity 0.4s ease;
}
#kz-turn-badge.kz-show{ opacity:1; }
#kz-turn-avatar{
    width:56px; height:56px;
    border-radius:50%;
    overflow:hidden;
    display:flex; align-items:center; justify-content:center;
    font-size:22px; font-weight:900; color:#fff;
    background:radial-gradient(circle at 35% 30%,#8f6bff,#5b2fd6 55%,#2b1466 100%);
    box-shadow:0 0 0 3px rgba(232,182,76,0.55),0 0 24px rgba(232,182,76,0.3),0 8px 18px rgba(0,0,0,0.4);
}
#kz-turn-avatar img{ width:100%; height:100%; object-fit:cover; }
#kz-turn-badge .kz-turn-name{
    font-size:clamp(19px,2.8vw,24px); font-weight:900;
    background:linear-gradient(90deg,var(--gold2),var(--gold) 60%,#c99a30);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
#kz-turn-badge .kz-turn-sub{
    font-size:12px; font-weight:800; color:#d9c8e8;
    background:rgba(124,58,237,0.14); border:1px solid rgba(124,58,237,0.35);
    border-radius:999px; padding:4px 16px;
}

/* ---------------------------------------------------------------------
   صف الحالة -- مباشرة تحت اسم اللاعب المستهدف: المتبقين / الإجابات /
   الوقت بجانب بعض بنفس الصف. يبقى ظاهر طول الجولة (مرحلة الساعات
   والحفظ ومرحلة اختيار الإجابة على حدٍ سواء) بدل عداد منفصل بنص الشاشة
--------------------------------------------------------------------- */
#kz-stats-row{
    flex:0 0 auto;
    margin-top:14px;
    display:flex; align-items:center; justify-content:center;
    gap:10px;
    flex-wrap:wrap;
    z-index:7;
    opacity:0; transition:opacity 0.4s ease;
}
#kz-stats-row.kz-show{ opacity:1; }
.kz-stat-pill{
    display:flex; align-items:center; gap:6px;
    background:rgba(20,12,34,0.55);
    backdrop-filter:blur(6px);
    border:1.5px solid rgba(124,58,237,0.35);
    border-radius:999px;
    padding:7px 16px;
    font-size:13px; font-weight:800; color:#f0e9fa;
    white-space:nowrap;
}
.kz-stat-pill .kz-stat-icon{ font-size:14px; }
.kz-stat-pill .kz-stat-val{ color:var(--gold2); font-weight:900; }
#kz-stat-time.kz-active{ border-color:var(--gold); box-shadow:0 0 16px rgba(232,182,76,0.3); }
#kz-stat-time.kz-active .kz-stat-val{ font-size:15px; }

/* ---------------------------------------------------------------------
   نص إرشاد الإجابة -- أسفل مسرح الساعات مباشرة، يظهر وقت مرحلة الحفظ
   ويختفي لما تبويب الخيارات A/B/C يطلع (الخيارات نفسها توضح الحرف)
--------------------------------------------------------------------- */
#kz-answer-instruction{
    flex:0 0 auto;
    margin-bottom:26px;
    text-align:center;
    opacity:0;
    transition:opacity 0.5s ease;
    padding:0 16px;
    z-index:6;
}
#kz-answer-instruction.kz-show{ opacity:1; }
#kz-answer-instruction .kz-instr-main{ font-size:14.5px; font-weight:800; color:#f0e9fa; }
#kz-answer-instruction .kz-instr-main b{ color:var(--gold2); }

/* ---------------------------------------------------------------------
   نتيجة الجولة -- تبويبين جنب بعض (✅ الناجين / ❌ المُقصَين) + زر
   "الجولة التالية" يدوي تحتهم (بدل الانتقال التلقائي)
--------------------------------------------------------------------- */
#kz-result-holder{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    z-index:8;
    opacity:0;
    transition:opacity 0.4s ease;
}
#kz-result-holder.kz-show{ opacity:1; }
#kz-result-panel{
    width:min(620px,92vw);
    max-height:78vh;
    display:flex; flex-direction:column; align-items:center;
    gap:16px;
}
.kz-result-tabs{
    display:flex; gap:14px;
    width:100%;
    flex-wrap:wrap;
}
.kz-result-tab{
    flex:1 1 220px;
    max-height:52vh;
    overflow-y:auto;
    background:rgba(20,12,34,0.55);
    backdrop-filter:blur(8px);
    border-radius:18px;
    padding:16px 14px;
    text-align:center;
}
.kz-result-tab-survivors{ border:2px solid #22c1a0; box-shadow:0 0 0 1px rgba(34,193,160,0.2),0 20px 50px rgba(0,0,0,0.45); }
.kz-result-tab-eliminated{ border:2px solid #ef4444; box-shadow:0 0 0 1px rgba(239,68,68,0.2),0 20px 50px rgba(0,0,0,0.45); }
.kz-result-tab-title{ font-size:15px; font-weight:900; margin-bottom:12px; }
.kz-result-tab-survivors .kz-result-tab-title{ color:#6fe6c9; }
.kz-result-tab-eliminated .kz-result-tab-title{ color:#ff8da3; }
.kz-result-list{ display:flex; flex-direction:column; gap:8px; }
.kz-result-name{
    border-radius:999px;
    padding:8px 14px;
    font-size:13.5px; font-weight:800; color:#f0e9fa;
}
.kz-result-name-ok{ background:rgba(34,193,160,0.12); border:1px solid rgba(34,193,160,0.35); }
.kz-result-name-bad{ background:rgba(239,68,68,0.1); border:1px solid rgba(239,68,68,0.3); }
.kz-result-empty{ font-size:12.5px; color:#8f7ba8; }
#kz-next-round-btn{
    padding:11px 34px;
    border:none; border-radius:999px;
    background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2));
    color:#0a0612; font-family:'Zain',Cairo,sans-serif; font-weight:900; font-size:0.92em;
    cursor:pointer;
    box-shadow:0 8px 26px rgba(124,58,237,0.35);
}


#kz-winner-placeholder{
    position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
    font-size:26px; font-weight:900;
    background:linear-gradient(90deg,var(--gold2),var(--gold) 60%,#c99a30);
    -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
    text-align:center;
}

/* ---------------------------------------------------------------------
   الإعدادات داخل المباراة -- درج جانبي (نفس نمط روليت القبائل المعتمَد)
--------------------------------------------------------------------- */
#kz-drawer-dim{ display:none; position:fixed; inset:0; z-index:9000; background:rgba(5,3,10,0.45); opacity:0; transition:opacity 0.3s ease; }
#kz-drawer-dim.kz-show{ opacity:1; }
#kz-drawer{
    display:none; position:fixed; top:0; right:0; width:360px; max-width:88vw; height:100vh; z-index:9001;
    background:rgba(15,9,26,0.96); backdrop-filter:blur(12px);
    border-inline-start:1px solid rgba(232,182,76,0.3); box-shadow:-12px 0 40px rgba(0,0,0,0.5);
    transform:translateX(100%); transition:transform 0.35s cubic-bezier(.2,.8,.2,1.05);
    flex-direction:column; overflow:hidden;
    font-family:'Zain',Cairo,sans-serif; color:#fff;
}
#kz-drawer.kz-show{ transform:translateX(0); }
.kz-drawer-header{ display:flex; align-items:center; justify-content:space-between; padding:16px 18px; border-bottom:1px solid rgba(255,255,255,0.08); flex:none; }
.kz-drawer-header h2{ font-size:1em; font-weight:900; margin:0; color:#fff; }
.kz-drawer-close-btn{ width:30px; height:30px; border-radius:50%; background:rgba(255,255,255,0.08); border:none; color:#fff; font-size:0.9em; display:flex; align-items:center; justify-content:center; cursor:pointer; }

.kz-drawer-tabs{ display:flex; gap:6px; padding:10px 18px 0; flex:none; }
.kz-drawer-tabs button{ flex:1; padding:8px 0; border-radius:8px 8px 0 0; border:none; cursor:pointer; background:transparent; color:#8f7ba8; font-family:inherit; font-weight:800; font-size:0.82em; border-bottom:2px solid transparent; }
.kz-drawer-tabs button.kz-tab-active{ color:#fff; border-bottom-color:var(--gold); background:rgba(232,182,76,0.06); }

.kz-drawer-body{ flex:1; min-height:0; overflow-y:auto; padding:14px 18px 18px; }

#kz-players-tab{ display:none; }
#kz-drawer.kz-tab-players #kz-players-tab{ display:block; }
#kz-drawer.kz-tab-players #kz-settings-tab{ display:none; }
#kz-players-tab-search{ width:100%; background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.15); border-radius:10px; padding:9px 12px; color:#fff; font-family:inherit; font-size:13px; margin-bottom:10px; }
#kz-players-tab-search::placeholder{ color:#5c516f; }
#kz-players-tab-filter{ display:flex; gap:6px; margin-bottom:12px; }
#kz-players-tab-filter button{ flex:1; padding:7px 0; border-radius:999px; border:1px solid rgba(255,255,255,0.16); background:transparent; color:#a99cc4; font-family:inherit; font-weight:800; font-size:11.5px; cursor:pointer; }
#kz-players-tab-filter button.kz-filter-active{ background:rgba(232,182,76,0.16); border-color:var(--gold); color:var(--gold2); }
#kz-players-tab-list{ display:flex; flex-direction:column; gap:8px; }
.kz-p-row{ display:flex; align-items:center; gap:10px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.1); border-radius:12px; padding:8px 10px; }
.kz-p-avatar{ width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:12px; font-weight:900; color:#fff; background:radial-gradient(circle at 35% 30%,#8f6bff,#5b2fd6 55%,#2b1466 100%); flex:0 0 auto; }
.kz-p-name{ flex:1; font-size:13px; font-weight:700; color:#f3eefc; }
.kz-p-row.kz-p-out .kz-p-name{ color:#8f7ba8; text-decoration:line-through; }
.kz-p-x-btn{ width:26px; height:26px; border-radius:50%; border:none; background:rgba(239,68,68,0.18); color:#ff8da3; font-size:12px; cursor:pointer; flex:0 0 auto; }
.kz-p-revive-btn{ width:26px; height:26px; border-radius:50%; border:none; background:rgba(34,193,160,0.18); color:#6fe6c9; font-size:12px; cursor:pointer; flex:0 0 auto; }

.kz-drawer-footer{ flex:none; padding:14px 18px 16px; border-top:1px solid rgba(255,255,255,0.08); display:flex; flex-direction:column; gap:10px; }
#kz-open-mini-lobby-btn{ padding:11px 0; border:none; border-radius:999px; background:linear-gradient(90deg,#22c1a0,#4fe0c4); color:#052018; font-family:inherit; font-weight:900; font-size:13px; cursor:pointer; }
.kz-drawer-back-link{ background:none; border:none; color:#c9bfe0; font-family:inherit; font-size:12px; font-weight:700; cursor:pointer; text-align:center; }

/* ---------------------------------------------------------------------
   لوبي إضافة لاعبين جدد -- 700×800، خلفية سوداء شفافة 15%، حدود ذهبية
   مميزة، زوايا منحنية 17%، إغلاق ✕
--------------------------------------------------------------------- */
#kz-mini-dim{ display:none; position:fixed; inset:0; z-index:9500; background:rgba(5,3,10,0.55); backdrop-filter:blur(3px); opacity:0; transition:opacity 0.3s ease; }
#kz-mini-dim.kz-show{ opacity:1; }
#kz-mini-lobby{
    display:none; position:fixed; top:50%; left:50%;
    width:700px; height:800px; max-width:94vw; max-height:92vh; z-index:9501;
    transform:translate(-50%,-50%) scale(0.92); opacity:0;
    transition:transform 0.35s cubic-bezier(.2,.8,.2,1.1), opacity 0.3s ease;
    background:rgba(0,0,0,0.15); backdrop-filter:blur(10px);
    border:2px solid var(--gold); border-radius:17%;
    box-shadow:0 0 0 1px rgba(232,182,76,0.2),0 30px 80px rgba(0,0,0,0.6);
    overflow:hidden; display:flex; flex-direction:column;
    font-family:'Zain',Cairo,sans-serif; color:#fff;
}
#kz-mini-lobby.kz-show{ transform:translate(-50%,-50%) scale(1); opacity:1; }
#kz-mini-close-btn{ position:absolute; top:22px; left:26px; z-index:5; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.2); color:#fff; font-size:15px; cursor:pointer; display:flex; align-items:center; justify-content:center; }
#kz-mini-body{ flex:1; min-height:0; overflow-y:auto; padding:54px 46px 20px; text-align:center; }
#kz-mini-body h2{ margin:0 0 8px; font-size:1.5em; font-weight:900; background:linear-gradient(90deg,var(--gold2),var(--gold) 60%,#c99a30); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
#kz-mini-sub{ font-size:13px; color:#d9c8e8; margin-bottom:22px; }
.kz-mini-hint{ display:flex; align-items:center; justify-content:center; gap:10px; margin-bottom:24px; flex-wrap:wrap; }
.kz-mini-badge{ border-radius:999px; padding:6px 16px; font-weight:700; font-size:13px; background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.18); }
.kz-mini-keyword-badge{ background:rgba(232,182,76,0.12); border:1px solid rgba(232,182,76,0.4); color:#fbe3a1; }
#kz-mini-grid{ display:grid; grid-template-columns:repeat(2,184px); justify-content:center; gap:0.5cm; padding:6px 0 10px; min-height:120px; }
.kz-mini-empty{ grid-column:1/-1; color:#8f7ba8; font-size:12.5px; padding:20px 0; }
#kz-mini-footer{ flex:none; padding:16px 30px 26px; border-top:1px solid rgba(255,255,255,0.1); display:flex; flex-direction:column; gap:10px; }
#kz-mini-complete-btn{ padding:12px 0; border-radius:999px; border:1px solid rgba(255,255,255,0.25); background:rgba(255,255,255,0.08); color:#f3eefc; font-family:inherit; font-weight:800; font-size:0.9em; cursor:pointer; }
#kz-mini-complete-btn.kz-done{ border-color:var(--gold); background:rgba(232,182,76,0.14); color:var(--gold2); }
#kz-mini-save-btn{ padding:13px 0; border:none; border-radius:999px; background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2)); color:#0a0612; font-family:inherit; font-weight:900; font-size:0.95em; cursor:pointer; }

/* ---------------------------------------------------------------------
   شاشة الفائز -- البطاقة نفسها من AGP.playerCard.renderTrophyCard
   المشتركة (250×300)؛ هنا بس غلاف التوسيط + سطر العنوان فوقها
--------------------------------------------------------------------- */
#kz-winner-wrap{
    position:absolute; inset:0;
    display:flex; flex-direction:column; align-items:center; justify-content:center;
    gap:22px;
    font-family:'Zain',Cairo,sans-serif;
}
#kz-winner-label{
    font-size:15px; font-weight:800; color:#e9d3ff;
    text-align:center; max-width:80%;
}
#kz-no-winner{ font-size:16px; color:#a99cc4; }

/* ---------------------------------------------------------------------
   شارة "يعيد الاتصال" -- صغيرة وغير مزعجة، تظهر بس لو انقطع الاتصال
   أثناء مباراة شغالة (بدل تغطية الشاشة كاملة زي تبويب الاتصال الأساسي)
--------------------------------------------------------------------- */
#kz-reconnect-badge{
    position:fixed;
    top:66px; left:50%; transform:translateX(-50%) translateY(-8px);
    z-index:50000;
    display:flex; align-items:center; gap:8px;
    background:rgba(20,12,34,0.9);
    backdrop-filter:blur(6px);
    border:1.5px solid rgba(232,182,76,0.5);
    border-radius:999px;
    padding:8px 18px;
    font-size:12.5px; font-weight:800; color:#fbe3a1;
    box-shadow:0 10px 26px rgba(0,0,0,0.45);
    opacity:0; pointer-events:none;
    transition:opacity 0.3s ease, transform 0.3s ease;
}
#kz-reconnect-badge.kz-show{ opacity:1; transform:translateX(-50%) translateY(0); }
#kz-reconnect-badge.kz-reconnect-error{ border-color:rgba(239,68,68,0.6); color:#ff8da3; }
.kz-reconnect-spinner{
    width:14px; height:14px; border-radius:50%;
    border:2px solid rgba(255,255,255,0.25); border-top-color:var(--gold2);
    animation:kz-reconnect-spin 0.8s linear infinite;
    flex:0 0 auto;
}
@keyframes kz-reconnect-spin{ to{ transform:rotate(360deg); } }

/* ---------------------------------------------------------------------
   بانر "فكرة اللعبة من الاستريمر" -- ثابت بزاوية الشاشة (لا يختفي عند
   أي تمرير)، بعيد عن أزرار اللوبي/المباراة السفلية، حدود ذهبية متوهجة
--------------------------------------------------------------------- */
/* ---------------------------------------------------------------------
   بانر "فكرة اللعبة من الاستريمر" -- يظهر بس بشاشة اللعب (الجولة)،
   مخفي بالإعدادات/اللوبي/الاتصال/التعليمات. أكبر 50% من القياس الأصلي
   (140×60 → 210×90)، مع عنوان فوقه، والمجموعة كلها بشفافية 50% ثابتة
--------------------------------------------------------------------- */
#kz-idea-banner-group{
    display:flex; flex-direction:column; align-items:center; gap:6px;
    position:fixed;
    bottom:16px; left:4px; /* ⭐ مسحوب شوي أكثر ناحية اليسار عن قبل */
    z-index:800;
    opacity:0; pointer-events:none; /* مخفي افتراضياً */
    transition:opacity 0.35s ease;
}
#kz-idea-banner-group.kz-show{ opacity:0.5; pointer-events:auto; } /* ⭐ شفافية 50% ثابتة */
#kz-idea-banner-caption{
    font-size:12px; font-weight:900; color:var(--gold2);
    background:rgba(10,6,18,0.6);
    border-radius:999px;
    padding:3px 12px;
    white-space:nowrap;
}
#kz-idea-banner-link{
    display:block;
    width:210px; /* ⭐ 140 × 1.5 */
    height:90px; /* ⭐ 60 × 1.5 */
    text-decoration:none;
}
#kz-idea-banner{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    border-radius:8px;
    border:1.5px solid rgba(232,182,76,0.6);
    background:rgba(0,0,0,0.35);
    box-shadow:0 0 8px 1px rgba(232,182,76,0.35),0 0 18px 3px rgba(124,58,237,0.35),0 6px 14px rgba(0,0,0,0.5);
    transition:transform 0.2s ease;
    animation:kz-banner-glow 2.4s ease-in-out infinite;
}
#kz-idea-banner-link:hover #kz-idea-banner{ transform:translateY(-2px) scale(1.03); }
@keyframes kz-banner-glow{
    0%,100%{ box-shadow:0 0 8px 1px rgba(232,182,76,0.35),0 0 18px 3px rgba(124,58,237,0.35),0 6px 14px rgba(0,0,0,0.5); }
    50%{ box-shadow:0 0 12px 2px rgba(232,182,76,0.55),0 0 26px 5px rgba(124,58,237,0.5),0 6px 14px rgba(0,0,0,0.5); }
}
@media (max-width:480px){
    #kz-idea-banner-link{ width:165px; height:71px; }
    #kz-idea-banner-group{ bottom:10px; left:2px; }
}

/* ---------------------------------------------------------------------
   شريط اللاعبين اللي جاوبوا -- عمودي بحافة الشاشة اليمنى، عنوان بصندوق
   بعدّاد حي فوقه، وكل شي (العنوان/الصناديق/الخط) يتكيف مع حجم الشاشة
   عن طريق clamp() بدل أرقام px ثابتة
--------------------------------------------------------------------- */
#kz-answered-side-wrap{
    position:fixed;
    top:56px; right:14px; bottom:14px;
    z-index:400;
    display:flex; flex-direction:column; align-items:flex-end;
    gap:8px;
    padding-top:8px;
    pointer-events:none;
    overflow-y:auto;
}
#kz-answered-side-title{
    background:rgba(20,12,34,0.6);
    border:1.5px solid rgba(111,230,201,0.35); /* ⭐ حدود نعناعية هادية */
    border-radius:10px;
    padding:6px 10px;
    text-align:center;
    font-size:clamp(10px,1vw,12px);
    font-weight:800; color:#c9bfe0;
    width:clamp(72px,9vw,100px);
}
#kz-answered-side-title b{ color:#6fe6c9; display:block; font-size:clamp(12px,1.2vw,14px); }
#kz-answered-side{
    display:flex; flex-direction:column;
    align-items:flex-end;
    gap:6px;
}
.kz-answered-side-chip{
    width:clamp(72px,9vw,100px); height:clamp(24px,2.6vw,30px);
    display:flex; align-items:center; justify-content:flex-start;
    gap:6px;
    padding:0 8px;
    border-radius:8px;
    background:rgba(20,12,34,0.55);
    border:1.5px solid rgba(111,230,201,0.4); /* ⭐ نفس حدود العنوان -- متناسقين */
    animation:kz-chip-in 0.3s cubic-bezier(.2,.8,.2,1.2);
    overflow:hidden;
}
.kz-answered-side-chip .kz-chip-avatar{
    width:clamp(16px,1.8vw,20px); height:clamp(16px,1.8vw,20px); border-radius:50%;
    flex:0 0 auto;
    background:radial-gradient(circle at 35% 30%,#8f6bff,#5b2fd6 55%,#2b1466 100%);
    display:flex; align-items:center; justify-content:center;
    font-size:9.5px; font-weight:900; color:#fff;
    box-shadow:0 0 0 2px rgba(34,193,160,0.5);
}
.kz-answered-side-chip .kz-chip-name{
    font-size:clamp(9.5px,1vw,10.5px); font-weight:800; color:#eafff6;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
@keyframes kz-chip-in{ from{ opacity:0; transform:scale(0.7); } to{ opacity:1; transform:scale(1); } }
@media (max-width:480px){
    #kz-answered-side-wrap{ right:8px; }
    #kz-answered-side-title, .kz-answered-side-chip{ width:66px; }
    .kz-answered-side-chip{ height:24px; }
}

/* ---------------------------------------------------------------------
   أزرار نهاية المباراة -- إعادة بنفس اللاعبين / مباراة جديدة / خروج
--------------------------------------------------------------------- */
#kz-end-actions{
    display:flex; flex-direction:column; gap:10px;
    width:min(320px,88vw);
}
#kz-end-actions button{
    padding:13px 0;
    border-radius:999px;
    font-family:'Zain',Cairo,sans-serif; font-weight:900; font-size:0.92em;
    cursor:pointer;
}
#kz-replay-btn{ border:none; background:linear-gradient(90deg,#22c1a0,#4fe0c4); color:#052018; }
#kz-newmatch-btn{ border:none; background:linear-gradient(90deg,var(--kz-accent),var(--kz-accent2)); color:#0a0612; }
#kz-exit-btn{ border:1px solid rgba(239,68,68,0.5); background:rgba(239,68,68,0.16); color:#ff8da3; }

/* ---------------------------------------------------------------------
   تبويب "الإجابة الصحيحة" الأخضر -- يظهر بعد ما كل اللاعبين يخلّصون
   اختيارهم، قبل تبويب الإقصاء. 300×300، خلفية خضراء شفافة 30%، حدود
   خضراء، دخول/خروج بأنيميشن، يبقى 3 ثواني
--------------------------------------------------------------------- */
#kz-correct-reveal-holder{
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    z-index:9;
}
#kz-correct-reveal-panel{
    width:300px; height:300px; max-width:88vw; max-height:70vh;
    background:rgba(34,193,160,0.3);
    border:2.5px solid #22c1a0;
    border-radius:24px;
    box-shadow:0 0 0 1px rgba(34,193,160,0.25),0 0 40px rgba(34,193,160,0.35),0 30px 70px rgba(0,0,0,0.5);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:18px;
    padding:24px;
    text-align:center;
    opacity:0;
    transform:scale(0.75);
    transition:opacity 0.4s ease, transform 0.4s cubic-bezier(.2,.8,.2,1.15);
}
#kz-correct-reveal-holder.kz-show #kz-correct-reveal-panel{ opacity:1; transform:scale(1); }
#kz-correct-reveal-holder.kz-hide #kz-correct-reveal-panel{ opacity:0; transform:scale(0.8); }
.kz-correct-reveal-title{ font-size:16px; font-weight:900; color:#eafff6; }
.kz-correct-reveal-times{ display:flex; align-items:center; gap:14px; font-size:28px; font-weight:900; color:#fff; }
.kz-correct-reveal-times span:not(:last-child)::after{ content:" - "; color:#bdf5e6; }
