.tournaments-body{min-height:100vh;overflow-x:hidden;background:#030a13;color:#eef5fb}
.tournaments-page{min-height:100vh;padding-top:32px;background:transparent}
.tournaments-shell{width:min(1224px,calc(100% - 64px));margin:0 auto 80px}
.tournament-page-header{min-height:108px;display:flex;align-items:center;gap:22px;padding:4px 0 24px;border-bottom:1px solid #263543}
.tournament-page-logo{width:78px;height:78px;flex:0 0 auto;display:block;border:1px solid #20364a;border-radius:15px;object-fit:cover;box-shadow:0 13px 28px rgba(0,4,9,.34)}
.tournament-page-header h1{margin:0;color:#f3f6f9;font-size:clamp(27px,3vw,32px);line-height:1.06;letter-spacing:-.04em}
.tournament-page-header p{margin:7px 0 0;color:#8f9aa6;font-size:13px;font-weight:600;line-height:1.5}
.tournament-archive-heading>div>span{display:block;color:#61c3ff;font-size:10px;font-weight:900;letter-spacing:.21em}
.tournament-status{min-height:44px;display:flex;align-items:center;margin:16px 0;padding:11px 14px;border:1px solid #254158;border-radius:8px;background:#081724;color:#8198ac;font-size:12px;font-weight:700}
.tournament-status:empty{display:none}.tournament-status.is-error{border-color:#663842;background:#25151b;color:#ff9399}

.public-tournament-stage{margin-top:20px;overflow:hidden;border:1px solid #2a3742;border-radius:11px;background:#07131f;box-shadow:0 18px 44px rgba(0,3,8,.34)}
.public-stage-heading{min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 26px;border-bottom:1px solid #263543;background:linear-gradient(100deg,#091722,#0a1824 70%,#0c1c2a)}
.tournament-stage-kicker{display:block;color:#5cc6ff;font-size:9px;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.public-stage-heading h2{margin:6px 0 5px;font-size:29px;letter-spacing:-.04em}.public-stage-heading p{margin:0;color:#758da3;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.tournament-champion{min-width:270px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:13px 16px;border:1px solid #967326;border-radius:11px;background:linear-gradient(135deg,rgba(79,58,10,.45),rgba(19,22,24,.92));box-shadow:0 0 26px rgba(232,180,46,.08)}
.tournament-champion img,.tournament-avatar{width:42px;height:42px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #31536c;border-radius:9px;background:linear-gradient(145deg,#183652,#0b1c2d);object-fit:cover;color:#6fc7fb;font-size:13px;font-weight:900}
.tournament-champion[hidden]{display:none!important}
.tournament-champion span{display:block;color:#aa8b3d;font-size:8px;font-weight:900;letter-spacing:.17em}.tournament-champion strong{display:block;margin-top:4px;font-size:15px}
.bracket-key{display:flex;align-items:center;gap:22px;padding:13px 26px;border-bottom:1px solid #243442;background:#07131d;color:#71879a;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.bracket-key span{display:flex;align-items:center;gap:7px}.bracket-key i{width:8px;height:8px;border-radius:50%;background:#369fe3;box-shadow:0 0 9px rgba(54,159,227,.6)}.bracket-key .key-winner{background:#e8b936;box-shadow:0 0 9px rgba(232,185,54,.5)}.bracket-key em{margin-left:auto;color:#587287;font-style:normal}
.public-bracket-scroll{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scrollbar-color:#31556f #07121d}.public-bracket{--round-count:3;position:relative;min-width:calc(var(--round-count) * 300px + (var(--round-count) - 1) * 76px + 68px);height:max(620px,calc(var(--first-round-matches) * 154px));display:grid;grid-template-columns:repeat(var(--round-count),280px);gap:76px;padding:28px 34px 36px}
.public-bracket-lines{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:visible}.public-bracket-lines path{fill:none;stroke:#2d7fa9;stroke-width:1.2;opacity:.62}.public-bracket-lines path.is-complete{stroke:#46c9e8;opacity:.88;filter:drop-shadow(0 0 3px rgba(70,201,232,.34))}
.public-round{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column}.public-round-heading{height:38px;display:flex;align-items:center;gap:11px;color:#67caff;font-size:9px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.public-round-heading:after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#28465d,transparent)}.public-round-heading small{color:#526a7c;font-size:8px}.public-round-matches{min-height:0;flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:14px}
.public-match{position:relative;min-height:124px;overflow:hidden;border:1px solid #2a3742;border-radius:7px;background:#08151f;box-shadow:0 10px 24px rgba(0,3,8,.3),inset 0 1px rgba(255,255,255,.02)}.public-match.is-ready{border-color:#35526a}.public-match.is-completed{border-color:#303d47}.public-match-number{height:24px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;border-bottom:1px solid #263543;background:#111e2a;color:#667b8c;font-size:7px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.public-match-number b{color:#6fbfef;font-size:7px}.public-match.is-completed .public-match-number b{color:#cea532}
.public-competitor{min-height:49px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:5px 10px;color:#75899b}.public-competitor+.public-competitor{border-top:1px solid #182c3c}.public-competitor.is-winner{background:linear-gradient(90deg,rgba(167,124,14,.22),transparent);color:#ffd04d}.public-competitor .tournament-avatar,.tournament-slot-art{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #31536c;border-radius:7px;background:linear-gradient(145deg,#183652,#0b1c2d);object-fit:cover;color:#6fc7fb;font-size:9px;font-weight:900}.public-competitor.is-winner :is(.tournament-avatar,.tournament-slot-art){border-color:#c89920}.public-competitor-copy{min-width:0;display:block}.public-competitor-copy b,.public-competitor-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.public-competitor-copy b{color:#dbe7ef;font-size:10px;font-weight:900}.public-competitor-copy small{margin-top:3px;color:#60788b;font-size:7px;font-weight:800;text-transform:uppercase}.public-competitor.is-winner .public-competitor-copy b{color:#ffd04d}.public-competitor-result{color:#8195a7;font-size:11px;font-weight:900}.public-competitor.is-winner .public-competitor-result{color:#ffd04d}.public-competitor.is-empty{grid-template-columns:1fr;color:#43586a;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}

.tournament-archive{margin-top:76px}.tournament-archive-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:25px;margin-bottom:23px}.tournament-archive-heading h2{margin:6px 0 0;font-size:31px;letter-spacing:-.045em}.tournament-toolbar{display:flex;align-items:center;gap:11px}.tournament-filter{display:flex;padding:3px;border:1px solid #29455c;border-radius:9px;background:#071521}.tournament-filter button{min-height:38px;padding:0 15px;border:0;border-radius:6px;background:transparent;color:#6f879a;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}.tournament-filter button.is-active{background:#1d89c8;color:#061521;box-shadow:inset 0 1px rgba(255,255,255,.24)}.tournament-search{height:46px;min-width:270px;display:flex;align-items:center;border:1px solid #29455c;border-radius:9px;background:#071521}.tournament-search b{padding:0 13px;color:#5c7a91;font-size:18px}.tournament-search input{width:100%;height:100%;padding:0 13px 0 0;border:0;outline:0;background:transparent;color:#d9e7f2;font:inherit;font-size:12px}.tournament-search input::placeholder{color:#52697c}
.tournament-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tournament-card{position:relative;min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid #293f52;border-radius:13px;background:linear-gradient(150deg,#0e1d2b,#07131e);box-shadow:0 20px 48px rgba(0,3,8,.42),inset 0 1px rgba(255,255,255,.025);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}.tournament-card:hover{transform:translateY(-5px);border-color:#4c8db7;box-shadow:0 27px 55px rgba(0,3,8,.55),0 0 0 1px rgba(77,164,218,.1)}.tournament-card.is-selected{border-color:#55bdf2;box-shadow:0 22px 52px rgba(0,3,8,.52),0 0 0 1px rgba(85,189,242,.19)}.tournament-card-accent{height:3px;background:linear-gradient(90deg,#2b97d5,#69d2ff,transparent)}.tournament-card.is-completed .tournament-card-accent{background:linear-gradient(90deg,#b18122,#f0c952,transparent)}.tournament-card-body{padding:20px 20px 17px}.tournament-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.tournament-state{display:inline-flex;align-items:center;gap:7px;color:#5fc9ff;font-size:8px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.tournament-state:before{content:"";width:7px;height:7px;border-radius:50%;background:#4ec7ff;box-shadow:0 0 9px rgba(78,199,255,.6)}.tournament-card.is-completed .tournament-state{color:#c7a955}.tournament-card.is-completed .tournament-state:before{background:#d6af40;box-shadow:none}.tournament-card-id{color:#50677a;font-size:8px;font-weight:900;letter-spacing:.12em}.tournament-card h3{margin:19px 0 6px;font-size:22px;letter-spacing:-.04em}.tournament-card-meta{color:#647d91;font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.tournament-card-avatars{min-height:46px;display:flex;align-items:center;margin:19px 0}.tournament-card-avatars .tournament-avatar{width:37px;height:37px;margin-right:-7px;border:2px solid #0a1723;border-radius:9px;font-size:10px}.tournament-avatar-more{height:37px;min-width:44px;display:grid;place-items:center;margin-left:12px;border:1px dashed #33516a;border-radius:8px;color:#6c8396;font-size:10px;font-weight:900}.tournament-progress-copy{display:flex;justify-content:space-between;margin-bottom:7px;color:#668095;font-size:8px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.tournament-progress{height:5px;overflow:hidden;border-radius:4px;background:#02080d}.tournament-progress i{display:block;height:100%;background:linear-gradient(90deg,#258dcb,#62d2f6);box-shadow:0 0 10px rgba(76,196,236,.4)}.tournament-card.is-completed .tournament-progress i{background:linear-gradient(90deg,#a7771e,#e3bd48)}.tournament-card-champion{min-height:51px;display:flex;align-items:center;gap:10px;margin:17px -20px -17px;padding:10px 20px;border-top:1px solid #1d3345;background:#091724}.tournament-card-champion .tournament-avatar{width:31px;height:31px;border-color:#745e28;border-radius:7px}.tournament-card-champion span{display:block;color:#806f45;font-size:7px;font-weight:900;letter-spacing:.13em}.tournament-card-champion b{display:block;margin-top:3px;font-size:10px}.tournament-card-action{min-height:49px;display:flex;align-items:center;justify-content:center;border-top:1px solid #294257;background:#10263a;color:#66c8f8;font-size:9px;font-weight:900;letter-spacing:.15em;text-decoration:none;text-transform:uppercase}.tournament-card-action:hover{background:#15314a;color:#fff}
.tournament-empty{padding:70px 20px;border:1px dashed #29445a;border-radius:14px;color:#6e879b;text-align:center}.tournament-empty>span{font-size:38px}.tournament-empty h3{margin:10px 0 5px;color:#b9cbd9}.tournament-empty p{margin:0;font-size:12px}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:1100px){.tournament-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-archive-heading{align-items:flex-start;flex-direction:column}.tournament-toolbar{width:100%}.tournament-search{flex:1}}
@media(max-width:700px){.tournaments-page{padding-top:10px}.tournaments-shell{width:calc(100% - 20px);margin-bottom:50px}.tournament-page-header{min-height:94px;gap:15px;padding:2px 0 18px}.tournament-page-logo{width:62px;height:62px;border-radius:13px}.tournament-page-header h1{font-size:27px}.tournament-page-header p{font-size:11px}.public-stage-heading{align-items:flex-start;flex-direction:column;padding:23px 20px}.tournament-champion{width:100%;min-width:0}.bracket-key{padding-inline:20px}.bracket-key em{display:none}.public-bracket{padding-inline:20px}.tournament-toolbar{align-items:stretch;flex-direction:column}.tournament-filter button{flex:1}.tournament-search{min-width:0}.tournament-card-grid{grid-template-columns:1fr}.tournament-archive{margin-top:50px}.tournament-archive-heading h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.tournament-card{transition:none}.tournament-card:hover{transform:none}}
