:root{--bg-primary: #0a0a0f;--bg-secondary: #12121a;--bg-tertiary: #1a1a25;--bg-card: #15151f;--bg-card-hover: #1e1e2a;--accent-red: #ff2d55;--accent-red-glow: rgba(255, 45, 85, .4);--accent-green: #00ff88;--accent-green-dim: #00cc6a;--accent-green-glow: rgba(0, 255, 136, .3);--accent-gold: #ffd700;--accent-purple: #9d4edd;--text-primary: #ffffff;--text-secondary: #a0a0b0;--text-muted: #606070;--border-color: #2a2a3a;--border-glow: rgba(0, 255, 136, .2);--font-display: "Orbitron", sans-serif;--font-body: "Rajdhani", sans-serif;--card-gap: 8px;--round-gap: 40px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);min-height:100vh;overflow-x:auto}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 20%,var(--accent-red-glow) 0%,transparent 40%),radial-gradient(circle at 80% 80%,var(--accent-green-glow) 0%,transparent 40%),linear-gradient(180deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);pointer-events:none;z-index:-1}.app{min-height:100vh;padding:20px}.bracket-header{text-align:center;margin-bottom:40px;padding:20px}.logo-container{margin-bottom:20px;display:flex;justify-content:center}.goh-logo{width:180px;height:auto;filter:drop-shadow(0 0 10px rgba(255,255,255,.3)) drop-shadow(0 0 30px rgba(255,255,255,.1));animation:logoGlow 3s ease-in-out infinite alternate;transition:transform .3s ease,filter .3s ease}.goh-logo:hover{transform:scale(1.05);filter:drop-shadow(0 0 15px rgba(255,255,255,.5)) drop-shadow(0 0 40px rgba(0,255,136,.3))}@keyframes logoGlow{0%{filter:drop-shadow(0 0 10px rgba(255,255,255,.3)) drop-shadow(0 0 30px rgba(255,255,255,.1))}to{filter:drop-shadow(0 0 15px rgba(255,255,255,.4)) drop-shadow(0 0 40px rgba(0,255,136,.2))}}.tournament-title{font-family:var(--font-display);font-size:clamp(2rem,6vw,4rem);font-weight:900;letter-spacing:.1em;margin-bottom:10px;display:flex;justify-content:center;align-items:center;gap:.1em}.title-red{color:var(--accent-red);text-shadow:0 0 20px var(--accent-red-glow),0 0 40px var(--accent-red-glow)}.title-rum{color:var(--text-primary)}.title-clash{color:var(--accent-green);font-size:.5em;text-shadow:0 0 20px var(--accent-green-glow),0 0 40px var(--accent-green-glow);margin-left:.5em;letter-spacing:.3em}.tournament-subtitle{font-family:var(--font-body);font-size:1.2rem;color:var(--text-secondary);letter-spacing:.3em;text-transform:uppercase}.bracket-container{position:relative;width:100%}.bracket-wrapper{display:flex;align-items:flex-start;gap:var(--round-gap);padding:20px;overflow-x:auto;min-width:fit-content}.round-title{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--accent-green);text-transform:uppercase;letter-spacing:.15em;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--border-color);text-align:center}.warmup-column{min-width:280px;max-width:300px}.warmup-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:2px solid var(--border-color)}.warmup-header .round-title{margin-bottom:0;padding-bottom:0;border-bottom:none}.judging-link{display:flex;align-items:center;gap:6px;color:var(--text-secondary);text-decoration:none;font-size:.8rem;padding:6px 10px;border-radius:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:all .2s ease}.judging-link:hover{color:var(--accent-green);border-color:var(--accent-green);background:#00ff881a}.warmup-list{display:flex;flex-direction:column;gap:var(--card-gap)}.warmup-item{animation:slideIn .3s ease-out forwards;opacity:0;transform:translate(-20px);position:relative}.rank-badge{position:absolute;top:-8px;right:8px;padding:2px 8px;font-family:var(--font-display);font-size:.65rem;font-weight:700;letter-spacing:.1em;border-radius:4px;z-index:10;text-transform:uppercase}.rank-badge.rank-1{background:linear-gradient(135deg,gold,#fa0);color:#1a1a00;box-shadow:0 0 15px #ffd70080;animation:goldPulse 2s ease-in-out infinite}.rank-badge.rank-2{background:linear-gradient(135deg,silver,#a0a0a0);color:#1a1a1a;box-shadow:0 0 10px #c0c0c066}.rank-badge.rank-3{background:linear-gradient(135deg,#cd7f32,sienna);color:#1a1a1a;box-shadow:0 0 10px #cd7f3266}.rank-badge.rank-4{background:linear-gradient(135deg,var(--accent-green) 0%,var(--accent-green-dim) 100%);color:#001a0d;box-shadow:0 0 10px var(--accent-green-glow)}@keyframes goldPulse{0%,to{box-shadow:0 0 15px #ffd70080}50%{box-shadow:0 0 25px #ffd700cc}}.warmup-item.rank-1 .participant-card{border-color:gold;box-shadow:0 0 20px #ffd70033}.warmup-item.rank-2 .participant-card{border-color:silver;box-shadow:0 0 15px #c0c0c026}.warmup-item.rank-3 .participant-card{border-color:#cd7f32;box-shadow:0 0 15px #cd7f3226}.warmup-item.rank-4 .participant-card{border-color:var(--accent-green);box-shadow:0 0 15px var(--accent-green-glow)}@keyframes slideIn{to{opacity:1;transform:translate(0)}}.warmup-item:nth-child(1){animation-delay:.05s}.warmup-item:nth-child(2){animation-delay:.1s}.warmup-item:nth-child(3){animation-delay:.15s}.warmup-item:nth-child(4){animation-delay:.2s}.warmup-item:nth-child(5){animation-delay:.25s}.warmup-item:nth-child(6){animation-delay:.3s}.warmup-item:nth-child(7){animation-delay:.35s}.warmup-item:nth-child(8){animation-delay:.4s}.warmup-item:nth-child(9){animation-delay:.45s}.warmup-item:nth-child(10){animation-delay:.5s}.warmup-item:nth-child(11){animation-delay:.55s}.warmup-item:nth-child(12){animation-delay:.6s}.warmup-item:nth-child(13){animation-delay:.65s}.warmup-item:nth-child(14){animation-delay:.7s}.warmup-item:nth-child(15){animation-delay:.75s}.warmup-item:nth-child(16){animation-delay:.8s}.participant-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:12px;transition:all .2s ease}.participant-card:hover{background:var(--bg-card-hover);border-color:var(--accent-green);box-shadow:0 0 20px var(--accent-green-glow);transform:translateY(-2px)}.participant-card.compact{padding:8px 12px}.participant-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.participant-name{font-family:var(--font-display);font-size:.85rem;font-weight:600;color:var(--text-primary);text-decoration:none;transition:color .2s ease}.participant-name:hover{color:var(--accent-green)}.participant-links{display:flex;align-items:center;gap:8px}.telegram-link,.channel-link{color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;padding:4px;border-radius:4px}.telegram-link:hover{color:var(--accent-green);background:#00ff881a}.channel-link:hover{color:#08c;background:#0088cc1a}.audio-player{display:flex;align-items:center;gap:10px;padding-top:8px;border-top:1px solid var(--border-color)}.play-button{width:32px;height:32px;border-radius:50%;border:none;background:var(--accent-green);color:var(--bg-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.play-button:hover{transform:scale(1.1);box-shadow:0 0 15px var(--accent-green-glow)}.play-button:active{transform:scale(.95)}.play-button:disabled{opacity:.5;cursor:not-allowed}.play-button.buffering{cursor:wait}.spinner{width:16px;height:16px;border:2px solid var(--bg-primary);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-container{flex:1;cursor:pointer;padding:4px 0}.progress-bar{height:4px;background:var(--border-color);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-green) 0%,var(--accent-green-dim) 100%);border-radius:2px;transition:width .1s linear}.time-display{font-size:.7rem;color:var(--text-muted);font-family:var(--font-body);min-width:60px;text-align:right;transition:opacity .3s ease}.time-display.loading{opacity:.5}.time-loading{animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.4}50%{opacity:.8}}.loop-button{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0;margin-left:4px}.loop-button:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.loop-button.active{color:var(--accent-green);background:#00ff8826}.loop-button.active:hover{background:#00ff8840}.volume-control{position:relative;display:flex;align-items:center}.volume-button{width:28px;height:28px;border-radius:50%;border:none;background:transparent;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.volume-button:hover{color:var(--text-secondary);background:var(--bg-tertiary)}.volume-button.muted{color:var(--accent-red)}.volume-slider-container{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:12px 8px;opacity:0;visibility:hidden;transition:all .2s ease;box-shadow:0 4px 12px #0000004d;margin-bottom:8px}.volume-slider-container.visible{opacity:1;visibility:visible}.volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:80px;height:4px;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;background:var(--accent-green);border-radius:50%;cursor:pointer;transition:transform .1s ease}.volume-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.volume-slider::-moz-range-thumb{width:14px;height:14px;background:var(--accent-green);border-radius:50%;cursor:pointer;border:none}.participant-card.no-audio{opacity:.7}.no-audio-message{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:.75rem;padding:4px 0}.no-audio-message svg{flex-shrink:0}.bracket-round{min-width:200px}.matches-container{display:flex;flex-direction:column;justify-content:space-around;height:100%}.bracket-round.round-1 .matches-container{gap:16px}.bracket-round.round-2 .matches-container{gap:90px;padding-top:45px}.bracket-round.round-3 .matches-container{gap:250px;padding-top:120px}.bracket-match{background:var(--bg-card);border:1px solid var(--border-color);border-radius:6px;overflow:hidden;transition:all .2s ease;position:relative}.bracket-match:hover{border-color:var(--accent-green);box-shadow:0 0 15px var(--accent-green-glow)}.bracket-match:after{content:"";position:absolute;right:-20px;top:50%;width:20px;height:2px;background:var(--border-color)}.bracket-match:before{content:"";position:absolute;right:-20px;width:2px;background:var(--border-color)}.bracket-round.round-1 .bracket-match:nth-child(odd):before{top:50%;height:50px}.bracket-round.round-1 .bracket-match:nth-child(2n):before{bottom:50%;height:50px}.bracket-round.round-2 .bracket-match:nth-child(odd):before{top:50%;height:85px}.bracket-round.round-2 .bracket-match:nth-child(2n):before{bottom:50%;height:85px}.bracket-round.round-3 .bracket-match:nth-child(odd):before{top:50%;height:170px}.bracket-round.round-3 .bracket-match:nth-child(2n):before{bottom:50%;height:170px}.match-slot{padding:10px 14px;transition:background .2s ease}.match-slot:hover{background:var(--bg-tertiary)}.match-slot.winner{background:linear-gradient(90deg,rgba(0,255,136,.1) 0%,transparent 100%)}.match-slot.winner .player-name{color:var(--accent-green)}.match-divider{height:1px;background:var(--border-color)}.player-name{font-family:var(--font-display);font-size:.8rem;font-weight:500;color:var(--text-primary);text-decoration:none;display:block;transition:color .2s ease}.player-name:hover{color:var(--accent-green)}.player-row{display:flex;align-items:center;justify-content:space-between;gap:6px}.warmup-badge{font-family:var(--font-display);font-size:.55rem;font-weight:700;padding:2px 4px;border-radius:3px;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.warmup-badge.badge-ltr{background:linear-gradient(135deg,gold,#fa0);color:#1a1a00;box-shadow:0 0 8px #ffd70066}.warmup-badge.badge-top2{background:linear-gradient(135deg,silver,#a0a0a0);color:#1a1a1a}.warmup-badge.badge-top3{background:linear-gradient(135deg,#cd7f32,sienna);color:#1a1a1a}.warmup-badge.badge-top4{background:linear-gradient(135deg,var(--accent-green) 0%,var(--accent-green-dim) 100%);color:#001a0d}.player-tbd{font-family:var(--font-display);font-size:.8rem;font-weight:500;color:var(--text-muted);font-style:italic}.winner-column{min-width:160px;display:flex;flex-direction:column;align-items:center}.winner-column .round-title{color:var(--accent-gold);border-color:var(--accent-gold)}.winner-slot{background:linear-gradient(135deg,var(--bg-card) 0%,var(--bg-tertiary) 100%);border:2px solid var(--accent-gold);border-radius:12px;padding:30px 40px;text-align:center;position:relative;margin-top:180px;box-shadow:0 0 30px #ffd70033,inset 0 0 30px #ffd7000d}.winner-slot:before{content:"";position:absolute;left:-22px;top:50%;width:22px;height:2px;background:var(--border-color)}.winner-tbd{display:flex;flex-direction:column;align-items:center;gap:8px}.winner-tbd .crown{font-size:2rem;animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.winner-tbd span:last-child{font-family:var(--font-display);font-size:1rem;color:var(--text-muted);letter-spacing:.2em}.winner-name{font-family:var(--font-display);font-size:1.2rem;font-weight:700;color:var(--accent-gold);text-shadow:0 0 20px rgba(255,215,0,.5)}.connector-lines{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}@media (max-width: 1400px){.bracket-wrapper{gap:30px}.warmup-column{min-width:250px}.bracket-round{min-width:180px}}@media (max-width: 768px){.app{padding:10px}.bracket-header{margin-bottom:20px}.tournament-title{flex-direction:column;gap:0}.title-battle{margin-left:0;margin-top:5px}.bracket-wrapper{gap:20px;padding:10px}.warmup-column{min-width:220px}.participant-card{padding:10px}.audio-player{flex-wrap:wrap}.time-display{width:100%;text-align:center;margin-top:5px}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-green-dim)}.glow-green{box-shadow:0 0 20px var(--accent-green-glow)}.glow-red{box-shadow:0 0 20px var(--accent-red-glow)}
