.tournament-modal-scroll::-webkit-scrollbar{width:8px}.tournament-modal-scroll::-webkit-scrollbar-track{background:rgba(20,25,40,.5);border-radius:10px}.tournament-modal-scroll::-webkit-scrollbar-thumb{background:rgba(102,126,234,.5);border-radius:10px}.tournament-modal-scroll::-webkit-scrollbar-thumb:hover{background:rgba(102,126,234,.7)}.tournament-card{animation:fadeIn .5s ease-out forwards}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.tournament-div{margin-bottom:8px;padding:24px 24px 0}.tournament-div button{margin-right:10px;border:1px solid var(--button-text);padding:5px 15px;border-radius:25px;transition:.5s}.tournament-div .active-btn{background-color:var(--button-text);color:var(--modal-bg)}.tournament-grid-hidden{opacity:0;max-height:0;visibility:hidden}.tournament-grid-visible{opacity:1;max-height:1000px;visibility:visible}.tournament-grid h2{text-align:center;font-size:24px;font-weight:700;margin-bottom:20px}.grid-container{flex-direction:column;flex-wrap:nowrap;overflow-y:auto;max-height:400px;gap:20px;padding:10px;scroll-snap-type:y mandatory;border:1px solid --button-text}.grid-container,.grid-item{display:flex;border-radius:8px}.grid-item{flex-shrink:0;min-width:300px;background-color:--modal-bg;padding:15px;box-shadow:0 2px 8px rgba(0,0,0,.1);transition:transform .3s ease,box-shadow .3s ease;flex-direction:row;justify-content:space-between;align-items:center;scroll-snap-align:start;border:1px solid var(--modal-text)}.grid-item:hover{transform:translateY(-5px);box-shadow:0 4px 12px rgba(0,0,0,.2)}.grid-item.upcoming .status{color:#ff9800}.grid-item .start-date{font-weight:700;color:#1976d2}.grid-item .status{font-weight:700;color:#4caf50}.grid-item.completed .status{color:#9e9e9e}.tournament-table{margin:20px}.tournament-table h2{font-size:1.5rem;font-weight:700}.tournament-table .table{margin-top:20px}.tournament-table .table td,.tournament-table .table th{padding:12px;text-align:center;border-radius:15%;border:1px solid var(--button-text)}.tournament-table .table th{background-color:var(--button-color);font-weight:700}.tournament-table .table td{font-size:1em}.tournament-table .status{font-weight:700;color:green}.tournament-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px;padding:24px;margin-top:16px}.tournament-card,.tournament-card-main{border-radius:20px;padding:0;cursor:pointer;transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative}.tournament-card:has(.status-label.upcoming){background:linear-gradient(145deg,rgba(15,23,42,.95),rgba(30,41,59,.95));border:2px solid rgba(59,130,246,.3);box-shadow:0 8px 24px rgba(59,130,246,.15),0 4px 12px rgba(0,0,0,.3),inset 0 1px 0 rgba(59,130,246,.1)}.tournament-card:has(.status-label.upcoming):before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,transparent 30%,rgba(59,130,246,.4) 50%,transparent 70%);background-size:200% 200%;border-radius:20px;z-index:-1;animation:border-flow 3s linear infinite;opacity:0;transition:opacity .4s ease}.tournament-card:has(.status-label.upcoming):hover:before{opacity:1}@keyframes border-flow{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}.tournament-card:has(.status-label.ongoing){background:linear-gradient(145deg,rgba(6,78,59,.3),rgba(20,83,45,.4) 50%,rgba(22,101,52,.3));border:2px solid rgba(34,197,94,.5);box-shadow:0 8px 24px rgba(34,197,94,.25),0 4px 12px rgba(0,0,0,.3),0 0 40px rgba(34,197,94,.15);animation:card-pulse 2s ease-in-out infinite}@keyframes card-pulse{0%,to{box-shadow:0 8px 24px rgba(34,197,94,.25),0 4px 12px rgba(0,0,0,.3),0 0 40px rgba(34,197,94,.15)}50%{box-shadow:0 8px 24px rgba(34,197,94,.35),0 4px 12px rgba(0,0,0,.3),0 0 60px rgba(34,197,94,.25)}}.tournament-card:has(.status-label.ongoing):after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,rgba(34,197,94,.8),transparent);animation:scan-line 2s linear infinite}@keyframes scan-line{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.tournament-card:has(.status-label.completed){background:linear-gradient(145deg,rgba(30,41,59,.6),rgba(51,65,85,.6));border:2px solid rgba(100,116,139,.3);box-shadow:0 4px 12px rgba(0,0,0,.4),inset 0 1px 0 hsla(0,0%,100%,.05);opacity:.9}.tournament-card:has(.status-label.completed):before{content:"✓";position:absolute;top:10px;right:10px;font-size:3rem;color:rgba(100,116,139,.15);font-weight:700;z-index:0;pointer-events:none}.tournament-card:has(.status-label.upcoming):hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px rgba(59,130,246,.3),0 12px 24px rgba(0,0,0,.4),inset 0 1px 0 rgba(59,130,246,.2);border-color:rgba(59,130,246,.6)}.tournament-card:has(.status-label.ongoing):hover{transform:translateY(-8px) scale(1.02);box-shadow:0 16px 40px rgba(34,197,94,.4),0 12px 24px rgba(0,0,0,.4),0 0 80px rgba(34,197,94,.3)}.tournament-card:has(.status-label.completed):hover{transform:translateY(-4px);opacity:1;box-shadow:0 8px 20px rgba(0,0,0,.5),inset 0 1px 0 hsla(0,0%,100%,.1)}.tournament-banner{height:150px}.tournament-info{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1;min-height:0;position:relative;z-index:1}.tournament-image{width:100%;height:120px;-o-object-fit:cover;object-fit:cover;border-radius:12px 12px 0 0;margin-bottom:0;background:#222}.tournament-table{margin:16px 0;max-width:100%;overflow-x:auto;background:var(--table-bg);border-radius:8px;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.05);border:1px solid var(--border-color);scrollbar-width:none;-ms-overflow-style:none}.tournament-table::-webkit-scrollbar{display:none}.tournament-table .table{width:100%;border-collapse:collapse;font-size:.95rem;min-width:420px}.tournament-table .table thead{background:var(--table-header-bg);border-bottom:2px solid var(--border-color)}.tournament-table .table th{padding:1rem;text-align:left;font-weight:600;color:var(--text-primary);white-space:nowrap}.tournament-table .table th:first-child{text-align:center}.tournament-table .table tbody tr{border-bottom:1px solid var(--border-color);transition:all .2s ease}.tournament-table .table tbody tr:hover{background:var(--table-hover-bg);transform:scale(1.005)}.tournament-table .table tbody tr:last-child{border-bottom:none}.tournament-table .table td{padding:.875rem 1rem;color:var(--text-primary)}.tournament-table .table tbody tr td:first-child{text-align:center;font-weight:600;color:var(--text-secondary)}.tournament-table .table tbody tr:first-child{background:var(--gold-bg);border-left:3px solid var(--gold-border)}.tournament-table .table tbody tr:first-child:hover{background:var(--gold-hover-bg)}.tournament-table .table tbody tr:first-child td:first-child{color:var(--gold-text);font-size:1.1rem}.tournament-table .table tbody tr:nth-child(2){background:var(--silver-bg);border-left:3px solid var(--silver-border)}.tournament-table .table tbody tr:nth-child(2):hover{background:var(--silver-hover-bg)}.tournament-table .table tbody tr:nth-child(2) td:first-child{color:var(--silver-text);font-size:1.05rem}.tournament-table .table tbody tr:nth-child(3){background:var(--bronze-bg);border-left:3px solid var(--bronze-border)}.tournament-table .table tbody tr:nth-child(3):hover{background:var(--bronze-hover-bg)}.tournament-table .table tbody tr:nth-child(3) td:first-child{color:var(--bronze-text);font-size:1.05rem}@media (max-width:600px){.tournament-grid{grid-template-columns:1fr;padding:16px;gap:20px}.tournament-card,.tournament-card-main{height:auto;min-width:0}.tournament-table .table{min-width:320px;font-size:.92em}}.prize-info{margin:.5rem 0;padding:.5rem;background-color:rgba(0,0,0,.5);border-radius:4px}.prize-pool{font-weight:700;margin-bottom:.25rem;color:gold}.prize-distribution{font-size:.9rem}.prize-item{margin:.1rem 0;padding:.1rem 0;border-bottom:1px solid hsla(0,0%,100%,.1)}.prize-item:last-child{border-bottom:none}.line-clamp-2{-webkit-line-clamp:2;line-clamp:2;max-height:2.8em}.line-clamp-2,.line-clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.line-clamp-3{-webkit-line-clamp:3;line-clamp:3;max-height:4.2em}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:1000;justify-content:center}.modal-content,.modal-overlay{display:flex;align-items:center}.modal-content{background:#23263a;color:#fff;border-radius:12px;padding:32px 24px 24px;min-width:340px;min-height:340px;max-width:90vw;max-height:90vh;width:400px;height:400px;overflow-y:auto;position:relative;flex-direction:column;justify-content:flex-start}.modal-close{position:absolute;top:12px;right:16px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer}.join-button{color:#fff;font-weight:600;font-size:.95rem;border-radius:12px;padding:14px 24px;margin-top:8px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-align:center;position:relative;overflow:hidden}.tournament-card:has(.status-label.upcoming) .join-button{background:linear-gradient(135deg,rgba(59,130,246,.9),rgba(37,99,235,.9));border:1px solid rgba(59,130,246,.5);box-shadow:0 4px 12px rgba(59,130,246,.3),inset 0 1px 0 hsla(0,0%,100%,.1)}.tournament-card:has(.status-label.upcoming) .join-button:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-2px);box-shadow:0 6px 20px rgba(59,130,246,.5),inset 0 1px 0 hsla(0,0%,100%,.2)}.tournament-card:has(.status-label.ongoing) .join-button{background:linear-gradient(135deg,rgba(34,197,94,.9),rgba(22,163,74,.9));border:1px solid rgba(34,197,94,.5);box-shadow:0 4px 12px rgba(34,197,94,.3),inset 0 1px 0 hsla(0,0%,100%,.1)}.tournament-card:has(.status-label.ongoing) .join-button:hover{background:linear-gradient(135deg,#22c55e,#16a34a);transform:translateY(-2px);box-shadow:0 6px 20px rgba(34,197,94,.5),inset 0 1px 0 hsla(0,0%,100%,.2)}.tournament-card:has(.status-label.completed) .join-button{background:linear-gradient(135deg,rgba(100,116,139,.7),rgba(71,85,105,.7));border:1px solid rgba(100,116,139,.4);box-shadow:0 2px 8px rgba(0,0,0,.3)}.tournament-card:has(.status-label.completed) .join-button:hover{background:linear-gradient(135deg,rgba(100,116,139,.9),rgba(71,85,105,.9));transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.4)}.status-label{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:6px 16px;border-radius:50px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px rgba(0,0,0,.2);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap}.status-label.upcoming{background:linear-gradient(135deg,rgba(59,130,246,.25),rgba(37,99,235,.25));color:#93c5fd;border:1px solid rgba(59,130,246,.4)}.status-label.ongoing{background:linear-gradient(135deg,rgba(34,197,94,.25),rgba(22,163,74,.25));color:#86efac;border:1px solid rgba(34,197,94,.4);animation:pulse-glow 2s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 2px 8px rgba(34,197,94,.3)}50%{box-shadow:0 2px 16px rgba(34,197,94,.5)}}.status-label.completed{background:linear-gradient(135deg,rgba(100,116,139,.25),rgba(71,85,105,.25));color:#cbd5e1;border:1px solid rgba(100,116,139,.4)}.tournament-header{display:flex;flex-direction:column;gap:12px;min-height:80px}.tournament-title{font-size:1.15rem;font-weight:700;margin:0;background:linear-gradient(135deg,#fff,#e0e7ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-shadow:0 2px 4px rgba(0,0,0,.3);flex:1;display:flex;align-items:center}.tournament-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.detail-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.tournament-card:has(.status-label.upcoming) .detail-item{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.15)}.tournament-card:has(.status-label.upcoming) .detail-item:hover{background:rgba(59,130,246,.15);border-color:rgba(59,130,246,.3);transform:translateX(3px)}.tournament-card:has(.status-label.upcoming) .detail-icon{color:rgba(59,130,246,.9)}.tournament-card:has(.status-label.ongoing) .detail-item{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.2)}.tournament-card:has(.status-label.ongoing) .detail-item:hover{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.4);transform:translateX(3px);box-shadow:0 0 10px rgba(34,197,94,.2)}.tournament-card:has(.status-label.ongoing) .detail-icon{color:rgba(34,197,94,.9)}.tournament-card:has(.status-label.completed) .detail-item{background:rgba(100,116,139,.08);border:1px solid rgba(100,116,139,.15)}.tournament-card:has(.status-label.completed) .detail-item:hover{background:rgba(100,116,139,.12);border-color:rgba(100,116,139,.25)}.tournament-card:has(.status-label.completed) .detail-icon{color:rgba(148,163,184,.8)}.detail-item.full-width{grid-column:1/-1}.detail-icon{flex-shrink:0}.detail-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.detail-label{font-size:.7rem;color:hsla(0,0%,100%,.6);text-transform:uppercase;letter-spacing:.5px;font-weight:500}.detail-value{font-size:.9rem;color:#fff;font-weight:600}.detail-value-small{font-size:.85rem;color:hsla(0,0%,100%,.9);font-weight:500}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:#fff;grid-column:1/-1}.loading-spinner{width:48px;height:48px;border:4px solid rgba(59,130,246,.2);border-top-color:#3b82f6;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.error-container{display:flex;align-items:center;justify-content:center;padding:40px 20px;grid-column:1/-1}.error-message{color:#ef4444;font-size:1.1rem;font-weight:600;background:rgba(239,68,68,.1);border:1px solid rgba(239,68,68,.3);padding:16px 24px;border-radius:12px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:60px 20px;text-align:center;grid-column:1/-1}.empty-icon{font-size:4rem;opacity:.5;filter:grayscale(1)}.empty-message{font-size:1.25rem;font-weight:700;color:hsla(0,0%,100%,.8);margin:0}.empty-hint{font-size:.95rem;color:hsla(0,0%,100%,.5);margin:0}.tournament-banner-wrapper{position:relative;width:100%;height:140px;overflow:hidden}.tournament-banner{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .4s ease}.tournament-card:hover .tournament-banner{transform:scale(1.05)}.tournament-banner-overlay{position:absolute;inset:0;pointer-events:none}.tournament-card:has(.status-label.upcoming) .tournament-banner-overlay{background:linear-gradient(180deg,rgba(59,130,246,.2),rgba(15,23,42,.6) 50%,rgba(15,23,42,.95))}.tournament-card:has(.status-label.ongoing) .tournament-banner-overlay{background:linear-gradient(180deg,rgba(34,197,94,.2),rgba(6,78,59,.6) 50%,rgba(6,78,59,.95))}.tournament-card:has(.status-label.completed) .tournament-banner-overlay{background:linear-gradient(180deg,rgba(100,116,139,.3),rgba(30,41,59,.7) 50%,rgba(30,41,59,.95))}@media (max-width:768px){.tournament-grid{grid-template-columns:1fr;gap:24px;padding:20px}.tournament-card,.tournament-card-main{height:auto}.tournament-info{padding:20px}.detail-row{grid-template-columns:1fr}.detail-item{grid-column:1/-1!important}.tournament-title{font-size:1.25rem}.detail-value{font-size:1rem}.join-button{padding:14px 24px;font-size:.95rem;margin-top:16px}}