/* 101/public/css/style.css - 17 Yuva & Mobil Responsive */
:root {
    --bg-dark: #071512;
    --table-green: #1a4d3f;
    --table-gradient: radial-gradient(circle at center, #276352 0%, #11362c 100%);
    --gold: #f59e0b;
    --gold-glow: rgba(245, 158, 11, 0.4);
    --emerald: #10b981;
    --text-light: #f3f4f6;
    --text-muted: #9ca3af;
    
    /* Taş Ölçüleri: 50x70px */
    --tile-width: 50px;
    --tile-height: 70px;
    --tile-gap: 3px;
}

* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    user-select: none;
    -webkit-user-select: none;
}

body {
    font-family: 'Outfit', sans-serif;
    background: var(--bg-dark);
    color: var(--text-light);
    height: 100vh;
    overflow: hidden;
    touch-action: manipulation;
}

/* Mobil Dikey Uyarı Overlay'i */
.landscape-warning {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(11, 21, 19, 0.96);
    backdrop-filter: blur(10px);
    z-index: 99999;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
}

.landscape-warning.dismissed {
    display: none !important;
}

.rotate-phone-icon {
    font-size: 3.5rem;
    margin-bottom: 15px;
    animation: rotatePhone 2s infinite ease-in-out;
}

@keyframes rotatePhone {
    0%, 10% { transform: rotate(0deg); }
    50%, 60% { transform: rotate(90deg); }
    100% { transform: rotate(0deg); }
}

.landscape-warning h2 {
    color: var(--gold);
    font-size: 1.3rem;
    margin-bottom: 8px;
}

.landscape-warning p {
    color: var(--text-muted);
    font-size: 0.95rem;
}

/* Dikey Mod Uyarısı Kaldırıldı (Dikeyde Tam Oynanabilirlik) */
.landscape-warning {
    display: none !important;
}

.game-container {
    display: flex;
    flex-direction: column;
    height: 100vh;
    background: var(--table-gradient);
    position: relative;
}

/* Üst Çubuk */
.top-bar {
    height: 48px;
    background: rgba(0, 0, 0, 0.5);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 50;
}

.brand {
    font-weight: 800;
    font-size: 1.05rem;
    letter-spacing: 1px;
    color: var(--gold);
}

.game-info {
    display: flex;
    align-items: center;
    gap: 12px;
}

.info-pill {
    background: rgba(255, 255, 255, 0.07);
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 0.8rem;
}

.info-pill .label {
    color: var(--text-muted);
    margin-right: 4px;
}

.indicator-box {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.75rem;
    font-weight: 700;
}

/* Mini Gösterge / Okey Taşları */
.mini-tile-view {
    width: 25px;
    height: 35px;
    border-radius: 3px;
    background-image: url('../assets/Taslar.png');
    background-size: 325px 175px; /* Tam 0.5 ölçek */
    box-shadow: 0 2px 5px rgba(0,0,0,0.5);
    border: 1px solid rgba(255,255,255,0.2);
}

/* Butonlar */
.btn {
    border: none;
    outline: none;
    padding: 6px 14px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 0.85rem;
    cursor: pointer;
    transition: all 0.18s ease;
}

.btn-gold {
    background: linear-gradient(135deg, #fbbf24, #d97706);
    color: #111 !important;
    font-weight: 800;
    box-shadow: 0 3px 10px rgba(245, 158, 11, 0.35);
}

.btn-gold:disabled, .btn-gold.is-disabled {
    background: linear-gradient(135deg, #5c4415, #3d2c0b) !important;
    color: #fef08a !important;
    border: 1px solid rgba(251, 191, 36, 0.45) !important;
    box-shadow: none !important;
    cursor: not-allowed;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.8);
}

.btn-secondary {
    background: rgba(255, 255, 255, 0.12);
    color: #fff;
}
.btn-secondary:hover {
    background: rgba(255, 255, 255, 0.2);
}

.btn-success {
    background: linear-gradient(135deg, #10b981, #059669);
    color: #fff;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.3);
}

.btn-pairs, .btn-purple {
    background: linear-gradient(135deg, #a855f7, #7c3aed);
    color: #ffffff !important;
    font-weight: 800;
    box-shadow: 0 4px 14px rgba(168, 85, 247, 0.45);
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
}

.btn-pairs:hover, .btn-purple:hover {
    background: linear-gradient(135deg, #c084fc, #9333ea);
}

.btn-pairs:disabled, .btn-pairs.is-disabled, .btn-purple:disabled {
    background: linear-gradient(135deg, #3b1368, #260946) !important;
    color: #f3e8ff !important;
    border: 1px solid rgba(168, 85, 247, 0.5) !important;
    box-shadow: none !important;
    cursor: not-allowed;
    opacity: 1 !important;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9);
}

.opened-group-card.is-pair-group {
    border: 1px solid rgba(168, 85, 247, 0.5);
    background: rgba(168, 85, 247, 0.12);
}

/* Masa Alanı */
.table-area {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 8px 12px 4px 12px;
}

/* Rakipler */
.opponent {
    position: absolute;
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
    padding: 6px 10px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.8rem;
    font-weight: 600;
    z-index: 10;
}

.opponent.active-turn {
    border-color: var(--gold);
    box-shadow: 0 0 14px var(--gold-glow);
}

.opponent-top { top: 6px; left: 50%; transform: translateX(-50%); }
.opponent-left { left: 10px; top: 38%; transform: translateY(-50%); }
.opponent-right { right: 10px; top: 38%; transform: translateY(-50%); }

.avatar-badge {
    font-size: 1rem;
    background: rgba(255, 255, 255, 0.1);
    width: 26px;
    height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.tile-count {
    color: var(--gold);
    font-size: 0.72rem;
}

/* Masa Ortası: 4 Oyuncu Alanı ve Deste */
.arena-board {
    flex: 1;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    max-width: 960px;
    margin: 0 auto;
    width: 100%;
    padding: 4px 10px;
    z-index: 5;
}

.middle-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 15px;
}

.opened-zone {
    background: rgba(0, 0, 0, 0.22);
    border: 1px dashed rgba(255, 255, 255, 0.14);
    border-radius: 10px;
    padding: 3px 8px;
    min-height: 44px;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: all 0.2s ease;
}

.opened-zone.has-opened {
    background: rgba(0, 0, 0, 0.45);
    border: 1px solid rgba(16, 185, 129, 0.65);
    box-shadow: 0 0 12px rgba(16, 185, 129, 0.2);
}

.zone-tag {
    font-size: 0.68rem;
    font-weight: 700;
    color: var(--gold);
    opacity: 0.8;
    margin-bottom: 2px;
}

.zone-groups {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: center;
}

.zone-top {
    width: 65%;
    max-height: 85px;
    overflow-y: auto;
    margin-top: 76px; /* Ayşe'nin adını, avatarını ve attığı taş yuvasını kapatmaması için aşağı alındı */
}

.zone-bottom {
    width: 70%;
    max-height: 85px;
    overflow-y: auto;
    margin-bottom: 4px; /* Istakanın hemen üstü */
}

.zone-left, .zone-right {
    flex: 1;
    max-width: 280px;
    max-height: 95px;
    overflow-y: auto;
}

.opened-group-card {
    display: flex;
    gap: 2px;
    background: rgba(255, 255, 255, 0.08);
    padding: 3px 5px;
    border-radius: 6px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    cursor: pointer;
    transition: all 0.2s ease;
    border: 1px solid transparent;
}

.opened-group-card:hover {
    background: rgba(255, 255, 255, 0.18);
    border-color: rgba(251, 191, 36, 0.6);
    transform: translateY(-2px);
}

.opened-group-card.just-updated {
    animation: flashCard 0.9s ease-out;
}

@keyframes flashCard {
    0% {
        box-shadow: 0 0 18px #10b981;
        border-color: #10b981;
        transform: scale(1.1);
    }
    100% {
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
        border-color: transparent;
        transform: scale(1);
    }
}

.is-processable-active .opened-group-card {
    border: 1px dashed rgba(16, 185, 129, 0.85);
    background: rgba(16, 185, 129, 0.16);
    box-shadow: 0 0 8px rgba(16, 185, 129, 0.35);
    animation: pulseProcess 1.6s infinite alternate;
}

@keyframes pulseProcess {
    0% {
        box-shadow: 0 0 4px rgba(16, 185, 129, 0.3);
        border-color: rgba(16, 185, 129, 0.5);
    }
    100% {
        box-shadow: 0 0 12px rgba(16, 185, 129, 0.85);
        border-color: rgba(16, 185, 129, 1);
    }
}

/* Ortadaki Kapalı Deste */
.center-deck-section {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.deck-pile {
    width: 54px;
    height: 76px;
    position: relative;
    cursor: pointer;
    transition: transform 0.18s ease;
}

.deck-pile:hover {
    transform: translateY(-4px);
}

.deck-card {
    position: absolute;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #374151, #1f2937);
    border: 2px solid #9ca3af;
    border-radius: 5px;
    box-shadow: 2px 2px 6px rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 0.75rem;
    color: #e5e7eb;
}

.deck-card-3 { top: -6px; left: -2px; }
.deck-card-2 { top: -3px; left: -1px; }
.deck-card-1 { top: 0; left: 0; }

.deck-badge {
    position: absolute;
    top: -8px;
    right: -8px;
    background: var(--gold);
    color: #111;
    font-weight: 800;
    font-size: 0.7rem;
    padding: 2px 6px;
    border-radius: 10px;
    z-index: 5;
}

/* Kullanıcı Sahnesi (Alt kısım) */
.user-stage {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    gap: 10px;
    padding-bottom: 4px;
    position: relative;
    z-index: 25;
    flex-shrink: 0; /* Asla aşağı taşmaz / küçülmez */
}

/* Yan Atık Cepleri */
.discard-pocket {
    width: 65px;
    min-height: calc(var(--tile-height) * 2 + 18px);
    height: calc(var(--tile-height) * 2 + 18px);
    background: rgba(0, 0, 0, 0.55);
    border: 2px dashed rgba(255, 255, 255, 0.2);
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.discard-pocket:hover {
    border-color: var(--gold);
    background: rgba(245, 158, 11, 0.08);
}

.pocket-label {
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.5px;
    color: var(--gold);
    margin-bottom: 3px;
    user-select: none;
}

.pocket-tile-slot {
    flex: 1;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pocket-tile-slot .tile-item {
    width: var(--tile-width) !important;
    height: var(--tile-height) !important;
}

.empty-slot-text {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.3);
    font-weight: 600;
    user-select: none;
}

/* 17 Yuvalı Tam Sığan Istaka Konteyneri */
.rack-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    max-width: 950px;
    min-height: calc(var(--tile-height) * 2 + 18px);
    height: calc(var(--tile-height) * 2 + 18px);
    flex: 1;
    overflow: hidden;
}

.rack-scroll-btn {
    position: absolute;
    width: 26px;
    height: 52px;
    background: rgba(0, 0, 0, 0.85);
    border: 1px solid rgba(245, 158, 11, 0.4);
    color: var(--gold);
    font-size: 0.95rem;
    border-radius: 6px;
    cursor: pointer;
    z-index: 30;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    backdrop-filter: blur(4px);
    user-select: none;
}
.rack-scroll-btn:hover {
    background: rgba(245, 158, 11, 0.3);
    border-color: var(--gold);
}
.scroll-left { left: 4px; }
.scroll-right { right: 4px; }

.cue-rack {
    width: 100%;
    min-height: calc(var(--tile-height) * 2 + 18px);
    height: calc(var(--tile-height) * 2 + 18px);
    background-image: url('../assets/istaka.jpg');
    background-size: cover;
    background-position: center;
    border-radius: 12px;
    padding: 6px 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.6), inset 0 2px 4px rgba(255,255,255,0.25);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 4px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    scroll-behavior: smooth;
}
.cue-rack::-webkit-scrollbar { display: none; }

/* Istaka Rafları (17 Yuva) */
.rack-row {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap !important;
    align-items: center;
    gap: var(--tile-gap);
    min-width: max-content;
    height: calc(var(--tile-height) + 3px);
    min-height: calc(var(--tile-height) + 3px);
    padding-bottom: 2px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.45);
}

/* Taş Yuvası (Slot) */
.tile-slot {
    width: var(--tile-width);
    height: var(--tile-height);
    min-width: var(--tile-width);
    max-width: var(--tile-width);
    min-height: var(--tile-height);
    max-height: var(--tile-height);
    background: rgba(0, 0, 0, 0.28);
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 4px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease;
    flex-shrink: 0;
    flex-grow: 0;
    box-sizing: border-box;
    overflow: visible;
}

.tile-slot.drag-over {
    background: rgba(245, 158, 11, 0.35);
    outline: 2px dashed var(--gold);
    border-color: transparent;
}

/* Taş Görünümü (Sprite: 1300% 500% Yüzdelik Kusursuz Ölçek) */
.tile-item {
    width: 100% !important;
    height: 100% !important;
    max-width: 100% !important;
    max-height: 100% !important;
    box-sizing: border-box;
    background-image: url('../assets/Taslar.png');
    background-size: 1300% 500% !important;
    border-radius: 3px;
    cursor: grab;
    position: relative;
    box-shadow: 1px 1px 0 #bbb, 2px 2px 0 #888, 0 3px 8px rgba(0,0,0,0.5);
    transition: transform 0.12s ease, box-shadow 0.12s ease;
    z-index: 10;
    flex-shrink: 0;
    user-select: none;
    -webkit-user-select: none;
}

.tile-item:hover {
    transform: translateY(-4px);
    box-shadow: 1px 1px 0 #bbb, 2px 2px 0 #888, 0 6px 14px rgba(0,0,0,0.6);
}

.tile-item.selected {
    transform: translateY(-7px);
    box-shadow: 0 0 10px var(--gold), 0 0 18px var(--gold-glow);
    border: 2px solid var(--gold);
}

.tile-item.okey-tile {
    box-shadow: 0 0 10px #3b82f6, 1px 1px 0 #bbb, 2px 2px 0 #888;
}

.tile-item.in-valid-group {
    outline: 2px solid #10b981;
}

.tile-item.dragging {
    opacity: 0.35;
    cursor: grabbing;
    pointer-events: none; /* Altındaki yuvayı ve taşı algılayabilmesi için kritik */
}

.discard-pocket.drag-over {
    background: rgba(245, 158, 11, 0.25) !important;
    border-color: var(--gold) !important;
}

/* Alt Bar */
.bottom-bar {
    height: 48px;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    z-index: 50;
}

.rack-actions {
    display: flex;
    gap: 6px;
}

.score-display {
    font-size: 0.9rem;
    font-weight: 700;
    color: #fff;
    display: flex;
    align-items: center;
    gap: 10px;
}

.score-display strong {
    color: var(--gold);
}

.score-display .divider {
    color: rgba(255, 255, 255, 0.2);
}

.open-hand-controls {
    display: flex;
    align-items: center;
    gap: 8px;
}

.hand-score-badge {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.18);
    padding: 6px 12px;
    border-radius: 8px;
    font-size: 0.85rem;
    font-weight: 700;
    color: #e2e8f0;
    white-space: nowrap;
    box-sizing: border-box;
    user-select: none;
    transition: all 0.2s ease;
}

.hand-score-badge:hover {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(251, 191, 36, 0.4);
}

.hand-score-badge .badge-title {
    color: #cbd5e1;
    font-weight: 600;
    font-size: 0.82rem;
    display: inline;
}

.hand-score-badge .badge-val {
    color: var(--gold, #fbbf24);
    font-weight: 800;
    font-size: 0.88rem;
    display: inline;
}

/* Toast */
.toast-popup {
    position: fixed;
    top: 60px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(17, 24, 39, 0.95);
    border: 1px solid var(--gold);
    color: #fff;
    padding: 8px 20px;
    border-radius: 25px;
    font-weight: 700;
    font-size: 0.85rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.6);
    z-index: 1000;
    transition: opacity 0.25s, transform 0.25s;
}

.toast-popup.hidden {
    opacity: 0;
    transform: translateX(-50%) translateY(-10px);
    pointer-events: none;
}

/* Mobil & Laptop Yatay Ekran Optimizasyonu */
@media screen and (max-height: 700px) {
    .top-bar { height: 40px; padding: 0 10px; }
    .bottom-bar { height: 42px; padding: 0 10px; }
    .brand { font-size: 0.95rem; }
    .info-pill { font-size: 0.75rem; padding: 2px 8px; }
    .btn { padding: 4px 10px; font-size: 0.8rem; }
    
    :root {
        --tile-width: 44px;
        --tile-height: 62px;
        --tile-gap: 2px;
    }
    
    .discard-pocket {
        width: 56px;
    }
    .opened-table {
        min-height: 70px;
        max-height: 120px;
    }
}

@media screen and (max-height: 520px) {
    .top-bar { height: 34px; padding: 0 8px; }
    .bottom-bar { height: 36px; padding: 0 8px; }
    
    .opponent-top { top: 2px; padding: 3px 8px; }
    .zone-top { margin-top: 48px; max-height: 70px; }
    
    :root {
        --tile-width: 36px;
        --tile-height: 50px;
        --tile-gap: 2px;
    }
    
    .discard-pocket {
        width: 46px;
        padding: 6px 3px;
    }
    .pocket-label {
        font-size: 0.65rem;
    }
    .opened-table {
        min-height: 55px;
        max-height: 85px;
    }
    .hand-score-badge {
        padding: 3px 8px;
        font-size: 0.74rem;
        gap: 4px;
    }
    .hand-score-badge .badge-title {
        font-size: 0.72rem;
    }
    .hand-score-badge .badge-val {
        font-size: 0.76rem;
    }
}

@media screen and (max-height: 400px) {
    .top-bar { height: 30px; padding: 0 6px; }
    .bottom-bar { height: 32px; padding: 0 6px; }
    .btn { padding: 3px 6px; font-size: 0.72rem; }
    .info-pill { font-size: 0.7rem; padding: 1px 6px; }
    
    :root {
        --tile-width: 32px;
        --tile-height: 45px;
        --tile-gap: 1px;
    }
    
    .discard-pocket {
        width: 40px;
        padding: 4px 2px;
    }
    .pocket-label {
        font-size: 0.6rem;
    }
    .zone-top { margin-top: 40px; max-height: 55px; }
    .opened-table { min-height: 45px; max-height: 75px; }
}

@media screen and (max-width: 768px) {
    .user-stage {
        gap: 6px;
        padding-left: 4px;
        padding-right: 4px;
    }
}

@media screen and (max-width: 600px) {
    :root {
        --tile-width: 33px;
        --tile-height: 46px;
        --tile-gap: 1.5px;
    }
    .user-stage {
        gap: 4px;
        padding-bottom: 2px;
    }
    .discard-pocket {
        width: 38px;
        padding: 4px 2px;
    }
    .pocket-label {
        font-size: 0.58rem;
    }
    .rack-scroll-btn {
        width: 22px;
        height: 44px;
        font-size: 0.8rem;
    }
    .scroll-left { left: 1px; }
    .scroll-right { right: 1px; }
    .bottom-bar {
        padding: 0 4px;
        height: 40px;
    }
    .rack-actions {
        gap: 3px;
    }
    .rack-actions .btn {
        padding: 3px 6px;
        font-size: 0.72rem;
    }
    .open-actions .btn {
        padding: 3px 6px;
        font-size: 0.72rem;
    }
    .open-hand-controls {
        gap: 4px;
    }
    .hand-score-badge {
        padding: 2px 6px;
        font-size: 0.68rem;
        gap: 3px;
    }
    .hand-score-badge .badge-title {
        font-size: 0.66rem;
    }
    .hand-score-badge .badge-val {
        font-size: 0.7rem;
    }
}

/* ==========================================================================
   📱 MOBİL DİKEY OYUN MODU (FULL PORTRAIT GAMEPLAY MODE)
   ========================================================================== */
@media screen and (orientation: portrait), screen and (max-width: 768px) and (max-aspect-ratio: 13/10) {
    /* 1. Oyun Konteyneri: Ekran yüksekliğine tam otursun, dikey esnek akış */
    .game-container {
        height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        padding: 0 !important;
    }

    /* 2. Kompakt Mobil Üst Bar */
    .game-container .top-bar {
        height: auto !important;
        min-height: 38px !important;
        padding: 4px 8px !important;
        flex-wrap: wrap !important;
        gap: 4px !important;
        background: rgba(0, 0, 0, 0.8) !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        z-index: 60 !important;
    }
    .game-container .top-bar .brand {
        display: none !important;
    }
    .game-container .game-info {
        display: flex !important;
        flex-wrap: wrap !important;
        gap: 3px !important;
        align-items: center !important;
        flex: 1 !important;
    }
    .game-container .info-pill {
        font-size: 0.68rem !important;
        padding: 2px 5px !important;
        height: 22px !important;
        line-height: 18px !important;
        border-radius: 6px !important;
    }
    .game-container .indicator-box {
        padding: 1px 4px !important;
        height: 24px !important;
        gap: 2px !important;
        border-radius: 6px !important;
    }
    .game-container .indicator-box .label {
        font-size: 0.58rem !important;
    }
    .game-container .mini-tile-view {
        width: 16px !important;
        height: 22px !important;
    }
    .game-container .top-actions {
        display: flex !important;
        gap: 3px !important;
        align-items: center !important;
    }
    .game-container .top-actions .btn {
        padding: 2px 6px !important;
        font-size: 0.7rem !important;
        height: 24px !important;
        line-height: 18px !important;
        border-radius: 6px !important;
    }

    /* 3. Masa Alanı (Table Area) */
    .table-area {
        flex: 1 !important;
        position: relative !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        padding: 2px 4px !important;
        overflow: hidden !important;
        width: 100% !important;
    }

    /* 4. 3 Rakip: Üst Banda Yan Yana Hizalama */
    .opponent {
        position: absolute !important;
        top: 2px !important;
        padding: 3px 5px !important;
        gap: 4px !important;
        font-size: 0.68rem !important;
        border-radius: 8px !important;
        background: rgba(10, 16, 26, 0.88) !important;
        border: 1px solid rgba(255, 255, 255, 0.15) !important;
        backdrop-filter: blur(6px) !important;
        z-index: 15 !important;
        max-width: 32% !important;
        height: 42px !important;
        box-sizing: border-box !important;
    }
    .opponent-left {
        left: 2px !important;
        top: 2px !important;
        transform: none !important;
    }
    .opponent-top {
        left: 50% !important;
        top: 2px !important;
        transform: translateX(-50%) !important;
    }
    .opponent-right {
        right: 2px !important;
        left: auto !important;
        top: 2px !important;
        transform: none !important;
    }
    .opponent .avatar-badge {
        width: 20px !important;
        height: 20px !important;
        font-size: 0.75rem !important;
        flex-shrink: 0 !important;
    }
    .opponent-info {
        overflow: hidden !important;
        line-height: 1.1 !important;
    }
    .opponent-info .name {
        font-size: 0.66rem !important;
        white-space: nowrap !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        max-width: 48px !important;
    }
    .opponent-info .tile-count {
        font-size: 0.6rem !important;
    }
    .bot-discard-slot {
        width: 22px !important;
        height: 30px !important;
        flex-shrink: 0 !important;
        border-radius: 3px !important;
        margin-left: 2px !important;
        margin-right: 2px !important;
    }
    .opponent-timer-track {
        height: 2px !important;
    }

    /* 5. Masa Ortası: Açılan Perler ve Merkez Deste */
    .arena-board {
        flex: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        margin-top: 46px !important; /* Rakiplerin hemen altından başlar */
        margin-bottom: 2px !important;
        padding: 2px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: space-evenly !important;
        gap: 3px !important;
        overflow-y: auto !important;
        scrollbar-width: none !important;
    }
    .arena-board::-webkit-scrollbar { display: none; }

    /* Açılan Per Bölgeleri */
    .opened-zone {
        min-height: 34px !important;
        padding: 2px 4px !important;
        border-radius: 6px !important;
        background: rgba(0, 0, 0, 0.35) !important;
        width: 100% !important;
    }
    .zone-tag {
        font-size: 0.58rem !important;
        padding: 0 4px !important;
        margin-bottom: 1px !important;
    }
    .zone-groups {
        gap: 3px !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }

    /* Orta Sıra (Sol Bölge, Deste, Sağ Bölge) */
    .middle-row {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 4px !important;
    }
    .zone-left, .zone-right {
        flex: 1 !important;
        min-width: 0 !important;
    }
    .center-deck-section {
        flex-shrink: 0 !important;
        padding: 0 4px !important;
    }
    .deck-pile {
        width: 44px !important;
        height: 58px !important;
    }
    .deck-card {
        font-size: 0.65rem !important;
    }
    .deck-badge {
        font-size: 0.62rem !important;
        padding: 1px 4px !important;
        top: -5px !important;
        right: -5px !important;
    }

    /* 6. Kullanıcı Sahnesi (Atık Cepleri Üstte, Istaka Altta %100) */
    .user-stage {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        width: 100% !important;
        padding: 2px 2px 0 !important;
        gap: 2px !important;
        flex-shrink: 0 !important;
    }

    /* Yan Atık Cepleri: Istakanın Üstüne Yatay Hizalanır */
    .discard-pocket {
        min-height: 34px !important;
        height: 34px !important;
        flex-direction: row !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 2px 8px !important;
        border-radius: 8px !important;
        background: rgba(0, 0, 0, 0.7) !important;
        border: 1.5px dashed rgba(245, 158, 11, 0.4) !important;
        width: auto !important;
        min-width: 95px !important;
    }
    .left-pocket {
        order: 1 !important;
    }
    .right-pocket {
        order: 2 !important;
    }
    .pocket-label {
        font-size: 0.66rem !important;
        margin-bottom: 0 !important;
        font-weight: 800 !important;
    }
    .pocket-tile-slot {
        width: 22px !important;
        height: 30px !important;
        flex: none !important;
    }
    .pocket-tile-slot .tile-item {
        width: 22px !important;
        height: 30px !important;
    }
    .empty-slot-text {
        font-size: 0.6rem !important;
    }
    .undo-pocket-btn {
        font-size: 0.62rem !important;
        padding: 2px 4px !important;
    }

    /* 14 Yuvalı Tam Sığan Istaka (RekorOyun Referans Standartı) */
    .rack-wrapper {
        order: 3 !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        height: auto !important;
        min-height: 0 !important;
        margin-top: 2px !important;
        border-radius: 10px !important;
        position: relative !important;
    }
    .cue-rack {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 6px 4px !important;
        border-radius: 10px !important;
        gap: 4px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
    }
    .rack-scroll-btn {
        display: none !important;
    }
    .rack-row {
        width: 100% !important;
        min-width: 0 !important;
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 2px !important;
        padding-bottom: 2px !important;
        border-bottom: 3px solid rgba(0, 0, 0, 0.5) !important;
    }
    .tile-slot {
        flex: 1 1 0 !important;
        min-width: 0 !important;
        max-width: 48px !important;
        width: auto !important;
        aspect-ratio: 5 / 7 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        border-radius: 3px !important;
        background: rgba(0, 0, 0, 0.3) !important;
        border: 1px dashed rgba(255, 255, 255, 0.18) !important;
        box-sizing: border-box !important;
        flex-shrink: 1 !important;
    }
    .tile-item {
        width: 100% !important;
        height: 100% !important;
        border-radius: 3px !important;
    }

    /* 7. Alt Kontrol Barı: 2 Katmanlı Başparmak Paneli */
    .bottom-bar {
        height: auto !important;
        min-height: 68px !important;
        padding: 4px 6px 6px !important;
        flex-direction: column !important;
        justify-content: center !important;
        gap: 4px !important;
        background: rgba(0, 0, 0, 0.85) !important;
        border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
        z-index: 50 !important;
    }

    /* 1. Katman: 101 El Açma ve Skor Rozetleri */
    .open-hand-controls {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 4px !important;
    }
    .hand-score-badge {
        padding: 3px 6px !important;
        font-size: 0.68rem !important;
        border-radius: 6px !important;
        gap: 3px !important;
        flex: 1 !important;
        justify-content: center !important;
    }
    .hand-score-badge .badge-title {
        font-size: 0.64rem !important;
    }
    .hand-score-badge .badge-val {
        font-size: 0.72rem !important;
    }
    #openHandBtn, #openPairsBtn {
        padding: 5px 8px !important;
        font-size: 0.74rem !important;
        font-weight: 800 !important;
        border-radius: 8px !important;
        flex: 1.2 !important;
    }
    #undoDiscardBtn {
        padding: 5px 6px !important;
        font-size: 0.68rem !important;
        margin-left: 0 !important;
    }

    /* 2. Katman: Seri/Çift Dizme ve Hızlı Eylemler */
    .rack-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 4px !important;
    }
    .rack-actions .btn {
        padding: 4px 6px !important;
        font-size: 0.72rem !important;
        border-radius: 6px !important;
        flex: 1 !important;
        text-align: center !important;
    }
    /* 3. Katman: Sözler, Fırlat ve Yeni El */
    .game-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
        gap: 4px !important;
    }
    .game-actions .btn {
        padding: 4px 6px !important;
        font-size: 0.72rem !important;
        border-radius: 6px !important;
        flex: 1 !important;
        text-align: center !important;
        height: 28px !important;
        line-height: 20px !important;
    }
}

/* ==========================================================================
   YATAY EKRAN (LANDSCAPE) MOBİL ISTAKA & MASA DÜZENİ
   ========================================================================== */
@media screen and (orientation: landscape) and (max-height: 600px) {
    #gameFullscreenBtn {
        display: none !important;
    }
    .user-stage {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: flex-end !important;
        gap: 6px !important;
        width: 100% !important;
        padding: 0 4px 1px !important;
        margin: 0 auto !important;
    }
    .discard-pocket {
        min-height: 72px !important;
        height: 72px !important;
        width: 38px !important;
        min-width: 38px !important;
        max-width: 40px !important;
        flex-direction: column !important;
        justify-content: space-between !important;
        align-items: center !important;
        padding: 3px 2px !important;
        border-radius: 6px !important;
        flex-shrink: 0 !important;
    }
    .left-pocket {
        order: 1 !important;
    }
    .rack-wrapper {
        order: 2 !important;
        width: auto !important;
        max-width: 440px !important;
        flex: 0 0 auto !important;
        margin: 0 !important;
        border-radius: 8px !important;
        height: auto !important;
        min-height: 0 !important;
    }
    .right-pocket {
        order: 3 !important;
    }
    .pocket-label {
        font-size: 0.55rem !important;
        font-weight: 800 !important;
        line-height: 1 !important;
    }
    .pocket-tile-slot {
        width: 22px !important;
        height: 30px !important;
        border-radius: 3px !important;
    }
    .pocket-tile-slot .tile-item {
        width: 22px !important;
        height: 30px !important;
        font-size: 0.8rem !important;
    }
    .cue-rack {
        width: 432px !important;
        max-width: 100% !important;
        padding: 3px 4px !important;
        gap: 2px !important;
        border-radius: 8px !important;
        height: auto !important;
        min-height: 0 !important;
        display: flex !important;
        flex-direction: column !important;
    }
    .rack-row {
        width: 100% !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: center !important;
        align-items: center !important;
        gap: 2px !important;
        border-bottom: 2px solid rgba(0, 0, 0, 0.5) !important;
        padding-bottom: 1px !important;
        height: auto !important;
        min-height: 0 !important;
    }
    .tile-slot {
        flex: 0 0 28px !important;
        width: 28px !important;
        max-width: 28px !important;
        height: 38px !important;
        max-height: 38px !important;
        min-width: 28px !important;
        min-height: 38px !important;
        border-radius: 3px !important;
        background: rgba(0, 0, 0, 0.3) !important;
        border: 1px dashed rgba(255, 255, 255, 0.18) !important;
        box-sizing: border-box !important;
        aspect-ratio: auto !important;
    }
    .tile-item {
        width: 28px !important;
        height: 38px !important;
        min-width: 28px !important;
        min-height: 38px !important;
        border-radius: 3px !important;
        font-size: 0.95rem !important;
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4) !important;
    }
    .tile-item .tile-num {
        font-size: 0.95rem !important;
        font-weight: 800 !important;
    }
    .tile-item .tile-icon {
        font-size: 0.72rem !important;
    }
    header.game-header {
        height: 34px !important;
        min-height: 34px !important;
        padding: 2px 8px !important;
    }
    .indicator-box {
        height: 26px !important;
        padding: 1px 6px !important;
        font-size: 0.68rem !important;
        gap: 4px !important;
    }
    .mini-tile-view {
        width: 17px !important;
        height: 23px !important;
    }
    .top-actions .btn {
        height: 26px !important;
        min-height: 26px !important;
        padding: 2px 7px !important;
        font-size: 0.72rem !important;
    }
    .bottom-bar {
        height: 36px !important;
        min-height: 36px !important;
        padding: 2px 8px !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        align-items: center !important;
        gap: 6px !important;
    }
    .bottom-bar .btn {
        height: 28px !important;
        min-height: 28px !important;
        padding: 2px 7px !important;
        font-size: 0.72rem !important;
        white-space: nowrap !important;
    }
    .hand-score-badge {
        height: 28px !important;
        min-height: 28px !important;
        padding: 2px 6px !important;
        font-size: 0.68rem !important;
    }
    .hand-score-badge .badge-val {
        font-size: 0.75rem !important;
    }
    .rack-actions, .open-hand-controls, .game-actions {
        margin: 0 !important;
        gap: 4px !important;
    }
}

/* Bot Atık Taş Yuvaları */
.opponent-info {
    display: flex;
    flex-direction: column;
}

.bot-discard-slot {
    width: 34px;
    height: 48px;
    background: rgba(0, 0, 0, 0.45);
    border: 1px dashed rgba(255, 255, 255, 0.25);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 6px;
    margin-right: 6px;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.5);
    overflow: hidden;
    flex-shrink: 0;
    box-sizing: border-box;
    padding: 1px;
}

.bot-discard-tile {
    width: 100% !important;
    height: 100% !important;
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.6);
    background-size: 1300% 500% !important;
    background-repeat: no-repeat !important;
    flex-shrink: 0;
}

/* El Sonu ve Tüm Modallar */
.round-modal {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    backdrop-filter: blur(10px);
    z-index: 30000;
    display: flex;
    align-items: center;
    justify-content: center;
}

.round-modal.hidden {
    display: none !important;
}

.modal-card {
    background: #0f231d;
    border: 2px solid var(--gold);
    border-radius: 20px;
    padding: 24px 32px;
    max-width: 440px;
    width: 90%;
    text-align: center;
    box-shadow: 0 15px 40px rgba(0,0,0,0.8);
    animation: popIn 0.3s ease-out;
}

@keyframes popIn {
    from { transform: scale(0.8); opacity: 0; }
    to { transform: scale(1); opacity: 1; }
}

.modal-card h2 {
    color: var(--gold);
    font-size: 1.5rem;
    margin-bottom: 10px;
}

.modal-card p {
    color: var(--text-light);
    font-size: 0.95rem;
    margin-bottom: 18px;
}

.modal-scores, .scores-table {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 12px;
    padding: 12px;
    margin-bottom: 20px;
    font-size: 0.88rem;
    text-align: left;
}

.modal-scores div, .scores-table div {
    display: flex;
    justify-content: space-between;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

/* Modal Actions Row */
.modal-actions-row {
    display: flex;
    gap: 12px;
    justify-content: center;
    width: 100%;
}

.modal-actions-row .btn {
    flex: 1;
}

/* Info Pill Gold */
.info-pill-gold {
    background: linear-gradient(135deg, rgba(234, 179, 8, 0.25), rgba(202, 138, 4, 0.4)) !important;
    border: 1px solid var(--gold) !important;
    color: var(--gold-light) !important;
    font-weight: 700;
}

/* Turnuva Seçim Modalı */
.tournament-card {
    max-width: 520px;
}

.tournament-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin: 20px 0;
}

.tournament-option-card {
    background: rgba(0, 0, 0, 0.4);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 16px 10px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.tournament-option-card:hover {
    border-color: rgba(234, 179, 8, 0.5);
    background: rgba(234, 179, 8, 0.08);
    transform: translateY(-2px);
}

.tournament-option-card.active {
    border-color: var(--gold);
    background: linear-gradient(180deg, rgba(234, 179, 8, 0.2) 0%, rgba(202, 138, 4, 0.1) 100%);
    box-shadow: 0 0 15px rgba(234, 179, 8, 0.3);
}

.tourney-icon {
    font-size: 2rem;
    margin-bottom: 6px;
}

.tourney-title {
    font-weight: 700;
    font-size: 0.95rem;
    color: #fff;
    margin-bottom: 2px;
}

.tourney-desc {
    font-size: 0.85rem;
    color: var(--gold-light);
    font-weight: 800;
    margin-bottom: 8px;
}

.tourney-badge {
    font-size: 0.7rem;
    background: rgba(255, 255, 255, 0.1);
    padding: 2px 6px;
    border-radius: 10px;
    color: var(--text-light);
}

.tournament-option-card.active .tourney-badge {
    background: var(--gold);
    color: #0b1713;
    font-weight: 700;
}

/* Skor Cetveli Tablosu */
.score-sheet-card {
    max-width: 540px;
}

.table-responsive {
    max-height: 260px;
    overflow-y: auto;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(0, 0, 0, 0.35);
    margin: 15px 0;
}

.score-sheet-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
    text-align: center;
}

.score-sheet-table th {
    background: rgba(234, 179, 8, 0.15);
    color: var(--gold);
    padding: 10px 8px;
    font-weight: 700;
    position: sticky;
    top: 0;
    border-bottom: 1px solid rgba(234, 179, 8, 0.3);
}

.score-sheet-table td {
    padding: 8px 6px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    color: #e2e8f0;
}

.score-sheet-table tbody tr:hover {
    background: rgba(255, 255, 255, 0.04);
}

.score-sheet-table tfoot tr {
    background: rgba(0, 0, 0, 0.5);
    font-weight: 800;
    border-top: 2px solid var(--gold);
}

.score-sheet-table tfoot td {
    padding: 10px 6px;
    color: var(--gold-light);
    font-size: 0.95rem;
}

.score-winner {
    color: #10b981 !important;
    font-weight: 700;
}

.score-penalty {
    color: #f87171;
}

/* Şampiyonluk & Podyum Modalı */
.champion-card {
    max-width: 480px;
    background: radial-gradient(circle at top, #1e3a2f 0%, #0c1c17 100%);
    border: 2px solid #ffd700;
    box-shadow: 0 0 50px rgba(255, 215, 0, 0.4);
}

.champion-trophy {
    font-size: 4rem;
    animation: bounceTrophy 1.5s infinite alternate ease-in-out;
}

@keyframes bounceTrophy {
    from { transform: translateY(0) scale(1); }
    to { transform: translateY(-8px) scale(1.05); }
}

.champion-card h2 {
    font-size: 1.8rem;
    color: #ffd700;
    text-shadow: 0 0 10px rgba(255, 215, 0, 0.5);
    margin-bottom: 4px;
}

.podium-container {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: 16px;
    margin: 25px 0 15px 0;
    height: 180px;
}

.podium-col {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 90px;
}

.crown {
    font-size: 1.4rem;
    margin-bottom: -6px;
    animation: floatCrown 1s infinite alternate ease-in-out;
}

@keyframes floatCrown {
    from { transform: translateY(0); }
    to { transform: translateY(-4px); }
}

.podium-col .player-avatar {
    font-size: 2rem;
}

.podium-col .player-name {
    font-weight: 700;
    font-size: 0.88rem;
    color: #fff;
    margin: 2px 0;
}

.podium-col .player-score {
    font-size: 0.78rem;
    font-weight: 700;
    color: var(--gold-light);
    margin-bottom: 6px;
}

.podium-bar {
    width: 100%;
    border-radius: 8px 8px 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    color: rgba(255, 255, 255, 0.8);
    font-size: 1.3rem;
}

.rank-1 .podium-bar {
    height: 95px;
    background: linear-gradient(180deg, #ffd700 0%, #b8860b 100%);
    color: #0b1713;
    box-shadow: 0 0 20px rgba(255, 215, 0, 0.4);
}

.rank-2 .podium-bar {
    height: 70px;
    background: linear-gradient(180deg, #cbd5e1 0%, #64748b 100%);
    color: #0f172a;
}

.rank-3 .podium-bar {
    height: 50px;
    background: linear-gradient(180deg, #d97706 0%, #78350f 100%);
    color: #fff;
}

.rank-4-info {
    font-size: 0.85rem;
    color: var(--text-light);
    background: rgba(0, 0, 0, 0.3);
    padding: 6px 14px;
    border-radius: 20px;
    display: inline-block;
    margin: 0 auto;
}

/* ==========================================================================
   LOBİ & BEKLEME ODASI (MULTIPLAYER UI)
   ========================================================================== */
.lobby-overlay {
    position: fixed;
    inset: 0;
    background: radial-gradient(circle at center, #132a21 0%, #081410 100%);
    z-index: 20000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    overflow-y: auto;
}

.lobby-overlay.hidden {
    display: none;
}

.lobby-card {
    background: rgba(14, 30, 24, 0.95);
    border: 2px solid var(--gold);
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8), 0 0 30px rgba(234, 179, 8, 0.2);
    border-radius: 20px;
    max-width: 680px;
    width: 100%;
    padding: 24px;
    color: #fff;
}

.lobby-header {
    text-align: center;
    margin-bottom: 18px;
}

.lobby-logo {
    font-size: 1.6rem;
    font-weight: 800;
    color: var(--gold);
    letter-spacing: 1px;
    text-shadow: 0 0 10px rgba(234, 179, 8, 0.5);
}

.lobby-header p {
    font-size: 0.88rem;
    color: var(--text-light);
    margin-top: 4px;
}

/* Profil Kutusu */
.profile-setup-box {
    background: rgba(0, 0, 0, 0.4);
    border-radius: 12px;
    padding: 12px 16px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    border: 1px solid rgba(255, 255, 255, 0.08);
}

.avatar-selection {
    display: flex;
    gap: 8px;
}

.avatar-option {
    font-size: 1.6rem;
    cursor: pointer;
    padding: 4px;
    border-radius: 50%;
    transition: transform 0.2s, background 0.2s;
}

.avatar-option:hover {
    transform: scale(1.2);
}

.avatar-option.selected {
    background: rgba(234, 179, 8, 0.3);
    box-shadow: 0 0 10px var(--gold);
    transform: scale(1.15);
}

.player-input-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.player-input-row label {
    font-size: 0.85rem;
    color: var(--gold-light);
    white-space: nowrap;
}

.player-input-row input {
    background: rgba(0, 0, 0, 0.5);
    border: 1px solid rgba(234, 179, 8, 0.4);
    border-radius: 8px;
    color: #fff;
    padding: 8px 12px;
    font-size: 0.95rem;
    font-weight: 700;
    width: 100%;
    outline: none;
}

.player-input-row input:focus {
    border-color: var(--gold);
    box-shadow: 0 0 10px rgba(234, 179, 8, 0.4);
}

/* Hızlı Oyun */
.quick-play-section {
    margin-bottom: 18px;
}

.btn-large {
    width: 100%;
    padding: 12px;
    font-size: 1.05rem;
    font-weight: 800;
    border-radius: 12px;
}

/* Lobi Izgarası */
.lobby-main-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

@media (max-width: 600px) {
    .lobby-main-grid {
        grid-template-columns: 1fr;
    }
}

.lobby-action-box {
    background: rgba(0, 0, 0, 0.35);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 14px;
    padding: 16px;
}

.lobby-action-box h3 {
    color: var(--gold);
    font-size: 1.05rem;
    margin-bottom: 4px;
}

.lobby-action-box p {
    font-size: 0.78rem;
    color: var(--text-light);
    margin-bottom: 12px;
}

.form-group {
    margin-bottom: 10px;
    text-align: left;
}

.form-group label {
    display: block;
    font-size: 0.8rem;
    color: var(--gold-light);
    margin-bottom: 4px;
}

.form-group input {
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 8px 10px;
    color: #fff;
    font-size: 0.9rem;
    outline: none;
}

.tourney-rounds-selector {
    display: flex;
    gap: 6px;
}

.round-opt-btn {
    flex: 1;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    color: #fff;
    padding: 6px;
    font-size: 0.85rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.round-opt-btn.active {
    background: var(--gold);
    color: #0c1a15;
    border-color: var(--gold);
}

.code-join-row {
    display: flex;
    gap: 8px;
}

.code-join-row input {
    flex: 1;
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 8px;
    padding: 8px 10px;
    color: #fff;
    font-weight: 700;
    letter-spacing: 1px;
}

/* Canlı Masalar Listesi */
.public-rooms-list {
    max-height: 140px;
    overflow-y: auto;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 8px;
    background: rgba(0, 0, 0, 0.2);
}

.room-item-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    font-size: 0.82rem;
}

.room-item-row:last-child {
    border-bottom: none;
}

.room-item-title {
    font-weight: 700;
    color: #fff;
}

.room-item-details {
    font-size: 0.72rem;
    color: var(--gold-light);
}

.no-rooms-msg {
    padding: 16px;
    text-align: center;
    color: var(--text-light);
    font-size: 0.8rem;
}

/* ==========================================================================
   BEKLEME ODASI (WAITING LOUNGE)
   ========================================================================== */
.lounge-card {
    max-width: 580px;
}

.lounge-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid rgba(234, 179, 8, 0.2);
    padding-bottom: 10px;
    margin-bottom: 8px;
}

.lounge-header h2 {
    font-size: 1.3rem;
    color: var(--gold);
    margin: 0;
}

.lounge-code-badge {
    background: rgba(234, 179, 8, 0.15);
    border: 1px solid var(--gold);
    padding: 4px 10px;
    border-radius: 20px;
    font-size: 0.85rem;
    color: var(--gold-light);
    display: flex;
    align-items: center;
    gap: 8px;
}

.btn-copy {
    background: transparent;
    border: none;
    color: #fff;
    cursor: pointer;
    font-size: 0.8rem;
    padding: 2px 6px;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.1);
}

.btn-copy:hover {
    background: rgba(255, 255, 255, 0.2);
}

.lounge-seats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    margin: 20px 0;
}

.lounge-seat-box {
    background: rgba(0, 0, 0, 0.4);
    border: 1px dashed rgba(255, 255, 255, 0.2);
    border-radius: 12px;
    padding: 12px 6px;
    text-align: center;
    min-height: 110px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.lounge-seat-box.occupied {
    border: 1px solid var(--gold);
    background: rgba(234, 179, 8, 0.08);
}

.lounge-seat-box .seat-avatar {
    font-size: 2rem;
    margin-bottom: 4px;
}

.lounge-seat-box .seat-name {
    font-weight: 700;
    font-size: 0.82rem;
    color: #fff;
    max-width: 90px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.lounge-seat-box .seat-status {
    font-size: 0.7rem;
    color: var(--text-light);
    margin-top: 4px;
}

.lounge-seat-box.occupied .seat-status {
    color: #10b981;
    font-weight: 700;
}

/* ==========================================================================
   ÜYE GİRİŞİ / KAYIT VE PROFİL STİLLERİ
   ========================================================================== */
.lobby-auth-bar {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    margin-bottom: 12px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.auth-box {
    display: flex;
    align-items: center;
    gap: 10px;
}

.btn-sm {
    padding: 6px 14px;
    font-size: 0.82rem;
    font-weight: 700;
    border-radius: 8px;
}

/* Giriş Yapmış Kullanıcı Rozeti */
.user-profile-badge {
    background: rgba(0, 0, 0, 0.4);
    border: 1px solid var(--gold);
    border-radius: 20px;
    padding: 4px 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 0.85rem;
}

.user-avatar-mini {
    font-size: 1.3rem;
}

.user-chips-badge {
    color: #facc15;
    font-weight: 800;
    background: rgba(234, 179, 8, 0.15);
    padding: 2px 8px;
    border-radius: 12px;
    border: 1px solid rgba(234, 179, 8, 0.3);
}

.user-stats-badge {
    color: #10b981;
    font-weight: 700;
    font-size: 0.78rem;
}

/* Auth Modalları */
.auth-modal-card {
    max-width: 440px;
    text-align: left;
}

.auth-modal-card h2 {
    text-align: center;
    color: var(--gold);
    margin-bottom: 4px;
}

.auth-modal-card p {
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-light);
    margin-bottom: 18px;
}

.auth-error-msg {
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid #ef4444;
    color: #fca5a5;
    padding: 8px 12px;
    border-radius: 8px;
    font-size: 0.82rem;
    margin-top: 10px;
}

.auth-switch-link {
    margin-top: 16px;
    text-align: center;
    font-size: 0.82rem;
    color: var(--text-light);
}

.auth-switch-link a {
    color: var(--gold-light);
    font-weight: 700;
    text-decoration: underline;
    cursor: pointer;
}

.auth-switch-link a:hover {
    color: #fff;
}

/* ==========================================================================
   BAHİSLİ MASALAR & HIZLI EŞLEŞME (MATCHMAKING) STİLLERİ
   ========================================================================== */
.section-title {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--gold-light);
    margin-bottom: 8px;
    text-align: left;
}

.bet-tables-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
    margin-bottom: 10px;
}

@media (max-width: 600px) {
    .bet-tables-grid {
        grid-template-columns: 1fr;
    }
}

.bet-table-card {
    background: rgba(0, 0, 0, 0.45);
    border: 2px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 10px 8px;
    text-align: center;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.bet-table-card:hover {
    border-color: rgba(234, 179, 8, 0.5);
    background: rgba(234, 179, 8, 0.08);
    transform: translateY(-2px);
}

.bet-table-card.active {
    border-color: var(--gold);
    background: linear-gradient(180deg, rgba(234, 179, 8, 0.25) 0%, rgba(202, 138, 4, 0.1) 100%);
    box-shadow: 0 0 15px rgba(234, 179, 8, 0.35);
    transform: scale(1.02);
}

.table-tier-icon {
    font-size: 1.8rem;
    margin-bottom: 2px;
}

.table-tier-name {
    font-weight: 700;
    font-size: 0.9rem;
    color: #fff;
}

.table-bet-amount {
    color: #facc15;
    font-weight: 800;
    font-size: 0.82rem;
    margin: 3px 0;
}

.table-players-online {
    font-size: 0.7rem;
    color: #10b981;
    font-weight: 600;
}

/* Matchmaking Modal */
.matchmaking-card {
    max-width: 400px;
    padding: 30px 24px;
}

.matchmaking-spinner {
    position: relative;
    width: 90px;
    height: 90px;
    margin: 0 auto 16px auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.pulse-ring {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 3px solid var(--gold);
    animation: pulseRing 1.4s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}

@keyframes pulseRing {
    0% { transform: scale(0.6); opacity: 1; }
    100% { transform: scale(1.35); opacity: 0; }
}

.dice-icon {
    font-size: 2.8rem;
    animation: rotateDice 2.5s infinite ease-in-out;
}

@keyframes rotateDice {
    0% { transform: rotate(0deg) scale(1); }
    50% { transform: rotate(180deg) scale(1.15); }
    100% { transform: rotate(360deg) scale(1); }
}

.matchmaking-info-badge {
    background: rgba(234, 179, 8, 0.15);
    border: 1px solid var(--gold);
    color: var(--gold-light);
    font-weight: 700;
    font-size: 0.85rem;
    padding: 6px 14px;
    border-radius: 20px;
    display: inline-block;
    margin: 10px 0;
}

.matchmaking-timer {
    font-size: 1.6rem;
    font-weight: 800;
    color: #fff;
    font-family: monospace;
    letter-spacing: 2px;
}

/* Lounge Durum Bildirimi */
.lounge-match-status {
    background: rgba(16, 185, 129, 0.15);
    border: 1px solid #10b981;
    color: #6ee7b7;
    padding: 10px 14px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    font-size: 0.9rem;
    font-weight: 700;
    margin-top: 15px;
    animation: fadeIn 0.3s ease-in;
}

.spinner-mini {
    width: 16px;
    height: 16px;
    border: 2px solid rgba(16, 185, 129, 0.3);
    border-top-color: #10b981;
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}




/* ==========================================================================
   PORT 3000 STANDARD LOBBY & AUTH STYLES INTEGRATION
   ========================================================================== */
*{box-sizing:border-box}html,body{margin:0;height:100%;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial;color:#eef1f4;background:#05070a}body{overflow:hidden}.hidden{display:none!important}.app-shell{height:100vh;min-height:650px;background:radial-gradient(circle at 20% 40%,rgba(170,124,47,.12),transparent 34%),radial-gradient(circle at 80% 15%,rgba(22,57,78,.22),transparent 36%),linear-gradient(135deg,#05070a 0%,#0b0f14 58%,#071019 100%);position:relative}.app-shell:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,transparent 49.8%,rgba(213,168,82,.07) 50%,transparent 50.2%)}.topbar{height:76px;max-width:1440px;margin:auto;padding:0 34px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(220,180,100,.15);position:relative;z-index:2}.brand{display:flex;gap:12px;align-items:center}.brand-mark{width:44px;height:44px;border-radius:12px;background:linear-gradient(145deg,#f0ce79,#b07a27);display:grid;place-items:center;color:#111;font-weight:900}.brand b{display:block;letter-spacing:1px}.brand small,.mini,.eyebrow{color:#d7b461;letter-spacing:1.4px;font-size:11px}.top-actions{display:flex;gap:12px;align-items:center}.online-dot{font-size:12px;color:#a8b3bf}.online-dot:first-letter{color:#35d07f}.ghost,.outline-btn{background:#10151c;border:1px solid #313843;color:#f4f4f4;padding:10px 14px;border-radius:9px;text-decoration:none;cursor:pointer}.landing{height:calc(100vh - 76px);max-width:1440px;margin:auto;padding:28px 34px 84px;display:grid;grid-template-columns:minmax(390px,.9fr) minmax(620px,1.3fr);gap:52px;align-items:center}.hero{padding-left:18px}.hero h1{font-size:clamp(54px,5vw,84px);line-height:.93;margin:18px 0 20px;letter-spacing:-4px}.hero h1 em{font-style:normal;color:#dfb75f;text-shadow:0 8px 38px rgba(207,155,54,.12)}.hero p{max-width:600px;color:#aeb6bf;font-size:18px;line-height:1.65}.hero-stats{display:flex;gap:12px;margin-top:28px}.hero-stats div{min-width:122px;padding:15px 18px;border:1px solid rgba(215,180,97,.18);background:rgba(12,16,22,.68);border-radius:12px}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{font-size:18px}.hero-stats span{font-size:11px;color:#82909d;margin-top:4px}.panel,.lobby-board{background:rgba(12,15,20,.92);border:1px solid rgba(220,176,84,.32);box-shadow:0 28px 100px rgba(0,0,0,.42);border-radius:20px}.auth-panel{max-width:650px;padding:30px}.panel-head h2{font-size:32px;margin:7px 0}.panel-head p{color:#929ca7;margin:0 0 20px}.tabs{display:grid;grid-template-columns:1fr 1fr;background:#080b0f;border:1px solid #222933;padding:4px;border-radius:10px}.tab{padding:11px;border:0;background:transparent;color:#8d98a3;border-radius:7px;font-weight:700}.tab.active{background:#1a2028;color:#ebc96f}form label{display:block;color:#c9a95f;font-size:12px;margin-top:15px}form input{width:100%;margin-top:7px;background:#07090d;border:1px solid #34302a;color:white;padding:13px 14px;border-radius:8px;outline:none}.gold-btn{width:100%;margin-top:20px;padding:14px;border:0;border-radius:9px;font-weight:900;background:linear-gradient(#e5c46d,#aa7627);color:#0c0b09;cursor:pointer}.secure-row{display:flex;justify-content:space-between;color:#65717d;font-size:10px;margin-top:17px}.lobby-board{padding:20px;max-height:calc(100vh - 180px);overflow:hidden}.profile-strip{height:66px;display:flex;align-items:center;gap:12px;padding-bottom:15px;border-bottom:1px solid #24272d}.profile-strip img{width:50px;height:50px;border-radius:13px;object-fit:cover;border:2px solid #d6ad54}.profile-strip div:nth-child(2){min-width:180px}.profile-strip small,.wallet small{display:block;color:#7d8791;font-size:9px;letter-spacing:1px}.profile-strip b{display:block;font-size:18px}.profile-strip span{font-size:10px;color:#8b949e}.profile-strip i{display:block;width:110px;height:4px;background:#262d34;border-radius:4px;margin-top:5px;overflow:hidden}.profile-strip u{display:block;height:100%;background:#d8ad51}.wallet{margin-left:auto;text-align:right}.wallet strong{color:#ecc45e}.lobby-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:16px;margin-top:16px}.rooms-box,.side-box{background:#090d12;border:1px solid #252b33;border-radius:15px;padding:15px;min-height:432px}.section-title,.chat-head{display:flex;align-items:center;justify-content:space-between}.section-title h3,.chat-head h3{margin:2px 0 12px;font-size:16px}.section-title small,.chat-head small{font-size:9px;color:#caa657;letter-spacing:1px}.outline-btn{font-size:11px;padding:8px 11px}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-height:188px;max-height:188px;overflow:auto}.room-card{background:#0e141b;border:1px solid #2b3540;color:#fff;border-radius:12px;text-align:left;padding:13px;cursor:pointer}.room-card:hover{border-color:#c49b49}.room-top{display:flex;justify-content:space-between;font-size:10px;color:#84919d}.room-badge{color:#e6bd5e;font-weight:800}.room-card b{display:block;margin:8px 0 5px}.room-card small{color:#7e8a94}.room-people{display:flex;align-items:center;gap:4px;margin-top:10px}.room-people i{font-style:normal;width:20px;height:20px;border-radius:50%;background:#273748;display:grid;place-items:center;font-size:9px}.room-people span{font-size:10px;color:#84909b;margin-left:3px}.mode-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.primary-action,.bot-action{height:66px;border-radius:12px;border:1px solid #3b3a2c;background:linear-gradient(135deg,#1c1710,#14110d);color:white;display:flex;align-items:center;gap:11px;padding:12px;text-align:left;cursor:pointer}.bot-action{background:linear-gradient(135deg,#0d1720,#111827);border-color:#243c53}.mode-actions span{font-size:24px}.mode-actions b,.mode-actions small{display:block}.mode-actions small{color:#87919a;margin-top:4px}.lobby-chat{height:185px;overflow:auto;border:1px solid #202832;background:#070a0e;border-radius:10px;padding:9px}.lobby-line{display:grid;grid-template-columns:auto 1fr auto;gap:7px;font-size:11px;padding:7px;border-bottom:1px solid #151b21}.lobby-line b{color:#e0bd68}.lobby-line span{color:#b7c0c8}.lobby-line em{font-size:8px;font-style:normal;background:#26384e;padding:2px 5px;border-radius:7px}.chat-form{display:flex;gap:8px;margin-top:8px}.chat-form input{margin:0;padding:10px}.chat-form button{border:0;background:#d5aa50;color:#111;font-weight:800;padding:0 14px;border-radius:8px}.settings-mini{display:flex;gap:8px;margin-top:10px}.settings-mini label{margin:0;background:#10161c;border:1px solid #242b32;padding:7px 9px;border-radius:8px;color:#aeb7c0;font-size:10px}.cosmetics{display:grid;grid-template-columns:52px 1fr;gap:7px;align-items:center;margin-top:10px;font-size:10px;color:#818c96}.avatar-row,.rack-row{display:flex;gap:6px}.avatar-option,.istaka-option{background:#0b0f13;border:1px solid #313843;color:#d7dde3;border-radius:8px;padding:3px;cursor:pointer}.avatar-option.selected,.istaka-option.selected{border-color:#d6aa51;box-shadow:0 0 0 1px #d6aa51}.avatar-option img{width:28px;height:28px;object-fit:cover;border-radius:6px}.istaka-option{font-size:9px;padding:7px 10px}.live-pill{font-size:9px;color:#35d07f}.radio-bar{position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:20;height:48px;background:#0c1117;border:1px solid #303740;border-radius:14px;display:flex;align-items:center;gap:10px;padding:7px 12px;box-shadow:0 10px 40px rgba(0,0,0,.45)}.radio-title{display:flex;align-items:center;gap:6px;font-size:10px}.radio-title i{width:7px;height:7px;background:#e14f4f;border-radius:50%;box-shadow:0 0 10px #e14f4f}.radio-bar select,.radio-bar button{height:32px;background:#151d24;border:1px solid #333d46;color:#e8edf1;border-radius:8px;padding:0 10px}.radio-bar input{width:90px}.toast{position:fixed;bottom:78px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:#151b21;border:1px solid #3b444d;padding:11px 16px;border-radius:10px;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1050px){body{overflow:auto}.app-shell{min-height:100vh;height:auto}.landing{height:auto;display:block;padding-bottom:100px}.hero{display:none}.lobby-board,.auth-panel{margin:20px auto;max-height:none}.lobby-grid{grid-template-columns:1fr}.rooms-box,.side-box{min-height:auto}.radio-bar{width:calc(100% - 24px)}}
/* Geniş tek ekran profesyonel lobi */
.topbar{max-width:1720px;height:70px}.landing{max-width:1720px;height:calc(100vh - 70px);padding:22px 34px 74px;grid-template-columns:minmax(340px,.68fr) minmax(820px,1.65fr);gap:42px}.hero{padding-left:6px}.hero h1{font-size:clamp(58px,4.8vw,88px)}.hero p{font-size:17px;max-width:540px}.lobby-board{width:100%;max-width:none;max-height:none;height:min(760px,calc(100vh - 125px));padding:22px 24px}.lobby-grid{height:calc(100% - 82px);grid-template-columns:1.25fr .95fr;gap:18px}.rooms-box,.side-box{min-height:0;height:100%;padding:18px}.room-grid{min-height:0;max-height:none;height:calc(100% - 108px);grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.lobby-chat{height:calc(100% - 230px);min-height:180px}.cosmetics{grid-template-columns:58px 1fr;gap:9px}.avatar-row{display:flex;flex-wrap:wrap;gap:7px}.avatar-option img{width:34px;height:34px}.avatar-upload{background:#10161c;border:1px dashed #55606c;color:#d7dde3;border-radius:8px;padding:0 10px;cursor:pointer;font-size:10px}.radio-bar{bottom:12px}.modal{position:fixed;inset:0;background:rgba(0,0,0,.68);display:grid;place-items:center;z-index:100;backdrop-filter:blur(8px)}.modal-card{width:min(520px,calc(100vw - 28px));background:#0b0f14;border:1px solid rgba(220,176,84,.38);border-radius:18px;padding:22px;box-shadow:0 30px 90px rgba(0,0,0,.6)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start}.modal-head h3{margin:4px 0 12px;font-size:24px}.modal-head small{color:#d7b461;letter-spacing:1px}.modal-head button{border:0;background:#171d24;color:#fff;width:34px;height:34px;border-radius:9px;font-size:22px;cursor:pointer}.modal-card>label{display:block;color:#c9a95f;font-size:12px}.modal-card>label input{width:100%;margin-top:8px;background:#07090d;border:1px solid #34302a;color:#fff;padding:13px;border-radius:9px}.room-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px}.room-options label{margin:0;background:#11171d;border:1px solid #2b323b;padding:12px;border-radius:10px;color:#cbd3da;font-size:12px}.room-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.room-summary span{background:#080b0f;border:1px solid #20262d;color:#89949e;border-radius:9px;padding:10px;font-size:10px;text-align:center}
@media(max-width:1250px){.landing{grid-template-columns:minmax(300px,.55fr) minmax(700px,1.45fr);gap:24px}.hero h1{font-size:58px}.lobby-board{height:calc(100vh - 118px)}}
@media(max-width:1050px){.landing{display:block;height:auto}.hero{display:none}.lobby-board{height:auto;min-height:760px}.lobby-grid{height:auto}.rooms-box,.side-box{height:auto}.room-grid{height:auto;max-height:280px}.lobby-chat{height:220px}.room-summary,.room-options{grid-template-columns:1fr}}

/* Sağlam giriş/kayıt ekranı ve HTTP/IP uyumlu ön yüz */
.auth-stage{width:100%;min-height:560px;display:grid;grid-template-columns:.86fr 1.14fr;background:rgba(9,12,16,.96);border:1px solid rgba(225,183,91,.38);border-radius:24px;overflow:hidden;box-shadow:0 34px 100px rgba(0,0,0,.5);position:relative;isolation:isolate}
.auth-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 15%,rgba(226,178,74,.1),transparent 25%),linear-gradient(120deg,transparent 0 49.85%,rgba(223,179,82,.07) 50%,transparent 50.15%)}
.auth-visual{position:relative;z-index:1;padding:34px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(155deg,rgba(17,22,27,.98),rgba(7,10,14,.98));border-right:1px solid rgba(225,183,91,.2)}
.auth-visual-top{display:flex;justify-content:space-between;align-items:center}.auth-kicker{font-size:11px;letter-spacing:1.6px;color:#ddb65e;font-weight:900}.server-pill{font-size:9px;color:#5de39c;border:1px solid rgba(93,227,156,.28);background:rgba(34,110,75,.12);padding:7px 9px;border-radius:20px}.auth-art{display:flex;justify-content:center;gap:10px;padding:12px 0}.tile{width:78px;height:102px;border-radius:12px;background:linear-gradient(#fff,#dfe5e9);box-shadow:0 14px 32px rgba(0,0,0,.35),inset 0 -5px 0 rgba(0,0,0,.09);display:grid;place-items:center;font-size:48px;font-weight:1000;border:3px solid #eef2f4}.t1{color:#e14b40;transform:rotate(-8deg)}.t2{color:#1e9bd1;transform:translateY(-14px)}.t3{color:#7dbb35;transform:rotate(8deg)}.auth-visual h2{font-size:34px;margin:0 0 8px}.auth-visual p{font-size:14px;line-height:1.7;color:#a5afb8;margin:0;max-width:380px}.auth-features{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.auth-features span{font-size:11px;color:#c7cfd6;border:1px solid #252e36;background:#0e141a;padding:10px;border-radius:10px}.auth-panel{position:relative;z-index:2;padding:42px 46px;display:flex;flex-direction:column;justify-content:center;background:rgba(8,11,15,.75)}.auth-panel .panel-head h2{font-size:36px;margin:8px 0 7px;letter-spacing:-1.3px}.auth-panel .panel-head p{max-width:480px}.auth-panel .tabs{margin:8px 0 6px}.auth-panel .tab{cursor:pointer;transition:.18s}.auth-panel .tab:hover{color:#f0cf79}.auth-panel form{display:block}.auth-panel form label{font-size:12px;color:#ddbd70;font-weight:700}.auth-panel form input{height:50px;border-color:#343a42;background:#070a0e;font-size:15px;transition:.18s}.auth-panel form input:focus{border-color:#d4ab54;box-shadow:0 0 0 3px rgba(212,171,84,.11)}.auth-panel .gold-btn{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 19px;font-size:14px}.auth-help{margin:16px 0 0;color:#606b75;font-size:10px;line-height:1.5}.auth-help b{color:#9da7b0}.auth-stage .secure-row{gap:9px;justify-content:flex-start;flex-wrap:wrap}.auth-stage .secure-row span{border:1px solid #202831;background:#0a0f14;padding:6px 8px;border-radius:16px}
@media(min-width:1051px){.landing:has(.auth-stage:not(.hidden)){grid-template-columns:minmax(360px,.72fr) minmax(760px,1.5fr);align-items:center}.auth-stage{height:min(620px,calc(100vh - 145px))}.landing:has(.lobby-board:not(.hidden)) .hero{display:block}}
@media(max-width:1200px) and (min-width:1051px){.auth-stage{grid-template-columns:.72fr 1.28fr}.auth-visual{padding:26px}.tile{width:62px;height:86px;font-size:40px}.auth-panel{padding:32px}.hero h1{font-size:58px}}
@media(max-width:1050px){.auth-stage{max-width:760px;margin:20px auto;grid-template-columns:1fr;min-height:0}.auth-visual{display:none}.auth-panel{padding:28px}.auth-panel .panel-head h2{font-size:30px}}
@media(max-width:560px){.topbar{padding:0 16px}.landing{padding:10px 12px 90px}.auth-panel{padding:22px 18px}.secure-row{display:none}.radio-bar{gap:6px;padding:6px 8px}.radio-title{display:none}.radio-bar select{min-width:0;max-width:45vw}.radio-bar input{width:62px}}

.account-actions{display:grid;gap:10px}.danger-account{border:1px solid #7b2c35;background:#35191d;color:#ffabb3;padding:13px 16px;border-radius:12px;font-weight:800;cursor:pointer}


/* Premium lobi ve gerçek oyuncu bekleme odası */
.landing{grid-template-columns:minmax(300px,.58fr) minmax(760px,1.42fr)!important;gap:30px!important;align-items:center!important}.hero h1{font-size:clamp(54px,4.2vw,78px)!important;line-height:.93!important}.hero p{max-width:500px!important}.lobby-board{height:min(720px,calc(100vh - 116px))!important;border-radius:22px!important;background:linear-gradient(145deg,rgba(10,14,19,.98),rgba(7,10,14,.98))!important;box-shadow:0 30px 90px rgba(0,0,0,.5)!important}.lobby-grid{grid-template-columns:1.08fr .92fr!important}.rooms-box,.side-box{background:linear-gradient(145deg,#0b1117,#080c11)!important;border-color:rgba(219,176,86,.16)!important}.room-card{min-height:128px!important}.mode-actions{margin-top:14px!important}.primary-action,.bot-action{height:74px!important}.radio-bar{z-index:240!important}
.waiting-room{position:fixed;inset:0;z-index:180;background:rgba(3,6,9,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:28px}.waiting-card{width:min(660px,calc(100vw - 32px));background:linear-gradient(145deg,#0c1117,#070a0e);border:1px solid rgba(222,181,91,.34);border-radius:24px;box-shadow:0 35px 120px rgba(0,0,0,.72);padding:24px}.waiting-head{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:18px;border-bottom:1px solid #202832}.waiting-head small{color:#dcb55c;letter-spacing:1.2px;font-weight:900}.waiting-head h2{margin:6px 0 3px;font-size:30px}.waiting-head p{margin:0;color:#8d98a2;font-size:13px}.waiting-count{min-width:110px;text-align:center;background:#101820;border:1px solid #2a3540;border-radius:14px;padding:12px}.waiting-count b{font-size:25px;color:#e0b85d;display:block}.waiting-count span{font-size:10px;color:#8e99a3}.waiting-body{display:flex;flex-direction:column;gap:14px;margin-top:18px}.waiting-main{background:#080d12;border:1px solid #202932;border-radius:16px;padding:18px}.waiting-slots{display:grid;grid-template-columns:1fr 1fr;gap:12px}.wait-slot{min-height:86px;border:1px dashed #303b45;border-radius:13px;padding:12px;display:flex;align-items:center;gap:11px;background:#0b1117}.wait-slot.filled{border-style:solid;border-color:rgba(58,208,127,.32);background:linear-gradient(145deg,rgba(20,70,50,.18),#0b1117)}.wait-slot img,.wait-empty{width:48px;height:48px;border-radius:12px;object-fit:cover}.wait-empty{display:grid;place-items:center;background:#131a21;color:#6d7883;font-weight:900}.wait-slot div:nth-child(2){display:flex;flex-direction:column;gap:2px}.wait-slot small{font-size:9px;color:#697580;letter-spacing:1px}.wait-slot b{font-size:14px}.wait-slot span{font-size:10px;color:#7f8a94}.wait-slot em{margin-left:auto;font-style:normal;color:#45d68a}.waiting-pulse{margin:14px 0 12px;display:flex;gap:10px;align-items:center;background:#0d151b;border:1px solid #26323b;border-radius:12px;padding:11px}.waiting-pulse i{width:10px;height:10px;border-radius:50%;background:#e1b75b;box-shadow:0 0 0 0 rgba(225,183,91,.45);animation:waitPulse 1.4s infinite}.waiting-pulse b,.waiting-pulse span{display:block}.waiting-pulse span{font-size:10px;color:#84909a;margin-top:2px}@keyframes waitPulse{70%{box-shadow:0 0 0 10px rgba(225,183,91,0)}}.waiting-leave{width:100%;height:44px;border-radius:11px;background:#171116;border:1px solid #56303a;color:#ffb0b8;font-weight:800;cursor:pointer}.waiting-note{margin-top:10px;font-size:10px;color:#7f8992}.waiting-room+.toast{z-index:300}@media(max-width:900px){.waiting-slots{grid-template-columns:1fr}.waiting-card{max-height:90vh;overflow:auto}.waiting-head{align-items:flex-start}.landing{display:block!important}.hero{display:none!important}}

/* Büyük profesyonel lobi */
@media(min-width:1051px){
  .landing:has(.lobby-board:not(.hidden)){grid-template-columns:minmax(320px,.46fr) minmax(980px,1.54fr)!important;max-width:1880px!important;gap:34px!important;padding-left:44px!important;padding-right:44px!important}
  .landing:has(.lobby-board:not(.hidden)) .hero h1{font-size:clamp(64px,4.8vw,96px)!important}
  .lobby-board{height:min(790px,calc(100vh - 105px))!important;padding:26px!important}
  .lobby-grid{grid-template-columns:1.3fr .7fr!important;gap:20px!important}
  .rooms-box,.side-box{padding:20px!important}
  .room-grid{grid-template-columns:repeat(2,minmax(240px,1fr))!important;gap:14px!important}
  .room-card{min-height:148px!important;padding:17px!important}
  .lobby-chat{min-height:270px!important}
}
.lobby-player-panel{margin-top:14px;border:1px solid #242d36;background:#080c11;border-radius:14px;padding:12px}
.lobby-player-panel h4{margin:0 0 9px;color:#e4bd63;font-size:12px;letter-spacing:.6px}
.lobby-player-list{display:grid;gap:7px;max-height:140px;overflow:auto}
.lobby-player{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;background:#0e141b;border:1px solid #1f2932}
.lobby-player img{width:34px;height:34px;border-radius:9px;object-fit:cover}.lobby-player b{font-size:11px}.lobby-player small{display:block;color:#7f8a94;font-size:9px}.lobby-player strong{color:#e3b95b;font-size:10px}

/* Tam ekran lobi - Masaüstü (PC) Düzenlemesi */
@media (min-width:1051px){
  body:has(.lobby-v12:not(.hidden)){overflow:hidden}
  body:has(.lobby-v12:not(.hidden)) .topbar{height:52px!important;padding:0 24px!important}
  .landing:has(.lobby-v12:not(.hidden)){display:flex!important;flex-direction:column!important;max-width:none!important;width:100%!important;height:calc(100vh - 52px)!important;padding:4px 20px 8px!important;box-sizing:border-box!important;overflow:hidden!important}
  .landing:has(.lobby-v12:not(.hidden))>.hero{display:none!important}
  .lobby-v12{width:min(1660px,calc(100vw - 40px))!important;height:100%!important;max-height:calc(100vh - 64px)!important;min-height:480px!important;margin:0 auto!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;background:linear-gradient(145deg,rgba(8,12,17,.98),rgba(5,8,12,.99))!important;border:1px solid rgba(228,186,92,.28)!important;box-shadow:0 35px 100px rgba(0,0,0,.52)!important;display:flex!important;flex-direction:column!important}
  .lobby-v12 .v12-header{height:46px!important;padding:4px 16px!important}
  .lobby-v12 .v12-profile>img, .lobby-v12 .v12-avatar-wrap img{width:36px!important;height:36px!important}
  .lobby-v12 .v12-status, .lobby-v12 .v12-wallet{height:36px!important;padding:2px 10px!important}
  .lobby-v12 .v12-head-icon-btn.logout-btn{height:36px!important;padding:2px 10px!important}
  .lobby-v12 .lobby-view-nav{padding:4px 14px!important}
  .lobby-v12 .lobby-tab-btn, .lobby-v12 .lobby-quick-create-btn{padding:5px 12px!important}
  .lobby-v12 .pro-salon-head{padding:4px 10px!important;margin-bottom:6px!important}
  .lobby-v12 .v12-dashboard.view-salon{padding:6px 12px 6px!important}
  .lobby-v12 .pro-chat-form{margin-top:6px!important;margin-bottom:2px!important}
}
.lobby-v12{position:relative}.lobby-v12:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 10% 0%,rgba(226,179,73,.07),transparent 24%),radial-gradient(circle at 100% 0%,rgba(47,120,175,.08),transparent 30%)}
.v12-header{height:54px!important;display:flex;align-items:center;justify-content:space-between;padding:8px 18px!important;border-bottom:1px solid #202831;background:rgba(9,13,18,.94);position:relative;z-index:1;flex-shrink:0!important}.v12-profile{display:flex;align-items:center;gap:8px;cursor:pointer;user-select:none;transition:transform 0.15s ease}.v12-profile:hover{transform:scale(1.02)}.v12-profile>img,.v12-avatar-wrap img{width:42px!important;height:42px!important;border-radius:12px!important;object-fit:cover;border:2px solid #d9ad4d;box-shadow:0 0 0 4px rgba(217,173,77,.07)}.v12-profile-copy small{display:block;color:#7e8993;font-size:9px;letter-spacing:1.2px}.v12-profile-copy b{display:block;font-size:16px!important;margin:1px 0}.v12-profile-copy span{font-size:10px;color:#87939e}.v12-profile-copy i{display:block;width:130px;height:4px;background:#202831;border-radius:10px;margin-top:5px;overflow:hidden}.v12-profile-copy u{display:block;height:100%;background:linear-gradient(90deg,#c69338,#f0ca6e)}
.v12-status-strip,.v12-header-right{display:flex;align-items:center;gap:8px}.v12-status,.v12-wallet{height:42px!important;min-width:110px;padding:4px 10px!important;border:1px solid #252e37;border-radius:10px!important;background:#0c1218;display:flex;flex-direction:column;justify-content:center}.v12-status span,.v12-wallet small{font-size:8px!important;color:#71808d;letter-spacing:.7px}.v12-status b{font-size:11px!important;margin-top:1px}.v12-status .green{width:7px;height:7px;border-radius:50%;background:#36d787;box-shadow:0 0 10px rgba(54,215,135,.8);position:absolute;margin-left:-2px}.v12-status:first-child{padding-left:25px;position:relative}.v12-wallet{text-align:right;min-width:120px!important}.v12-wallet strong{color:#edc463;font-size:12px!important;margin-top:1px}.v12-head-icon-btn.logout-btn{height:42px!important;padding:4px 12px!important;background:rgba(239,68,68,0.14)!important;border:1px solid rgba(239,68,68,0.35)!important;border-radius:10px!important;color:#fca5a5!important;font-size:12px!important;font-weight:800!important;cursor:pointer!important;display:inline-flex!important;align-items:center!important;gap:5px!important;transition:all 0.2s ease!important}.v12-head-icon-btn.logout-btn:hover{background:rgba(239,68,68,0.28)!important;border-color:#ef4444!important;color:#fff!important;transform:translateY(-1px)}
.v12-dashboard{flex:1 1 0!important;height:auto!important;min-height:0!important;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(360px,.62fr);gap:16px;padding:12px 18px 10px;position:relative;z-index:1}.v12-left,.v12-right{min-height:0}.v12-left{display:flex;flex-direction:column;border:1px solid #202933;border-radius:17px;background:#080d12;padding:17px}.v12-right{display:grid;grid-template-rows:minmax(230px,.78fr) minmax(260px,1.22fr);gap:12px}.v12-section-head,.v12-subhead{display:flex;align-items:center;justify-content:space-between;gap:10px}.v12-section-head small,.v12-subhead small{font-size:9px;color:#d6ad53;letter-spacing:1.3px;font-weight:900}.v12-section-head h2{font-size:21px;margin:3px 0 0}.v12-subhead h3{font-size:15px;margin:3px 0 0}.v12-create{border:1px solid #6b5228;background:linear-gradient(180deg,#211b11,#15120d);color:#efcc7a;border-radius:10px;padding:10px 14px;font-weight:900;cursor:pointer}.v12-create:hover{border-color:#e3b95b;transform:translateY(-1px)}
.v12-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:14px 0}.v12-action{min-height:112px;border-radius:15px;padding:15px;border:1px solid;display:grid;grid-template-columns:48px 1fr auto;gap:13px;align-items:center;color:#fff;text-align:left;cursor:pointer;transition:.18s}.v12-action:hover{transform:translateY(-2px)}.v12-action.live-game{background:linear-gradient(135deg,#1c160d,#0d1116 70%);border-color:#5a4522}.v12-action.bot-game{background:linear-gradient(135deg,#0c1720,#0d1219 70%);border-color:#25445e}.v12-action-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:13px;background:rgba(255,255,255,.05);font-size:25px}.v12-action small{color:#d9b65d;font-size:9px;letter-spacing:1px}.v12-action b{display:block;font-size:17px;margin:3px 0}.v12-action p{margin:0;color:#7f8b96;font-size:10px}.v12-action em{font-style:normal;font-weight:900;font-size:10px;color:#eec86b}
.v12-room-block{display:flex;flex-direction:column;min-height:0;flex:1;border-top:1px solid #182028;padding-top:12px}.v12-live,.v12-online-badge{font-size:9px;color:#50dc91}.v12-live i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#48d889;margin-right:5px;box-shadow:0 0 9px #48d889}.v12-room-grid{margin-top:10px;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:10px!important;min-height:0!important;max-height:none!important;overflow:auto!important;padding-right:3px}.v12-room-grid .room-card{min-height:130px!important;padding:14px!important}.v12-room-grid .room-card b{font-size:14px}.v12-room-grid .room-card:hover{background:#111922}
.v12-panel{border:1px solid #202933;border-radius:17px;background:#080d12;padding:14px;min-height:0;display:flex;flex-direction:column}.v12-player-list{margin-top:10px;max-height:none!important;overflow:auto!important;display:grid!important;grid-template-columns:1fr!important;gap:6px!important}.v12-player-list .lobby-player{padding:8px 9px!important;background:#0d141b!important}.v12-player-list .lobby-player img{width:36px;height:36px}.v12-chat-note{font-size:8px;color:#6f7c87}.v12-chat{flex:1;height:auto!important;min-height:0!important;margin-top:10px}.v12-chat-form{margin-top:8px}.v12-chat-form input{height:40px}.v12-chat-form button{min-width:76px}
.v12-footer-tools{display:none!important}
@media(max-width:1280px) and (min-width:1051px){.v12-dashboard{grid-template-columns:minmax(0,1.28fr) minmax(330px,.72fr)}.v12-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.v12-status{min-width:90px}.v12-action{grid-template-columns:42px 1fr}.v12-action em{display:none}}
@media(max-width:1050px){body{overflow:auto!important}.landing{display:block!important;height:auto!important;padding:12px 12px 90px!important}.hero{display:none!important}.lobby-v12{height:auto!important;max-height:none!important;margin:10px auto!important;padding:0!important;overflow:visible!important}.v12-header{height:auto;align-items:flex-start;gap:12px;flex-direction:column}.v12-status-strip{width:100%;overflow:auto}.v12-dashboard{height:auto;grid-template-columns:1fr}.v12-right{grid-template-rows:auto auto}.v12-actions{grid-template-columns:1fr}.v12-room-grid{grid-template-columns:1fr 1fr!important;max-height:420px!important}.v12-footer-tools{height:auto;align-items:flex-start;flex-direction:column}.v12-cosmetics{align-items:flex-start;flex-direction:column}.v12-footer-tools .avatar-row{flex-wrap:wrap}}
@media(max-width:620px){.v12-room-grid{grid-template-columns:1fr!important}.v12-status-strip{display:grid;grid-template-columns:1fr 1fr}.v12-wallet{min-width:0}.v12-section-head{align-items:flex-start}.v12-section-head h2{font-size:17px}.v12-create{padding:8px 10px}.v12-action{grid-template-columns:40px 1fr}.v12-action em{display:none}}


/* Ek Uyarlamalar */
.hidden, [hidden], .ghost.hidden, #adminLink.hidden {
    display: none !important;
}

.auth-error-msg {
    color: #f87171;
    font-size: 0.85rem;
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.3);
    padding: 8px 12px;
    border-radius: 8px;
    margin-top: 10px;
}

/* Oyun esnasında app-shell gizlenir, masa görünür */
.app-shell.hidden {
    display: none !important;
}

.game-container.hidden {
    display: none !important;
}

/* Avatar Görselleri İçin Yuvarlak Sınırlar */
.avatar-badge img {
    width: 38px;
    height: 38px;
    border-radius: 50%;
    object-fit: cover;
}

.v12-footer-tools .avatar-option img {
    width: 32px;
    height: 32px;
    border-radius: 8px;
}


/* ==========================================================================
   ÖZEL NİCK RENKLENDİRME & HAREKETLİ EFEKTLER (LOBİ & OYUN İÇİ MASALAR)
   ========================================================================== */
.tag {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.08);
    font-size: 9px;
    font-weight: 800;
    margin-left: 4px;
    vertical-align: middle;
}

.tag.admin {
    color: #f59e0b !important;
    background: rgba(245, 158, 11, 0.2) !important;
    border: 1px solid rgba(245, 158, 11, 0.4) !important;
}

.tag.operator {
    color: #38bdf8 !important;
    background: rgba(56, 189, 248, 0.2) !important;
    border: 1px solid rgba(56, 189, 248, 0.4) !important;
}

.tag.vip {
    color: #ec4899 !important;
    background: rgba(236, 72, 153, 0.2) !important;
    border: 1px solid rgba(236, 72, 153, 0.4) !important;
}

/* 1. Rainbow Gökkuşağı Akışı */
.nick-rainbow {
    background: linear-gradient(90deg, #ff007f, #ff7f00, #ffff00, #00ff00, #00ffff, #007fff, #8b00ff, #ff007f) !important;
    background-size: 300% 100% !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    animation: rainbowShift 3s linear infinite !important;
    font-weight: 800 !important;
    filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.4));
}

@keyframes rainbowShift {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

/* 2. Fire Alev Titremesi */
.nick-fire {
    background: linear-gradient(0deg, #ef4444 0%, #f97316 50%, #facc15 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    animation: fireFlicker 1.4s ease-in-out infinite alternate !important;
    font-weight: 800 !important;
    text-shadow: 0 -2px 10px rgba(239, 68, 68, 0.6);
}

@keyframes fireFlicker {
    0% { filter: drop-shadow(0 0 2px #ef4444) brightness(1); }
    50% { filter: drop-shadow(0 0 7px #f97316) brightness(1.2); }
    100% { filter: drop-shadow(0 0 12px #facc15) brightness(1.4); }
}

/* 3. Gold Glow Altın Işıltı */
.nick-gold-glow {
    color: #fbbf24 !important;
    animation: goldPulse 2s ease-in-out infinite alternate !important;
    font-weight: 800 !important;
}

@keyframes goldPulse {
    0% { text-shadow: 0 0 4px rgba(245, 158, 11, 0.5); }
    100% { text-shadow: 0 0 14px rgba(245, 158, 11, 0.9), 0 0 25px rgba(251, 191, 36, 0.6); }
}

/* 4. Neon Pulse Siber Mavi */
.nick-neon-pulse {
    color: #38bdf8 !important;
    animation: neonGlow 1.8s ease-in-out infinite alternate !important;
    font-weight: 800 !important;
}

@keyframes neonGlow {
    0% { text-shadow: 0 0 4px rgba(56, 189, 248, 0.5); }
    100% { text-shadow: 0 0 14px rgba(56, 189, 248, 1), 0 0 28px rgba(14, 165, 233, 0.8); }
}

/* 5. Ice Crystal Kristal Elmas */
.nick-ice-crystal {
    background: linear-gradient(135deg, #e0f2fe 0%, #38bdf8 50%, #93c5fd 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    animation: crystalShimmer 2.2s ease-in-out infinite alternate !important;
    font-weight: 800 !important;
}

@keyframes crystalShimmer {
    0% { filter: drop-shadow(0 0 3px rgba(224, 242, 254, 0.6)); }
    100% { filter: drop-shadow(0 0 10px rgba(56, 189, 248, 0.9)); }
}

/* ==========================================================================
   TURNUVA, MAĞAZA, ARKADAŞLAR, EŞLİ OYUN & GÖZLEMCİ STILLERİ
   ========================================================================== */

/* 1. Gözlemci (Spectator) Barı */
.spectator-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: linear-gradient(90deg, #1e1b4b 0%, #0f172a 100%);
    border-bottom: 2px solid #6366f1;
    padding: 10px 20px;
    z-index: 100;
    box-shadow: 0 4px 15px rgba(0,0,0,0.5);
}

.spec-left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.spec-badge {
    background: #6366f1;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 999px;
    letter-spacing: 0.5px;
    box-shadow: 0 0 10px rgba(99, 102, 241, 0.6);
}

.spec-notice {
    color: #94a3b8;
    font-size: 0.85rem;
    font-style: italic;
}

/* 2. Eşli Oyun (2v2) Partner Göstergesi */
.partner-banner {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(30, 41, 59, 0.85);
    border: 1px solid rgba(56, 189, 248, 0.4);
    padding: 6px 16px;
    border-radius: 999px;
    margin: 8px auto;
    width: fit-content;
    color: #e2e8f0;
    font-size: 0.85rem;
    box-shadow: 0 2px 10px rgba(0,0,0,0.4);
}

.team-badge {
    font-weight: 800;
    font-size: 0.8rem;
    padding: 2px 10px;
    border-radius: 999px;
}

.team-badge.team-a, .badge-team-a {
    background: #2563eb;
    color: #eff6ff;
    border: 1px solid #60a5fa;
}

.team-badge.team-b, .badge-team-b {
    background: #dc2626;
    color: #fef2f2;
    border: 1px solid #f87171;
}

/* 3. Mağaza Kartları */
.store-item-card {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 12px;
    padding: 14px;
    text-align: center;
    transition: transform 0.2s, border-color 0.2s;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.store-item-card:hover {
    transform: translateY(-3px);
    border-color: #f59e0b;
}

.store-item-card.owned {
    border-color: rgba(34, 197, 94, 0.5);
    background: rgba(34, 197, 94, 0.05);
}

.store-item-preview {
    font-size: 1.15rem;
    margin: 10px 0;
    font-weight: 700;
}

.store-item-price {
    font-weight: 800;
    color: #fbbf24;
    font-size: 0.95rem;
    margin-bottom: 10px;
}

.store-item-btn {
    width: 100%;
    padding: 8px 12px;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
}

/* 4. Arkadaşlar Listesi */
.friend-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 10px;
    padding: 10px 14px;
    transition: background 0.2s;
}

.friend-row:hover {
    background: rgba(255, 255, 255, 0.07);
}

.friend-avatar-wrap {
    position: relative;
    width: 36px;
    height: 36px;
}

.friend-avatar-wrap img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.friend-status-dot {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid #0f172a;
}

.friend-status-dot.online {
    background: #22c55e;
    box-shadow: 0 0 6px #22c55e;
}

.friend-status-dot.offline {
    background: #64748b;
}

.friend-info {
    flex: 1;
    margin-left: 12px;
}

.friend-name {
    font-weight: 700;
    color: #fff;
    display: block;
    font-size: 0.9rem;
}

.friend-status-text {
    font-size: 0.75rem;
    color: #94a3b8;
}

.friend-actions {
    display: flex;
    gap: 6px;
}

/* 5. Oda Listesi Butonları (İzle & Katıl) */
.room-actions-split {
    display: grid !important;
    grid-template-columns: 1.8fr 1fr !important;
    gap: 6px !important;
    margin-top: 10px !important;
    width: 100% !important;
    align-items: center !important;
}

.room-actions-split .btn,
.room-actions-split .btn-spectate {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 7px 4px !important;
    font-size: 0.8rem !important;
    text-align: center !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}

.btn-spectate {
    background: rgba(99, 102, 241, 0.15);
    border: 1px solid #6366f1;
    color: #a5b4fc;
    border-radius: 8px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-spectate:hover {
    background: #6366f1;
    color: #fff;
}

.badge-partner {
    background: rgba(56, 189, 248, 0.2);
    color: #38bdf8;
    border: 1px solid rgba(56, 189, 248, 0.4);
    font-size: 0.7rem;
    padding: 2px 6px;
    border-radius: 4px;
    font-weight: 700;
}

/* 6. Misafir Sohbet Kilit Stili */
input:disabled, textarea:disabled {
    cursor: not-allowed;
    opacity: 0.6;
    background: rgba(15, 23, 42, 0.8) !important;
}

.chat-guest-lock {
    background: rgba(239, 68, 68, 0.1);
    border: 1px dashed rgba(239, 68, 68, 0.4);
    color: #fca5a5;
    font-size: 0.75rem;
    padding: 6px 10px;
    border-radius: 6px;
    text-align: center;
    margin-bottom: 6px;
}

/* ==========================================================================
   7. ISTAKA & MASA ÖRTÜSÜ TEMALARI
   ========================================================================== */
/* Istaka Temaları */
.cue-rack.rack-pink {
    background-image: url('../asset/istaka_pembe.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    border: 2px solid #f472b6 !important;
    box-shadow: 0 8px 30px rgba(244, 114, 182, 0.3) !important;
}

.cue-rack.rack-gold {
    background: linear-gradient(135deg, #785210 0%, #d4af37 35%, #fef08a 50%, #d4af37 65%, #785210 100%) !important;
    border: 2px solid #fbbf24 !important;
    box-shadow: 0 8px 35px rgba(251, 191, 36, 0.5) !important;
}

.cue-rack.rack-carbon {
    background: radial-gradient(black 15%, transparent 16%) 0 0,
                radial-gradient(black 15%, transparent 16%) 8px 8px,
                radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 0 1px,
                radial-gradient(rgba(255,255,255,.1) 15%, transparent 20%) 8px 9px,
                #181a1f !important;
    background-size: 16px 16px !important;
    border: 2px solid #38bdf8 !important;
    box-shadow: 0 8px 30px rgba(56, 189, 248, 0.3) !important;
}

/* Masa Örtüsü Temaları */
.table-surface.table-emerald,
.game-table.table-emerald {
    background: radial-gradient(circle at center, #065f46 0%, #064e3b 60%, #022c22 100%) !important;
}

.table-surface.table-night,
.game-table.table-night {
    background: radial-gradient(circle at center, #1e3a8a 0%, #0f172a 70%, #020617 100%) !important;
}

.table-surface.table-bordo,
.game-table.table-bordo {
    background: radial-gradient(circle at center, #831843 0%, #4c0519 70%, #240108 100%) !important;
}

.table-surface.table-storm,
.game-table.table-storm {
    background: radial-gradient(circle at center, #334155 0%, #1e293b 70%, #0b1120 100%) !important;
}

/* ==========================================================================
   8. MASA İÇİ HIZLI KONUŞMA BALONLARI (SPEECH BUBBLES)
   ========================================================================== */
.table-speech-bubble {
    position: fixed;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 800;
    padding: 8px 16px;
    border-radius: 20px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.8), 0 0 0 2px rgba(251, 191, 36, 0.5);
    z-index: 99999;
    white-space: nowrap;
    pointer-events: none;
    animation: bubblePop 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
    transform-origin: bottom center;
}

.table-speech-bubble::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 50%;
    transform: translateX(-50%);
    border-width: 8px 8px 0 8px;
    border-style: solid;
    border-color: #ffffff transparent transparent transparent;
}

.table-speech-bubble.bubble-pointer-up::after {
    bottom: auto;
    top: -8px;
    border-width: 0 8px 8px 8px;
    border-color: transparent transparent #ffffff transparent;
}

@keyframes bubblePop {
    0% { transform: scale(0.3) translateY(15px); opacity: 0; }
    100% { transform: scale(1) translateY(0); opacity: 1; }
}

.table-speech-bubble.fade-out {
    animation: bubbleFade 0.4s ease-out forwards;
}

@keyframes bubbleFade {
    0% { opacity: 1; transform: scale(1); }
    100% { opacity: 0; transform: scale(0.8) translateY(-10px); }
}

/* ==========================================================================
   9. FIRLATILABİLİR EŞYA PARABOLİK UÇUŞ & ETKİ ANİMASYONLARI
   ========================================================================== */
.flying-projectile {
    position: fixed;
    z-index: 99999;
    font-size: 2.8rem;
    pointer-events: none;
    transition: all 0.75s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    filter: drop-shadow(0 10px 15px rgba(0,0,0,0.8));
}

.projectile-impact {
    position: fixed;
    z-index: 99999;
    pointer-events: none;
    animation: impactBurst 0.8s ease-out forwards;
    font-size: 3.2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}

@keyframes impactBurst {
    0% { transform: scale(0.5); opacity: 1; }
    50% { transform: scale(1.6) rotate(15deg); opacity: 1; }
    100% { transform: scale(2.2); opacity: 0; }
}

/* Hedef Koltuk Seçici */
.target-seat-btn {
    flex: 1;
    padding: 8px;
    background: rgba(255,255,255,0.06);
    border: 1px solid rgba(255,255,255,0.2);
    color: #94a3b8;
    border-radius: 8px;
    cursor: pointer;
    font-weight: 700;
    font-size: 0.85rem;
    transition: all 0.2s;
}

.target-seat-btn.active {
    background: rgba(245, 158, 11, 0.2);
    border-color: #fbbf24;
    color: #fbbf24;
}

.throw-item-btn {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 12px;
    padding: 12px 6px;
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: pointer;
    transition: all 0.2s;
    color: #fff;
}

.throw-item-btn:hover {
    background: rgba(245, 158, 11, 0.15);
    border-color: #fbbf24;
    transform: translateY(-3px);
}

.throw-emoji {
    font-size: 2.2rem;
    margin-bottom: 4px;
}

.throw-item-btn strong {
    font-size: 0.82rem;
    color: #fff;
}

.throw-item-btn small {
    font-size: 0.7rem;
    color: #94a3b8;
}

/* Hızlı Sözler Butonları */
.quick-phrase-btn {
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.12);
    color: #fff;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 0.88rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    transition: all 0.2s;
}

.quick-phrase-btn:hover {
    background: rgba(56, 189, 248, 0.2);
    border-color: #38bdf8;
    color: #38bdf8;
    transform: translateX(4px);
}

/* ==========================================================================
   10. LİDERLİK TABLOSU & GÖREV KARTLARI
   ========================================================================== */
.leaderboard-row {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    transition: all 0.2s;
}

.leaderboard-row:hover {
    background: rgba(255,255,255,0.07);
    border-color: rgba(245, 158, 11, 0.3);
}

.leaderboard-rank {
    font-size: 1.1rem;
    font-weight: 900;
    width: 28px;
    text-align: center;
    color: #94a3b8;
}

.leaderboard-rank.rank-1 { color: #fbbf24; font-size: 1.4rem; }
.leaderboard-rank.rank-2 { color: #e2e8f0; font-size: 1.3rem; }
.leaderboard-rank.rank-3 { color: #d97706; font-size: 1.2rem; }

.leaderboard-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.2);
    overflow: hidden;
    flex-shrink: 0;
}

.leaderboard-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.leaderboard-user {
    flex: 1;
    text-align: left;
}

.leaderboard-score {
    font-weight: 800;
    font-size: 0.95rem;
    color: #fbbf24;
}

/* Görev Kartı */
.quest-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 12px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 14px;
    text-align: left;
    transition: all 0.2s;
}

.quest-card.completed {
    border-color: rgba(16, 185, 129, 0.4);
    background: rgba(16, 185, 129, 0.06);
}

.quest-icon {
    font-size: 2.2rem;
    flex-shrink: 0;
}

.quest-info {
    flex: 1;
}

.quest-title {
    font-weight: 700;
    font-size: 0.95rem;
    color: #fff;
    margin-bottom: 2px;
}

.quest-desc {
    font-size: 0.78rem;
    color: #94a3b8;
    margin-bottom: 8px;
}

.quest-progress-track {
    background: rgba(0,0,0,0.4);
    height: 8px;
    border-radius: 999px;
    overflow: hidden;
    position: relative;
    max-width: 220px;
}

.quest-progress-fill {
    height: 100%;
    background: linear-gradient(90deg, #10b981, #38bdf8);
    border-radius: 999px;
    transition: width 0.3s ease;
}

.quest-action-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.quest-reward {
    font-size: 0.8rem;
    font-weight: 800;
    color: #fbbf24;
}

/* ==========================================================================
   11. CANLI HAMLE SÜRESİ (TURN TIMER) VE MASA AYARLARI
   ========================================================================== */
.info-pill-timer {
    background: rgba(56, 189, 248, 0.15) !important;
    border-color: rgba(56, 189, 248, 0.4) !important;
    color: #38bdf8 !important;
}

.info-pill-timer.urgent {
    background: rgba(239, 68, 68, 0.25) !important;
    border-color: #ef4444 !important;
    color: #ef4444 !important;
    animation: timerPulse 0.6s infinite alternate ease-in-out;
}

@keyframes timerPulse {
    0% { transform: scale(1); filter: drop-shadow(0 0 2px #ef4444); }
    100% { transform: scale(1.06); filter: drop-shadow(0 0 10px #ef4444); }
}

/* Rakip Üzerindeki Süre Çubuğu */
.opponent-timer-track {
    position: absolute;
    bottom: -4px;
    left: 8px;
    right: 8px;
    height: 3px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 999px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.2s;
}

.opponent.active-turn .opponent-timer-track {
    opacity: 1;
}

.opponent-timer-fill {
    height: 100%;
    width: 100%;
    background: #38bdf8;
    border-radius: 999px;
    transition: width 0.1s linear, background-color 0.2s;
}

.opponent-timer-fill.urgent {
    background: #ef4444 !important;
}

/* Kullanıcı Istakası Üzerindeki Canlı Süre Çubuğu */
.rack-timer-track {
    position: absolute;
    top: -6px;
    left: 36px;
    right: 36px;
    height: 4px;
    background: rgba(0, 0, 0, 0.5);
    border-radius: 999px;
    overflow: hidden;
    opacity: 0;
    transition: opacity 0.2s;
    z-index: 50;
}

.rack-timer-track.active {
    opacity: 1;
}

.rack-timer-fill {
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, #38bdf8, #10b981);
    border-radius: 999px;
    transition: width 0.1s linear, background 0.2s;
}

.rack-timer-fill.urgent {
    background: linear-gradient(90deg, #ef4444, #f59e0b) !important;
    animation: timerPulse 0.5s infinite alternate;
}

/* Modal Buton Seçicileri */
.mode-opt-btn.active,
.timer-opt-btn.active,
.rule-opt-btn.active,
.spectator-opt-btn.active {
    background: rgba(245, 158, 11, 0.2) !important;
    border-color: #fbbf24 !important;
    color: #fbbf24 !important;
    box-shadow: 0 0 12px rgba(251, 191, 36, 0.25);
}

.spectator-opt-btn.active[data-spectators="true"] {
    background: rgba(16, 185, 129, 0.2) !important;
    border-color: #10b981 !important;
    color: #10b981 !important;
    box-shadow: 0 0 12px rgba(16, 185, 129, 0.25);
}

/* Taşı Geri Bırak Butonları */
.btn-undo-discard {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.25), rgba(220, 38, 38, 0.4)) !important;
    border: 1px solid #ef4444 !important;
    color: #fca5a5 !important;
    font-weight: 700;
    animation: undoPulse 1.2s infinite alternate;
    cursor: pointer;
    transition: all 0.2s;
}

.btn-undo-discard:hover {
    background: #ef4444 !important;
    color: #fff !important;
    box-shadow: 0 0 14px rgba(239, 68, 68, 0.6);
}

.undo-pocket-btn {
    display: block;
    width: 100%;
    margin-top: 4px;
    padding: 3px 6px;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 6px;
    background: rgba(239, 68, 68, 0.85);
    border: 1px solid #f87171;
    color: #fff;
    cursor: pointer;
    white-space: nowrap;
    animation: undoPulse 1.2s infinite alternate;
}

.undo-pocket-btn:hover {
    background: #dc2626;
}

@keyframes undoPulse {
    from { transform: scale(1); box-shadow: 0 0 4px rgba(239, 68, 68, 0.3); }
    to { transform: scale(1.04); box-shadow: 0 0 12px rgba(239, 68, 68, 0.7); }
}

/* ==========================================================================
   CEZA EFEKTLERİ (Yere Okey / Pere İşlek Taş Atma)
   ========================================================================== */
.penalty-floating-badge {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: linear-gradient(135deg, #dc2626 0%, #991b1b 100%);
    color: #fff;
    padding: 8px 18px;
    border-radius: 12px;
    font-weight: 900;
    font-size: 1.15rem;
    box-shadow: 0 8px 25px rgba(220, 38, 38, 0.8), 0 0 15px rgba(255, 255, 255, 0.5);
    border: 2px solid #fecaca;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
    animation: penaltyFloatAnim 3.2s cubic-bezier(0.18, 0.89, 0.32, 1.28) forwards;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.penalty-floating-badge small {
    font-size: 0.75rem;
    font-weight: 700;
    color: #fef08a;
    margin-top: 3px;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    text-shadow: none;
}

@keyframes penaltyFloatAnim {
    0% {
        opacity: 0;
        transform: translate(-50%, 0) scale(0.6);
    }
    15% {
        opacity: 1;
        transform: translate(-50%, -45%) scale(1.15);
    }
    30% {
        transform: translate(-50%, -50%) scale(1);
    }
    75% {
        opacity: 1;
        transform: translate(-50%, -60%) scale(1);
    }
    100% {
        opacity: 0;
        transform: translate(-50%, -100%) scale(0.85);
    }
}

.penalty-shake {
    animation: penaltyShakeAnim 0.6s ease-in-out;
}

@keyframes penaltyShakeAnim {
    0%, 100% { transform: translateX(0); }
    20% { transform: translateX(-8px) rotate(-1.5deg); }
    40% { transform: translateX(8px) rotate(1.5deg); }
    60% { transform: translateX(-5px); }
    80% { transform: translateX(5px); }
}

/* ==========================================================================
   OYUNCU MODERASYON & AKSİYON PANELİ STİLLERİ
   ========================================================================== */
.lobby-player {
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease;
}

.lobby-player:hover {
    background: #141e28 !important;
    border-color: #f59e0b !important;
    box-shadow: inset 3px 0 0 #f59e0b !important;
}

.pam-mute-pill {
    flex: 1;
    height: 28px;
    font-size: 0.72rem;
    font-weight: 700;
    border-radius: 6px;
    background: #0f172a;
    border: 1px solid #334155;
    color: #94a3b8;
    cursor: pointer;
    transition: all 0.15s;
}

.pam-mute-pill.active {
    background: #f59e0b;
    border-color: #fbbf24;
    color: #000;
    font-weight: 800;
}

.btn-danger {
    background: linear-gradient(180deg, #dc2626, #b91c1c);
    color: #fff;
    border: 1px solid #ef4444;
    font-weight: 700;
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.15s;
}

.btn-danger:hover {
    background: linear-gradient(180deg, #ef4444, #dc2626);
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.4);
}

/* ==========================================================================
   GENEL MODAL OVERLAY & SABİT BACKDROP (SCROLLBAR VE KAYMA ENGELLEYİCİ)
   ========================================================================== */
.modal {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(3, 7, 14, 0.85) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    z-index: 100000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
    box-sizing: border-box !important;
}

.modal.hidden {
    display: none !important;
}

.modal .modal-content,
.modal .modal-card {
    max-height: 90vh !important;
    overflow-y: auto !important;
    position: relative !important;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.7) !important;
    border-radius: 18px !important;
}

/* Özel Avatar Yükleme Butonu */
.avatar-upload-btn {
    transition: all 0.2s ease !important;
}

.avatar-upload-btn:hover {
    background: rgba(245, 158, 11, 0.28) !important;
    border-color: #fbbf24 !important;
    transform: scale(1.06);
}

/* Mobilde Tam Ekran Butonunu Kaldırma */
@media (max-width: 900px) {
    #lobbyFullscreenBtn,
    #gameFullscreenBtn {
        display: none !important;
    }
}

/* ==========================================================================
   KLASİK TÜRK OKAY SALONU SOHBET & OYUNCU LİSTESİ STİLLERİ
   ========================================================================== */

/* 1. Oyuncu Listesi & Yatay Scrollbar Kesin Engelleme */
.v12-player-list, .lobby-player-list {
    overflow-x: hidden !important;
    overflow-y: auto !important;
}

.player-search-bar input::placeholder {
    color: #64748b;
}

.lobby-player {
    display: grid !important;
    grid-template-columns: 34px 1fr auto !important;
    align-items: center !important;
    gap: 8px !important;
    padding: 6px 10px !important;
    border-radius: 8px !important;
    background: #0b1219 !important;
    border: 1px solid #1c2734 !important;
    box-sizing: border-box !important;
    width: 100% !important;
}

.lobby-player .player-badges-col {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
}

.lobby-player .player-badges-col .chip-badge {
    color: #fbbf24;
    font-size: 0.72rem;
    font-weight: 700;
}

.lobby-player .player-badges-col .meta-row {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 0.7rem;
    color: #94a3b8;
}

.lobby-player .player-badges-col .room-badge-pill {
    background: rgba(245, 158, 11, 0.15);
    border: 1px solid rgba(245, 158, 11, 0.35);
    color: #fbbf24;
    border-radius: 4px;
    padding: 1px 4px;
    font-size: 0.65rem;
    font-weight: 700;
}

/* 2. Salon Başlığı & Üst Bar */
.pro-salon-panel {
    display: flex !important;
    flex-direction: column !important;
    position: relative !important;
}

.pro-salon-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding-bottom: 7px !important;
    margin-bottom: 6px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* 3. Canlı GM Duyuru Bannerı */
.lobby-announcement-banner {
    display: flex !important;
    align-items: center !important;
    background: linear-gradient(90deg, rgba(220, 38, 38, 0.3), rgba(245, 158, 11, 0.25)) !important;
    border: 1px solid #f59e0b !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
    margin-bottom: 8px !important;
    gap: 8px !important;
    animation: annoGlow 2.5s infinite ease-in-out !important;
}

@keyframes annoGlow {
    0%, 100% { border-color: #f59e0b; box-shadow: 0 0 5px rgba(245, 158, 11, 0.2); }
    50% { border-color: #ef4444; box-shadow: 0 0 12px rgba(239, 68, 68, 0.4); }
}

.lobby-announcement-banner .anno-icon {
    font-size: 1.2rem;
    line-height: 1;
}

.lobby-announcement-banner .anno-content {
    flex: 1;
    font-size: 0.82rem;
    color: #fef08a;
    line-height: 1.35;
}

.lobby-announcement-banner .anno-close {
    background: transparent;
    border: none;
    color: #fca5a5;
    font-size: 1.3rem;
    cursor: pointer;
    line-height: 1;
    padding: 0 4px;
}

/* 4. Sohbet Akış Kutusu */
.pro-chat-box {
    flex: 1 1 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    background: rgba(3, 7, 12, 0.75) !important;
    border: 1px solid #1a2530 !important;
    border-radius: 10px !important;
    padding: 8px 10px !important;
    font-size: 0.85rem !important;
    line-height: 1.5 !important;
    scrollbar-width: thin;
}

.pro-chat-line {
    margin-bottom: 4px;
    word-break: break-word;
}

.pro-chat-line.system {
    color: #ef4444 !important;
    font-style: italic !important;
    font-weight: 600 !important;
}

.pro-chat-line .chat-nick {
    font-weight: 800;
    margin-right: 6px;
    cursor: pointer;
}

.pro-chat-line .chat-nick:hover {
    text-decoration: underline;
}

.pro-chat-line .chat-text {
    color: #e2e8f0;
}

.pro-chat-line .chat-time {
    color: #64748b;
    font-size: 0.72rem;
    margin-left: 6px;
}

/* 5. Alt Sohbet Giriş & Araç Çubuğu */
.pro-chat-form {
    margin-top: 8px !important;
    flex-shrink: 0 !important;
    width: 100% !important;
    position: relative !important;
    z-index: 5 !important;
}

.pro-input-wrapper {
    display: flex !important;
    align-items: center !important;
    background: #0d151d !important;
    border: 1px solid #233140 !important;
    border-radius: 10px !important;
    padding: 3px 5px !important;
    gap: 4px !important;
}

.pro-input-wrapper input {
    flex: 1 !important;
    height: 36px !important;
    background: transparent !important;
    border: none !important;
    color: #fff !important;
    font-size: 0.86rem !important;
    padding: 0 8px !important;
    outline: none !important;
    min-width: 0 !important;
}

.pro-chat-tools {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
}

.pro-chat-tools .tool-btn {
    width: 32px !important;
    height: 32px !important;
    border-radius: 7px !important;
    background: #141f2a !important;
    border: 1px solid #293a4d !important;
    color: #e2e8f0 !important;
    font-size: 0.95rem !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    cursor: pointer !important;
    transition: all 0.15s ease !important;
    padding: 0 !important;
}

.pro-chat-tools .tool-btn:hover {
    background: #1e3042 !important;
    border-color: #f59e0b !important;
    transform: scale(1.08);
}

.pro-chat-tools .send-btn {
    background: linear-gradient(135deg, #dc2626, #991b1b) !important;
    border-color: #ef4444 !important;
    color: #fff !important;
    font-size: 1.05rem !important;
    font-weight: 900 !important;
}

.pro-chat-tools .send-btn:hover {
    background: linear-gradient(135deg, #ef4444, #b91c1c) !important;
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.5) !important;
}

/* 6. Emoji Açılır Paneli */
.chat-emoji-popup {
    background: #0d1620 !important;
    border: 1px solid #293d52 !important;
    border-radius: 10px !important;
    padding: 8px !important;
    margin-bottom: 6px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.6) !important;
}

.chat-emoji-popup .emoji-grid {
    display: grid !important;
    grid-template-columns: repeat(10, 1fr) !important;
    gap: 4px !important;
}

.chat-emoji-item {
    background: transparent !important;
    border: none !important;
    font-size: 1.25rem !important;
    cursor: pointer !important;
    padding: 4px !important;
    border-radius: 6px !important;
    transition: all 0.12s ease !important;
    line-height: 1 !important;
}

.chat-emoji-item:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    transform: scale(1.2);
}

/* ==========================================================================
   LOBİ GÖRÜNÜM GEÇİŞLERİ (SALON SOHBETİ & MASALAR)
   ========================================================================== */
.lobby-view-nav {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 6px 14px;
    background: rgba(13, 20, 29, 0.85);
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    position: relative;
    z-index: 5;
}

.lobby-nav-tabs {
    display: flex;
    align-items: center;
    gap: 6px;
}

.lobby-tab-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    color: #94a3b8;
    font-size: 0.82rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
}

.lobby-tab-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.25);
}

.lobby-tab-btn.active {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.25), rgba(185, 28, 28, 0.15));
    border-color: #ef4444;
    color: #fca5a5;
    box-shadow: 0 0 12px rgba(239, 68, 68, 0.25);
}

.lobby-tab-btn .tab-badge {
    background: #ef4444;
    color: #fff;
    font-size: 0.7rem;
    padding: 1px 6px;
    border-radius: 10px;
    font-weight: 800;
}

.lobby-tab-btn .tab-count-badge {
    background: rgba(255, 255, 255, 0.12);
    color: #cbd5e1;
    font-size: 0.72rem;
    padding: 1px 6px;
    border-radius: 10px;
}

.lobby-quick-create-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 15px;
    background: linear-gradient(135deg, #ef4444, #b91c1c);
    border: 1px solid #f87171;
    border-radius: 8px;
    color: #fff;
    font-size: 0.82rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(239, 68, 68, 0.35);
    transition: all 0.18s ease;
}

.lobby-quick-create-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 14px rgba(239, 68, 68, 0.5);
}

/* Dashboard Görünüm Durumları */
.v12-dashboard.view-salon {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 1 0 !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 8px 14px 10px !important;
    box-sizing: border-box !important;
    position: relative !important;
    overflow: hidden !important;
}

.v12-dashboard.view-salon ~ .v12-footer-tools {
    display: none !important;
}

.v12-dashboard.view-salon #v12TablesSection {
    display: none !important;
}

.v12-dashboard.view-salon #v12SalonSection {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    flex: 1 1 0 !important;
    overflow: hidden !important;
}

.v12-dashboard.view-tables #v12TablesSection {
    display: flex !important;
    width: 100% !important;
}

.v12-dashboard.view-tables #v12SalonSection {
    display: none !important;
}

/* Canlı Radyo Kompakt Çubuğu */
.salon-radio-bar {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(15, 23, 42, 0.75);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    padding: 2px 7px;
}

.salon-radio-icon {
    font-size: 0.88rem;
    animation: radioPulse 2.5s infinite ease-in-out;
}

@keyframes radioPulse {
    0%, 100% { transform: scale(1); opacity: 0.8; }
    50% { transform: scale(1.15); opacity: 1; }
}

.salon-radio-select {
    background: #0f172a;
    border: 1px solid #334155;
    color: #f1f5f9;
    font-size: 0.76rem;
    font-weight: 600;
    border-radius: 6px;
    padding: 3px 6px;
    outline: none;
    max-width: 130px;
    cursor: pointer;
}

.salon-radio-btn {
    background: linear-gradient(135deg, #10b981, #059669);
    border: 1px solid #34d399;
    color: #fff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 3px 8px;
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.15s;
    white-space: nowrap;
}

.salon-radio-btn:hover {
    background: linear-gradient(135deg, #059669, #047857);
    transform: scale(1.05);
}

.salon-radio-btn.playing {
    background: linear-gradient(135deg, #ef4444, #dc2626) !important;
    border-color: #f87171 !important;
}

.salon-radio-vol {
    width: 48px;
    height: 4px;
    accent-color: #10b981;
    cursor: pointer;
}

/* Yazı Rengi Seçici Popover */
.chat-color-popup {
    background: #0d1620 !important;
    border: 1px solid #293d52 !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
    margin-bottom: 6px !important;
    box-shadow: 0 10px 25px rgba(0,0,0,0.6) !important;
}

.chat-color-title {
    font-size: 0.74rem;
    color: #94a3b8;
    margin-bottom: 6px;
    font-weight: 700;
}

.chat-color-palette {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
}

.color-swatch {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    border: 2px solid transparent;
    cursor: pointer;
    transition: transform 0.15s, border-color 0.15s;
    outline: none;
    padding: 0;
}

.color-swatch:hover {
    transform: scale(1.25);
}

.color-swatch.active {
    border-color: #fff !important;
    box-shadow: 0 0 8px rgba(255, 255, 255, 0.8);
    transform: scale(1.2);
}

/* Salon Bölünmüş Görünümü (Sol Sohbet, Sağ Oyuncular) */
.v12-salon-split {
    display: flex;
    gap: 12px;
    width: 100%;
    height: 100%;
    min-height: 0;
    position: relative;
}

.v12-salon-split .pro-salon-panel {
    flex: 1;
    min-width: 0;
    height: 100% !important;
    display: flex;
    flex-direction: column;
}

.pro-players-sidebar {
    width: 32%;
    min-width: 250px;
    max-width: 360px;
    height: 100% !important;
    display: flex;
    flex-direction: column;
    position: relative;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    overflow: hidden;
}

.pro-players-sidebar.collapsed {
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Sağ Panel Açma / Daraltma Butonları (>> / <<) */
.player-sidebar-toggle-btn {
    position: absolute;
    bottom: 8px;
    right: 8px;
    background: rgba(15, 23, 42, 0.9);
    border: 1px solid rgba(239, 68, 68, 0.5);
    color: #fca5a5;
    font-size: 1.2rem;
    line-height: 1;
    padding: 5px 9px;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.5);
    transition: all 0.15s ease;
    z-index: 10;
}

.player-sidebar-toggle-btn:hover {
    background: #ef4444;
    color: #fff;
    transform: scale(1.1);
}

.player-sidebar-expand-btn {
    position: absolute;
    bottom: 12px;
    right: 12px;
    background: linear-gradient(135deg, #ef4444, #991b1b);
    border: 1px solid #fca5a5;
    color: #fff;
    font-size: 1.25rem;
    font-weight: 900;
    line-height: 1;
    padding: 8px 12px;
    border-radius: 10px;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.5);
    z-index: 20;
    transition: all 0.18s ease;
}

.player-sidebar-expand-btn:hover {
    transform: scale(1.1);
}

/* 3 Filtre İkon Sekmesi */
.player-filter-tabs {
    display: flex;
    gap: 4px;
    margin: 6px 0 8px;
}

.player-filter-tabs .p-tab {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 5px 4px;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 6px;
    color: #94a3b8;
    font-size: 0.75rem;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.15s;
}

.player-filter-tabs .p-tab:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.player-filter-tabs .p-tab.active {
    background: rgba(245, 158, 11, 0.18);
    border-color: #f59e0b;
    color: #fbbf24;
}

/* 2 Kişilik Duello Modu Aksiyon Kartı */
.v12-action.duel-game {
    border-color: rgba(239, 68, 68, 0.4);
    background: radial-gradient(circle at top right, rgba(239, 68, 68, 0.15), rgba(15, 23, 42, 0.9));
}

.v12-action.duel-game:hover {
    border-color: #ef4444;
    box-shadow: 0 4px 16px rgba(239, 68, 68, 0.25);
}

.v12-action.duel-game .v12-action-icon {
    background: rgba(239, 68, 68, 0.2);
    border-color: rgba(239, 68, 68, 0.4);
    color: #fca5a5;
}

.badge-duello {
    background: linear-gradient(135deg, #dc2626, #991b1b) !important;
    color: #fee2e2 !important;
    font-weight: 800 !important;
}

.room-card.card-duello {
    border-color: rgba(239, 68, 68, 0.45) !important;
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.08) 0%, rgba(15, 23, 42, 0.85) 100%) !important;
}

/* ==========================================================================
   ÖZEL MESAJLAŞMA (PM / DM) SABİT PENCERESİ
   ========================================================================== */
.private-chat-dock {
    position: fixed;
    bottom: 0;
    right: 20px;
    display: flex;
    align-items: flex-end;
    gap: 12px;
    z-index: 9999;
    pointer-events: none;
}

.pm-window {
    width: 320px;
    height: 430px;
    background: #090e15;
    border: 1px solid #29384d;
    border-bottom: none;
    border-radius: 14px 14px 0 0;
    box-shadow: 0 -4px 25px rgba(0, 0, 0, 0.7);
    display: flex;
    flex-direction: column;
    overflow: hidden;
    pointer-events: auto;
    transition: height 0.2s ease, transform 0.2s ease;
}

.pm-window.minimized {
    height: 44px !important;
    cursor: pointer;
}

.pm-window.minimized .pm-body,
.pm-window.minimized .pm-chips,
.pm-window.minimized .pm-form {
    display: none !important;
}

.pm-header {
    height: 44px;
    background: linear-gradient(180deg, #16202c, #0d1520);
    border-bottom: 1px solid #243242;
    padding: 0 10px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    user-select: none;
}

.pm-header-user {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    flex: 1;
    cursor: pointer;
}

.pm-header-avatar {
    position: relative;
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

.pm-header-avatar img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #f59e0b;
}

.pm-header-avatar .status-dot {
    position: absolute;
    bottom: -1px;
    right: -1px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #10b981;
    border: 1.5px solid #0d1520;
}

.pm-header-info {
    min-width: 0;
    overflow: hidden;
}

.pm-header-name {
    font-size: 0.82rem;
    font-weight: 800;
    color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.pm-header-status {
    font-size: 0.68rem;
    color: #94a3b8;
    display: block;
}

.pm-header-actions {
    display: flex;
    align-items: center;
    gap: 4px;
}

.pm-tool-btn {
    background: transparent;
    border: none;
    color: #94a3b8;
    padding: 4px 6px;
    font-size: 0.95rem;
    cursor: pointer;
    border-radius: 6px;
    line-height: 1;
    transition: all 0.12s;
}

.pm-tool-btn:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.pm-tool-btn.nudge-btn:hover {
    color: #fbbf24;
    transform: scale(1.2);
}

.pm-body {
    flex: 1;
    overflow-y: auto;
    padding: 10px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    background: rgba(5, 8, 12, 0.85);
    scrollbar-width: thin;
}

.pm-bubble-row {
    display: flex;
    flex-direction: column;
    max-width: 82%;
}

.pm-bubble-row.me {
    align-self: flex-end;
    align-items: flex-end;
}

.pm-bubble-row.other {
    align-self: flex-start;
    align-items: flex-start;
}

.pm-bubble {
    padding: 7px 11px;
    border-radius: 12px;
    font-size: 0.82rem;
    line-height: 1.4;
    word-break: break-word;
}

.pm-bubble-row.me .pm-bubble {
    background: linear-gradient(135deg, #d97706, #b45309);
    color: #fff;
    border-bottom-right-radius: 2px;
}

.pm-bubble-row.other .pm-bubble {
    background: #1e293b;
    border: 1px solid #334155;
    color: #f1f5f9;
    border-bottom-left-radius: 2px;
}

.pm-bubble.gift-card {
    background: linear-gradient(135deg, #1e1b4b, #311042) !important;
    border: 1px solid #a855f7 !important;
    color: #f5d0fe !important;
    font-weight: 600;
}

.pm-bubble.nudge-card {
    background: linear-gradient(135deg, #451a03, #78350f) !important;
    border: 1px solid #f59e0b !important;
    color: #fef3c7 !important;
    font-weight: 700;
    animation: pmScreenShake 0.4s ease;
}

.pm-time {
    font-size: 0.65rem;
    color: #64748b;
    margin-top: 2px;
}

.pm-typing-indicator {
    font-size: 0.72rem;
    color: #38bdf8;
    font-style: italic;
    padding: 0 10px 4px;
}

/* Hızlı Yanıt Çipleri */
.pm-chips {
    display: flex;
    gap: 4px;
    overflow-x: auto;
    padding: 4px 8px;
    background: #0d1520;
    border-top: 1px solid #1e293b;
    scrollbar-width: none;
}

.pm-chips::-webkit-scrollbar {
    display: none;
}

.pm-chip {
    flex-shrink: 0;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 999px;
    color: #cbd5e1;
    font-size: 0.72rem;
    padding: 3px 8px;
    cursor: pointer;
    white-space: nowrap;
    transition: all 0.12s;
}

.pm-chip:hover {
    background: rgba(245, 158, 11, 0.2);
    border-color: #f59e0b;
    color: #fbbf24;
}

.pm-form {
    padding: 6px 8px;
    background: #090e15;
    border-top: 1px solid #1e293b;
    display: flex;
    align-items: center;
    gap: 6px;
}

.pm-form input {
    flex: 1;
    background: #131d28;
    border: 1px solid #29384d;
    border-radius: 8px;
    color: #fff;
    padding: 6px 9px;
    font-size: 0.8rem;
    outline: none;
}

.pm-form input:focus {
    border-color: #f59e0b;
}

.pm-send-btn {
    background: #ef4444;
    border: none;
    color: #fff;
    width: 32px;
    height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.9rem;
    cursor: pointer;
    transition: all 0.15s;
}

.pm-send-btn:hover {
    background: #dc2626;
    transform: scale(1.05);
}

/* Titreşim Sallantısı Animasyonu */
@keyframes pmScreenShake {
    0%, 100% { transform: translate(0, 0) rotate(0deg); }
    15% { transform: translate(-8px, 4px) rotate(-1.2deg); }
    30% { transform: translate(7px, -5px) rotate(1deg); }
    45% { transform: translate(-6px, 5px) rotate(-0.8deg); }
    60% { transform: translate(5px, -3px) rotate(0.6deg); }
    75% { transform: translate(-3px, 2px) rotate(-0.4deg); }
    90% { transform: translate(2px, -1px) rotate(0.2deg); }
}

.screen-shake {
    animation: pmScreenShake 0.65s cubic-bezier(.36,.07,.19,.97) both !important;
}

/* Mobil Görünüm Optimizasyonları */
@media (max-width: 900px) {
    .lobby-view-nav {
        padding: 5px 8px !important;
    }
    .lobby-tab-btn {
        padding: 5px 9px !important;
        font-size: 0.76rem !important;
    }
    .lobby-quick-create-btn {
        padding: 5px 9px !important;
        font-size: 0.76rem !important;
    }

    /* Mobilde Salon Görünümünde Yan Yana Düzen (Ekran Resmi Birebir) */
    .v12-dashboard.view-salon {
        height: calc(100dvh - 105px) !important;
        min-height: 440px !important;
        padding: 4px 6px 6px !important;
    }

    .v12-dashboard.view-salon #v12SalonSection {
        display: flex !important;
        flex-direction: row !important;
        gap: 6px !important;
        height: 100% !important;
        min-height: 0 !important;
        padding: 0 !important;
    }

    .salon-radio-bar {
        padding: 1px 4px !important;
        gap: 4px !important;
    }
    .salon-radio-vol {
        display: none !important;
    }
    .salon-radio-select {
        max-width: 95px !important;
        font-size: 0.7rem !important;
        padding: 2px 4px !important;
    }
    .salon-radio-btn {
        font-size: 0.7rem !important;
        padding: 2px 6px !important;
    }

    /* Mobil: Salon Sohbet %100 Tam Genişlik, Oyuncular Yan Çekmece */
    .v12-salon-split .pro-salon-panel {
        width: 100% !important;
        flex: 1 1 100% !important;
        max-width: 100% !important;
    }

    .mobile-players-btn {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        background: rgba(245, 158, 11, 0.15) !important;
        border: 1px solid rgba(245, 158, 11, 0.4) !important;
        color: #fbbf24 !important;
        padding: 4px 8px !important;
        border-radius: 8px !important;
        font-size: 0.8rem !important;
        font-weight: 700 !important;
        cursor: pointer !important;
    }

    .salon-players-pill {
        background: #ef4444;
        color: #fff;
        border-radius: 999px;
        padding: 1px 6px;
        font-size: 0.7rem;
        font-weight: 800;
    }

    .mobile-players-close-btn {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 28px !important;
        height: 28px !important;
        border-radius: 6px !important;
        background: rgba(239, 68, 68, 0.2) !important;
        border: 1px solid rgba(239, 68, 68, 0.4) !important;
        color: #fca5a5 !important;
        font-size: 0.95rem !important;
        cursor: pointer !important;
    }

    body.players-sidebar-open .v12-dashboard {
        z-index: 99995 !important;
    }
    body.players-sidebar-open #lobbyCard,
    body.players-sidebar-open .lobby-v12 {
        overflow: visible !important;
    }

    .mobile-players-backdrop {
        position: fixed !important;
        inset: 0 !important;
        background: rgba(0, 0, 0, 0.72) !important;
        backdrop-filter: blur(4px) !important;
        z-index: 99990 !important;
    }

    .pro-players-sidebar {
        position: fixed !important;
        right: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        width: 86% !important;
        max-width: 320px !important;
        height: 100dvh !important;
        z-index: 99999 !important;
        background: #0f172a !important;
        border-left: 2px solid rgba(245, 158, 11, 0.5) !important;
        box-shadow: -15px 0 40px rgba(0, 0, 0, 0.95) !important;
        transform: translateX(100%) !important;
        transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1) !important;
        display: flex !important;
        flex-direction: column !important;
        padding: 14px !important;
        color: #f8fafc !important;
    }

    .pro-players-sidebar.open {
        transform: translateX(0) !important;
    }

    .player-sidebar-toggle-btn, .player-sidebar-expand-btn {
        display: none !important;
    }

    .pro-players-head h3 {
        color: #ffffff !important;
        font-size: 0.95rem !important;
        font-weight: 800 !important;
    }
    .player-filter-tabs .p-tab {
        background: #1e293b !important;
        border: 1px solid #334155 !important;
        color: #94a3b8 !important;
        font-weight: 700 !important;
    }
    .player-filter-tabs .p-tab.active {
        background: linear-gradient(135deg, #d97706, #b45309) !important;
        border-color: #f59e0b !important;
        color: #ffffff !important;
    }
    .player-filter-tabs .p-tab span {
        display: inline !important;
    }
    .player-search-bar {
        background: #1e293b !important;
        border: 1px solid #475569 !important;
        padding: 4px 8px !important;
        margin: 4px 0 !important;
    }
    .player-search-bar input {
        color: #ffffff !important;
        font-size: 0.85rem !important;
    }
    .lobby-player {
        background: #1e293b !important;
        border: 1px solid #334155 !important;
        border-radius: 10px !important;
        padding: 8px 10px !important;
        margin-bottom: 6px !important;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;
        gap: 8px !important;
    }
    .lobby-player img {
        width: 36px !important;
        height: 36px !important;
    }
    .lobby-player b {
        color: #ffffff !important;
        font-size: 0.88rem !important;
        font-weight: 800 !important;
    }
    .lobby-player small {
        color: #94a3b8 !important;
        font-size: 0.76rem !important;
    }
    .player-badges-col {
        display: flex !important;
    }
    .player-coins-badge {
        color: #fbbf24 !important;
        font-weight: 800 !important;
        font-size: 0.8rem !important;
    }

    /* Mobil Özel Mesaj Çekmecesi - Tam Ekran WhatsApp/Messenger Düzeni, Sıfır Boşluk */
    .private-chat-dock {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        z-index: 999999 !important;
        pointer-events: none !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    .private-chat-dock:not(.has-open-chats) {
        display: none !important;
    }
    .private-chat-dock.has-open-chats {
        pointer-events: auto !important;
    }

    .pm-window {
        position: fixed !important;
        inset: 0 !important;
        top: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        height: 100dvh !important;
        max-height: 100dvh !important;
        border-radius: 0 !important;
        border: none !important;
        display: flex !important;
        flex-direction: column !important;
        z-index: 999999 !important;
    }
    .pm-window .pm-header {
        height: 50px !important;
        flex-shrink: 0 !important;
        border-radius: 0 !important;
        padding: 0 12px !important;
    }
    .pm-window .pm-body {
        flex: 1 1 auto !important;
        min-height: 0 !important;
    }
    .pm-window .pm-chips {
        flex-shrink: 0 !important;
    }
    .pm-window .pm-form {
        flex-shrink: 0 !important;
        padding: 8px 10px 10px !important;
    }
    .pm-window.minimized {
        position: fixed !important;
        top: auto !important;
        bottom: 10px !important;
        left: 10px !important;
        right: 10px !important;
        width: calc(100% - 20px) !important;
        height: 48px !important;
        border-radius: 12px !important;
        border: 1px solid #334155 !important;
        box-shadow: 0 4px 20px rgba(0,0,0,0.7) !important;
    }
}

/* ==========================================================================
   OYUNCU AVATAR MODALI & SALON ŞERİDİ STİLLERİ
   ========================================================================== */
.avatar-modal-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
    padding: 4px;
}

.avatar-modal-opt {
    background: rgba(255, 255, 255, 0.05);
    border: 2px solid rgba(255, 255, 255, 0.12);
    border-radius: 12px;
    padding: 6px;
    cursor: pointer;
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
}

.avatar-modal-opt:hover {
    border-color: #fbbf24;
    background: rgba(251, 191, 36, 0.1);
    transform: translateY(-2px);
}

.avatar-modal-opt.selected {
    border-color: #f59e0b;
    background: rgba(245, 158, 11, 0.2);
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.4);
}

.avatar-modal-opt img {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    object-fit: cover;
}

.salon-head-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}

.salon-badge-live {
    background: rgba(239, 68, 68, 0.15);
    border: 1px solid rgba(239, 68, 68, 0.4);
    color: #ef4444;
    font-size: 0.72rem;
    font-weight: 800;
    padding: 2px 7px;
    border-radius: 6px;
    letter-spacing: 0.5px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.salon-title-name {
    color: #fca5a5;
    font-weight: 600;
    font-size: 0.84rem;
    margin-left: 6px;
}

.salon-head-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mobile-players-btn {
    display: none;
}

.mobile-players-close-btn {
    display: none;
}

/* ==========================================================================
   GİRİŞ / LOBİ KARTLARI KESİN GİZLİLİK KURALLARI
   ========================================================================== */
#lobbyCard.hidden,
.lobby-v12.hidden,
#authCard.hidden,
.auth-stage.hidden,
.modal.hidden {
    display: none !important;
}

/* ==========================================================================
   TOPBAR MARKA LOGO & YAZISI (TEK SATIR) & AKSİYON BUTONLARI
   ========================================================================== */
.topbar .brand {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    user-select: none !important;
}

.topbar .brand-mark {
    width: 38px !important;
    height: 38px !important;
    border-radius: 10px !important;
    font-size: 17px !important;
    font-weight: 900 !important;
    background: linear-gradient(145deg, #f59e0b, #d97706) !important;
    color: #000 !important;
    display: grid !important;
    place-items: center !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 12px rgba(245, 158, 11, 0.3) !important;
}

.topbar .brand-title {
    font-size: 1.15rem !important;
    font-weight: 900 !important;
    color: #fff !important;
    letter-spacing: 0.8px !important;
}

.top-actions {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    flex-wrap: wrap !important;
}

/* ==========================================================================
   ODA KONUSU / KARŞILAMA DUYURUSU ŞERİDİ & RESMİ SOHBET DUYURULARI
   ========================================================================== */
.pro-salon-head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding-bottom: 8px !important;
    margin-bottom: 6px !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    flex-shrink: 0 !important;
}

.salon-topic-bar {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: linear-gradient(90deg, rgba(245, 158, 11, 0.18), rgba(245, 158, 11, 0.04)) !important;
    border: 1px solid rgba(245, 158, 11, 0.4) !important;
    border-radius: 8px !important;
    padding: 6px 12px !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
}

.salon-topic-icon {
    font-size: 1rem !important;
    flex-shrink: 0 !important;
    animation: topicPulse 2.5s infinite ease-in-out !important;
}

@keyframes topicPulse {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.15); }
}

.salon-topic-text {
    font-size: 0.86rem !important;
    font-weight: 700 !important;
    color: #fde68a !important;
    letter-spacing: 0.2px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

/* Sohbet Akışına Doğrudan Gelen Canlı Duyuru Kartı */
.chat-anno-card {
    background: linear-gradient(135deg, rgba(239, 68, 68, 0.18), rgba(245, 158, 11, 0.14)) !important;
    border: 1px solid rgba(239, 68, 68, 0.5) !important;
    border-left: 4px solid #ef4444 !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
    margin: 8px 0 !important;
    box-shadow: 0 4px 18px rgba(239, 68, 68, 0.2) !important;
    animation: annoGlow 3s infinite ease-in-out !important;
}

.chat-anno-head {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin-bottom: 4px !important;
}

.anno-badge {
    background: #ef4444 !important;
    color: #fff !important;
    font-size: 0.68rem !important;
    font-weight: 800 !important;
    padding: 2px 7px !important;
    border-radius: 4px !important;
    letter-spacing: 0.5px !important;
}

.anno-sender {
    color: #fca5a5 !important;
    font-weight: 700 !important;
    font-size: 0.82rem !important;
}

.anno-text {
    color: #fff !important;
    font-size: 0.88rem !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    word-break: break-word !important;
}

/* ==========================================================================
   OYUNCU MODERASYON & ETKİLEŞİM MODALI (NİCK TABLOSU - TAM SAYDAMSIZ)
   ========================================================================== */
.pam-modal-card {
    max-width: 520px !important;
    width: 95% !important;
    padding: 24px !important;
    background: #090e15 !important;
    border: 1px solid rgba(245, 158, 11, 0.5) !important;
    border-radius: 20px !important;
    box-shadow: 0 25px 90px rgba(0, 0, 0, 0.98) !important;
    position: relative !important;
    z-index: 100006 !important;
    color: #fff !important;
}

.pam-modal-card .pam-card {
    background: #0e1620 !important;
    border: 1px solid #1e293b !important;
    border-radius: 10px !important;
}

/* Modal Arka Planına Dokununca Kapatabilme */
.modal {
    cursor: pointer !important;
}

.modal .modal-card,
.modal .modal-content {
    cursor: default !important;
}

/* ==========================================================================
   İNTERAKTİF ÖZEL MESAJ BİLDİRİM BANNERI (TOAST)
   ========================================================================== */
.pm-incoming-toast {
    position: fixed;
    top: 16px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 440px;
    background: rgba(11, 17, 26, 0.98);
    border: 1.5px solid #38bdf8;
    border-radius: 14px;
    padding: 10px 14px;
    display: flex;
    align-items: center;
    gap: 12px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.85), 0 0 24px rgba(56, 189, 248, 0.3);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 100001;
    cursor: pointer;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    animation: toastSlideDown 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes toastSlideDown {
    from {
        opacity: 0;
        transform: translate(-50%, -30px) scale(0.95);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0) scale(1);
    }
}

.pm-incoming-toast.hidden {
    display: none !important;
}

.pm-toast-avatar {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 2px solid #38bdf8;
    object-fit: cover;
    flex-shrink: 0;
}

.pm-toast-info {
    flex: 1;
    min-width: 0;
}

.pm-toast-head {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 2px;
}

.pm-toast-tag {
    background: rgba(56, 189, 248, 0.2);
    border: 1px solid rgba(56, 189, 248, 0.4);
    color: #38bdf8;
    font-size: 0.65rem;
    font-weight: 800;
    padding: 1px 5px;
    border-radius: 4px;
}

.pm-toast-head b {
    color: #fff;
    font-size: 0.84rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pm-toast-info p {
    margin: 0;
    color: #cbd5e1;
    font-size: 0.78rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.pm-toast-btn {
    background: linear-gradient(135deg, #0284c7, #0ea5e9);
    color: #fff;
    border: none;
    border-radius: 8px;
    padding: 6px 14px;
    font-size: 0.78rem;
    font-weight: 700;
    cursor: pointer;
    flex-shrink: 0;
    transition: transform 0.15s ease;
}

.pm-toast-btn:hover {
    transform: scale(1.05);
}

.pm-toast-close {
    background: transparent;
    border: none;
    color: #64748b;
    font-size: 1.1rem;
    cursor: pointer;
    padding: 4px;
    line-height: 1;
    flex-shrink: 0;
}

.pm-toast-close:hover {
    color: #fff;
}

/* ==========================================================================
   MOBİL ÖZEL MESAJ DOCK & RESPONSIVE DÜZENLEME
   ========================================================================== */
@media (max-width: 768px) {
    .topbar {
        height: 48px !important;
        min-height: 48px !important;
        padding: 4px 8px !important;
        flex-wrap: nowrap !important;
        justify-content: space-between !important;
        gap: 6px !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }
    .topbar::-webkit-scrollbar {
        display: none !important;
    }
    .topbar-brand, .topbar .brand {
        display: inline-flex !important;
        align-items: center !important;
        gap: 4px !important;
        flex-shrink: 0 !important;
    }
    .topbar-brand .logo-mark, .topbar .brand-mark {
        width: 28px !important;
        height: 28px !important;
        font-size: 14px !important;
    }
    .topbar-brand .brand-title, .topbar .brand-title {
        font-size: 0.86rem !important;
        font-weight: 800 !important;
        white-space: nowrap !important;
    }
    .topbar-actions, .top-actions {
        display: flex !important;
        align-items: center !important;
        gap: 4px !important;
        flex-wrap: nowrap !important;
        flex-shrink: 1 !important;
        min-width: 0 !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }
    .topbar-actions::-webkit-scrollbar, .top-actions::-webkit-scrollbar {
        display: none !important;
    }
    .topbar-actions .ghost, .top-actions .ghost {
        padding: 4px 7px !important;
        font-size: 0.72rem !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
        height: 30px !important;
        display: inline-flex !important;
        align-items: center !important;
        gap: 3px !important;
    }
    #lobbyFullscreenBtn .btn-lbl {
        display: none !important;
    }

    /* Mobilde Salon Başlığı & Duyuru: Üst satırda %100 genişlik ve tam okunaklı */
    .pro-salon-head {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 6px !important;
        padding-bottom: 6px !important;
    }

    .salon-topic-bar {
        width: 100% !important;
        max-width: 100% !important;
        padding: 6px 10px !important;
        box-sizing: border-box !important;
    }

    .salon-topic-text {
        font-size: 0.82rem !important;
        white-space: normal !important;
        word-break: break-word !important;
        line-height: 1.35 !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .salon-head-actions {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: 100% !important;
    }

    .private-chat-dock.has-open-chats {
        position: fixed !important;
        inset: 0 !important;
        width: 100vw !important;
        height: 100dvh !important;
        background: rgba(4, 7, 12, 0.88) !important;
        backdrop-filter: blur(10px) !important;
        -webkit-backdrop-filter: blur(10px) !important;
        pointer-events: auto !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-end !important;
        align-items: center !important;
        z-index: 10000 !important;
    }

    .private-chat-dock.has-open-chats .pm-window {
        width: 100% !important;
        max-width: 480px !important;
        height: 82dvh !important;
        border-radius: 20px 20px 0 0 !important;
        box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.95) !important;
        pointer-events: auto !important;
        animation: slideUpPm 0.28s cubic-bezier(0.16, 1, 0.3, 1) forwards !important;
    }

    .private-chat-dock.has-open-chats .pm-window.minimized {
        height: 52px !important;
        margin-bottom: 12px !important;
        border-radius: 14px !important;
    }
}

@keyframes slideUpPm {
    from {
        opacity: 0;
        transform: translateY(100%);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ==========================================================================
   CANLI MASA VE LOBİ OYUNCU DAVET SİSTEMİ STİLLERİ
   ========================================================================== */
.btn-slot-invite {
    margin-left: auto;
    padding: 6px 12px;
    border-radius: 8px;
    background: linear-gradient(135deg, #10b981, #059669);
    border: 1px solid #34d399;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
    white-space: nowrap;
    transition: transform 0.2s, filter 0.2s;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.3);
}
.btn-slot-invite:hover {
    filter: brightness(1.15);
    transform: scale(1.05);
}

.chat-table-invite-card {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.14), rgba(15, 23, 42, 0.95));
    border: 1.5px solid #10b981;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 8px 0;
    box-shadow: 0 6px 20px rgba(16, 185, 129, 0.25);
    display: flex;
    flex-direction: column;
    gap: 8px;
    animation: fadeInInvite 0.3s ease-out;
}
@keyframes fadeInInvite {
    from { opacity: 0; transform: translateY(6px); }
    to { opacity: 1; transform: translateY(0); }
}
.cic-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.cic-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    background: #10b981;
    color: #064e3b;
    font-weight: 800;
    font-size: 11px;
    padding: 3px 8px;
    border-radius: 12px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.cic-time {
    font-size: 11px;
    color: #94a3b8;
}
.cic-title {
    font-size: 13px;
    color: #f8fafc;
    line-height: 1.4;
}
.cic-meta-box {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 12px;
    background: rgba(0, 0, 0, 0.4);
    padding: 8px 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    flex-wrap: wrap;
    color: #cbd5e1;
}
.cic-join-btn {
    width: 100%;
    padding: 10px 14px;
    border-radius: 8px;
    background: linear-gradient(135deg, #10b981, #047857);
    border: 1px solid #34d399;
    color: #fff;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(16, 185, 129, 0.4);
    transition: all 0.2s ease;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}
.cic-join-btn:hover {
    filter: brightness(1.15);
    transform: translateY(-1px);
}
.cic-join-btn:active {
    transform: scale(0.98);
}

.lim-player-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 12px;
    background: rgba(30, 41, 59, 0.6);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 10px;
    transition: background 0.2s, border-color 0.2s;
}
.lim-player-row:hover {
    background: rgba(30, 41, 59, 0.9);
    border-color: rgba(245, 158, 11, 0.3);
}
.lim-player-info {
    display: flex;
    align-items: center;
    gap: 10px;
}
.lim-player-avatar {
    width: 38px;
    height: 38px;
    border-radius: 10px;
    object-fit: cover;
    border: 1.5px solid #f59e0b;
}
.lim-invite-btn {
    padding: 7px 14px;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 700;
    background: linear-gradient(135deg, #f59e0b, #d97706);
    border: 1px solid #fbbf24;
    color: #111;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;
}
.lim-invite-btn:hover {
    filter: brightness(1.12);
    transform: scale(1.03);
}
.lim-invite-btn.sent {
    background: #334155 !important;
    border-color: #475569 !important;
    color: #94a3b8 !important;
    cursor: default !important;
    transform: none !important;
}

/* ==========================================================================
   CANLI MASA DAVETİ BİLDİRİM TOASTI (ROOM INVITE TOAST)
   ========================================================================== */
.room-invite-toast {
    position: fixed;
    top: 75px;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    max-width: 440px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.22), rgba(15, 23, 42, 0.98));
    border: 1.5px solid #10b981;
    border-radius: 14px;
    padding: 12px 14px;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.85), 0 0 24px rgba(16, 185, 129, 0.35);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    z-index: 100002;
    animation: toastSlideDown 0.35s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.room-invite-toast.hidden {
    display: none !important;
}
.rit-badge {
    align-self: flex-start;
    background: #10b981;
    color: #064e3b;
    font-size: 0.68rem;
    font-weight: 800;
    padding: 2px 8px;
    border-radius: 10px;
    letter-spacing: 0.5px;
}
.rit-body {
    display: flex;
    align-items: center;
    gap: 10px;
}
.rit-icon {
    font-size: 1.8rem;
    line-height: 1;
}
.rit-info {
    flex: 1;
    min-width: 0;
}
.rit-title {
    font-size: 0.88rem;
    color: #f8fafc;
    line-height: 1.3;
}
.rit-title b {
    color: #38bdf8;
}
.rit-desc {
    font-size: 0.78rem;
    color: #fbbf24;
    margin: 2px 0 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.rit-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 2px;
}
.rit-accept-btn {
    flex: 1;
    padding: 8px 14px;
    background: linear-gradient(135deg, #10b981, #059669);
    border: 1px solid #34d399;
    color: #fff;
    font-weight: 800;
    font-size: 0.85rem;
    border-radius: 8px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(16, 185, 129, 0.4);
    transition: transform 0.15s, filter 0.15s;
}
.rit-accept-btn:hover {
    filter: brightness(1.15);
    transform: scale(1.02);
}
.rit-dismiss-btn {
    width: 34px;
    height: 34px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.15);
    color: #94a3b8;
    border-radius: 8px;
    cursor: pointer;
    font-size: 1rem;
    transition: background 0.15s, color 0.15s;
}
.rit-dismiss-btn:hover {
    background: rgba(239, 68, 68, 0.2);
    color: #ef4444;
    border-color: #ef4444;
}

/* ==========================================================================
   AYDINLIK / BEYAZ TEMA (LIGHT MODE) SİSTEMİ
   ========================================================================== */
.theme-toggle-btn {
    font-weight: 700 !important;
    transition: all 0.2s ease !important;
}
.theme-toggle-btn:hover {
    transform: scale(1.05);
}

body.light-theme {
    background: #f1f5f9 !important;
    color: #1e293b !important;
}

body.light-theme .app-shell {
    background: radial-gradient(circle at 20% 40%, rgba(217, 173, 77, 0.08), transparent 34%), radial-gradient(circle at 80% 15%, rgba(56, 189, 248, 0.08), transparent 36%), linear-gradient(135deg, #f8fafc 0%, #f1f5f9 58%, #e2e8f0 100%) !important;
}

body.light-theme .app-shell:before {
    background: linear-gradient(90deg, transparent 49.8%, rgba(213, 168, 82, 0.06) 50%, transparent 50.2%) !important;
}

body.light-theme .topbar {
    background: rgba(255, 255, 255, 0.95) !important;
    border-bottom: 1px solid #cbd5e1 !important;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.04) !important;
}

body.light-theme .brand-title {
    color: #0f172a !important;
}

body.light-theme .ghost,
body.light-theme .outline-btn {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    color: #334155 !important;
}

body.light-theme .ghost:hover,
body.light-theme .outline-btn:hover {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #0f172a !important;
}

body.light-theme .theme-toggle-btn {
    background: #fef3c7 !important;
    border-color: #f59e0b !important;
    color: #b45309 !important;
}

/* Lobi V12 Aydınlık Görünümü */
body.light-theme .lobby-v12 {
    background: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.07) !important;
    color: #0f172a !important;
}

body.light-theme .lobby-v12:before {
    background: radial-gradient(circle at 10% 0%, rgba(226, 179, 73, 0.05), transparent 24%), radial-gradient(circle at 100% 0%, rgba(47, 120, 175, 0.05), transparent 30%) !important;
}

body.light-theme .v12-header {
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

body.light-theme .v12-profile-copy b {
    color: #0f172a !important;
}

body.light-theme .v12-profile-copy span {
    color: #64748b !important;
}

body.light-theme .v12-status,
body.light-theme .v12-wallet {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
}

body.light-theme .v12-status b {
    color: #0f172a !important;
}

body.light-theme .v12-wallet small {
    color: #64748b !important;
}

body.light-theme .v12-wallet strong {
    color: #b45309 !important;
}

body.light-theme .v12-head-icon-btn.logout-btn {
    background: rgba(239, 68, 68, 0.08) !important;
    border-color: rgba(239, 68, 68, 0.3) !important;
    color: #dc2626 !important;
}

body.light-theme .lobby-view-nav {
    background: #f8fafc !important;
    border-bottom: 1px solid #e2e8f0 !important;
}

body.light-theme .lobby-tab-btn {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #64748b !important;
}

body.light-theme .lobby-tab-btn:hover {
    background: #f1f5f9 !important;
    color: #0f172a !important;
}

body.light-theme .lobby-tab-btn.active {
    background: #fee2e2 !important;
    border-color: #ef4444 !important;
    color: #b91c1c !important;
    box-shadow: 0 0 10px rgba(239, 68, 68, 0.15) !important;
}

body.light-theme .v12-left {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

body.light-theme .v12-section-head h2,
body.light-theme .v12-subhead h3 {
    color: #0f172a !important;
}

body.light-theme .v12-action.live-game {
    background: linear-gradient(135deg, #fffbeb, #ffffff 70%) !important;
    border-color: #fcd34d !important;
    color: #1e293b !important;
}

body.light-theme .v12-action.duel-game {
    background: linear-gradient(135deg, #eff6ff, #ffffff 70%) !important;
    border-color: #93c5fd !important;
    color: #1e293b !important;
}

body.light-theme .v12-action.bot-game {
    background: linear-gradient(135deg, #f0fdf4, #ffffff 70%) !important;
    border-color: #86efac !important;
    color: #1e293b !important;
}

body.light-theme .v12-action b {
    color: #0f172a !important;
}

body.light-theme .v12-action p {
    color: #64748b !important;
}

body.light-theme .v12-room-grid .room-card {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04) !important;
}

body.light-theme .v12-room-grid .room-card:hover {
    background: #f8fafc !important;
    border-color: #f59e0b !important;
}

body.light-theme .v12-room-grid .room-card b {
    color: #0f172a !important;
}

body.light-theme .v12-room-grid .room-card small {
    color: #64748b !important;
}

/* Salon Sohbeti & Oyuncu Listesi Aydınlık */
body.light-theme .pro-salon-panel {
    background: #ffffff !important;
}

body.light-theme .pro-salon-head {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

body.light-theme .salon-topic-bar {
    color: #334155 !important;
}

body.light-theme .salon-radio-bar {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
}

body.light-theme .salon-radio-select {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

body.light-theme .pro-chat-box {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
}

body.light-theme .pro-chat-line .chat-text {
    color: #1e293b !important;
}

body.light-theme .pro-chat-line.system {
    color: #dc2626 !important;
}

body.light-theme .pro-chat-line .chat-time {
    color: #94a3b8 !important;
}

body.light-theme .pro-input-wrapper {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04) !important;
}

body.light-theme .pro-input-wrapper input {
    color: #0f172a !important;
}

body.light-theme .pro-input-wrapper input::placeholder {
    color: #94a3b8 !important;
}

body.light-theme .pro-chat-tools .tool-btn {
    background: #f8fafc !important;
    border-color: #cbd5e1 !important;
    color: #475569 !important;
}

body.light-theme .pro-chat-tools .tool-btn:hover {
    background: #e2e8f0 !important;
    border-color: #94a3b8 !important;
}

body.light-theme .pro-players-sidebar {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

body.light-theme .player-filter-tabs .p-tab {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #64748b !important;
}

body.light-theme .player-filter-tabs .p-tab.active {
    background: #e2e8f0 !important;
    color: #0f172a !important;
    border-color: #94a3b8 !important;
}

body.light-theme .v12-player-list .lobby-player {
    background: #ffffff !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.03) !important;
}

body.light-theme .lobby-player b {
    color: #0f172a !important;
}

body.light-theme .chat-table-invite-card {
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.1), rgba(255, 255, 255, 0.98)) !important;
    border-color: #10b981 !important;
    box-shadow: 0 4px 16px rgba(16, 185, 129, 0.12) !important;
}

body.light-theme .cic-title {
    color: #0f172a !important;
}

body.light-theme .cic-meta-box {
    background: rgba(241, 245, 249, 0.95) !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

/* Bekleme Odası & Modallar Aydınlık */
body.light-theme .modal {
    background: rgba(15, 23, 42, 0.5) !important;
}

body.light-theme .modal-card {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.18) !important;
    color: #0f172a !important;
}

body.light-theme .modal-head h3 {
    color: #0f172a !important;
}

body.light-theme .modal-head small {
    color: #64748b !important;
}

body.light-theme .modal-head button {
    background: #f1f5f9 !important;
    color: #475569 !important;
    border: 1px solid #cbd5e1 !important;
}

body.light-theme .waiting-card {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    box-shadow: 0 25px 70px rgba(0, 0, 0, 0.15) !important;
}

body.light-theme .waiting-head h2 {
    color: #0f172a !important;
}

body.light-theme .waiting-head p {
    color: #64748b !important;
}

body.light-theme .waiting-slots .wait-slot {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
    color: #1e293b !important;
}

body.light-theme .waiting-slots .wait-slot b {
    color: #0f172a !important;
}

body.light-theme .waiting-leave {
    background: #f1f5f9 !important;
    border-color: #cbd5e1 !important;
    color: #475569 !important;
}

body.light-theme .lim-player-row {
    background: #f8fafc !important;
    border-color: #e2e8f0 !important;
}

body.light-theme .lim-player-row b {
    color: #0f172a !important;
}

body.light-theme #limSearchInput {
    background: #ffffff !important;
    border-color: #cbd5e1 !important;
    color: #0f172a !important;
}


