/* turnier.ejs */
.juicer-v2-main { overflow-x: hidden; font-family: 'Rajdhani', sans-serif; }
        .admin-nav { position: absolute; top: 20px; right: 20px; z-index: 1050; display: flex; gap: 10px; }

                .vertical-bracket { max-width: 1450px; margin: 0 auto; padding: 20px; }
        .round-section { margin-bottom: 80px; position: relative; }

                .round-header-line { display: flex; align-items: center; margin-bottom: 40px; }
        .round-header-line h3 { color: var(--accent); font-weight: 800; font-size: 2.2rem; letter-spacing: 6px; text-transform: uppercase; margin: 0 25px; white-space: nowrap; text-shadow: 0 8px 20px rgba(0,0,0,0.8); }
        .round-header-line::before, .round-header-line::after { content: ""; height: 3px; flex-grow: 1; background: linear-gradient(90deg, transparent, var(--accent), transparent); opacity: 0.6; box-shadow: 0 0 10px rgba(251, 191, 36, 0.3); }

                .match-grid { display: grid; gap: 25px; align-items: start; }

                @media (min-width: 992px) {
            .grid-r16 { grid-template-columns: repeat(4, 1fr); gap: 20px 30px; }
            .grid-qf { grid-template-columns: repeat(2, 1fr); max-width: 1000px; margin: 0 auto; gap: 30px 60px; }
            .grid-sf { grid-template-columns: repeat(2, 1fr); max-width: 1100px; margin: 0 auto; gap: 80px; }
            .grid-spacer { display: none; }
        }

                @media (max-width: 991px) {
            .grid-r16, .grid-qf, .grid-sf { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
            .grid-spacer { display: none; }
        }

        .match-card {
            background: rgba(10, 10, 15, 0.55);
            backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.08);
            border-radius: 16px; padding: 15px; transition: 0.3s; position: relative;
            box-shadow: 0 15px 35px rgba(0,0,0,0.6), inset 0 0 15px rgba(255,255,255,0.02); width: 100%;
        }
        .match-card:hover { border-color: rgba(251, 191, 36, 0.5); box-shadow: 0 20px 40px rgba(0,0,0,0.8), 0 0 20px rgba(251, 191, 36, 0.2); transform: translateY(-4px); }

                .match-card.finale-card { max-width: 800px; margin: 0 auto; border: 3px solid #fbbf24; padding: 35px; box-shadow: 0 30px 60px rgba(0,0,0,0.9), 0 0 40px rgba(251, 191, 36, 0.3); background: linear-gradient(135deg, rgba(30, 20, 0, 0.8) 0%, rgba(10, 5, 0, 0.95) 100%); }
        .match-card.finale-card::after { content: ""; position: absolute; top: 0; left: -150%; width: 60%; height: 100%; background: linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.1) 50%, transparent 100%); transform: skewX(-25deg); animation: sheen 4s infinite; pointer-events: none; }
        @keyframes sheen { 0% { left: -150%; } 30% { left: 150%; } 100% { left: 150%; } }

        .player-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 15px; border-radius: 12px; margin: 6px 0; background: rgba(255,255,255,0.04); border-left: 5px solid transparent; transition: 0.3s; box-shadow: inset 0 2px 5px rgba(0,0,0,0.3); }
        .player-row.winner { background: rgba(46, 204, 113, 0.2); border-left-color: #2ecc71; box-shadow: inset 0 0 15px rgba(46, 204, 113, 0.15); }
        .player-row.loser { opacity: 0.4; filter: grayscale(1); border-left-color: #e74c3c; background: rgba(0,0,0,0.6); }
        .player-row.pending { border-left-color: rgba(255,255,255,0.2); }

        .player-meta { display: flex; flex-direction: column; overflow: hidden; flex-grow: 1; padding-right: 15px; }
        .p-name { font-weight: 800; font-size: 1.25rem; color: white; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-shadow: 0 2px 5px rgba(0,0,0,0.8); }
        .p-slot-wrapper { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 0.85rem; margin-top: 5px; }
        .p-slot { color: rgba(255,255,255,0.8); font-weight: 700; text-transform: uppercase; white-space: normal; word-break: break-word; line-height: 1.2; text-shadow: 0 1px 3px rgba(0,0,0,0.8); }
        .p-buyin { color: #000; font-weight: 800; font-family: 'JetBrains Mono', monospace; flex-shrink: 0; background: var(--accent); padding: 2px 8px; border-radius: 6px; box-shadow: 0 3px 8px rgba(0,0,0,0.6); white-space: nowrap; }

                .p-score { text-align: right; flex-shrink: 0; }
        .p-multi { font-family: 'JetBrains Mono', monospace; font-weight: 800; font-size: 1.3rem; display: block; text-shadow: 0 3px 6px rgba(0,0,0,0.8); }
        .p-win { font-size: 0.9rem; font-weight: 600; opacity: 0.8; font-family: 'JetBrains Mono', monospace; text-shadow: 0 1px 3px rgba(0,0,0,0.8); color: #fff;}

        .winner .p-multi { color: #4ade80; text-shadow: 0 0 15px rgba(46,204,113,0.6), 0 2px 5px rgba(0,0,0,1); }
        .winner .p-win { color: #4ade80; }

        .match-id-badge { position: absolute; top: -14px; left: 50%; transform: translateX(-50%); background: var(--accent); color: black; font-size: 0.75rem; font-weight: 900; padding: 4px 15px; border-radius: 12px; z-index: 5; box-shadow: 0 5px 15px rgba(0,0,0,0.6); }

        .live-dot { height: 12px; width: 12px; background-color: #ef4444; border-radius: 50%; display: inline-block; margin-right: 10px; box-shadow: 0 0 12px #ef4444; animation: pulse-live 1.5s infinite; }
        @keyframes pulse-live { 0% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.7); } 70% { transform: scale(1.2); box-shadow: 0 0 0 15px rgba(239, 68, 68, 0); } 100% { transform: scale(0.9); box-shadow: 0 0 0 0 rgba(239, 68, 68, 0); } }

        .particles-container { position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; overflow: hidden; pointer-events: none; }
        .particle { position: absolute; background: var(--accent); border-radius: 50%; opacity: 0.25; filter: blur(3px); animation: floatUp linear infinite; }
        @keyframes floatUp { 0% { transform: translateY(110vh) translateX(0) rotate(0deg); opacity: 0; } 10% { opacity: 0.25; } 90% { opacity: 0.25; } 100% { transform: translateY(-20vh) translateX(100px) rotate(360deg); opacity: 0; } }
        @media (max-width: 768px) {
            .vertical-bracket { padding: 8px; }
            .round-section { margin-bottom: 40px; }
            .round-header-line h3 { font-size: 1.2rem; letter-spacing: 2px; margin: 0 8px; }
            .match-card { padding: 11px; }
            .match-id-badge { font-size: 0.65rem; padding: 4px 10px; }
            .player-row { padding: 9px 10px; }
            .p-name { font-size: 1rem; }
            .p-slot { font-size: 0.76rem; }
            .p-buyin { font-size: 0.7rem; }
            .p-multi { font-size: 1rem; }
            .p-win { font-size: 0.72rem; }
            .match-card.finale-card { padding: 14px; max-width: 100%; }
        }
