sendou.ink/app/features/tournament/tournament.module.css
2026-03-17 23:56:59 +01:00

491 lines
8.6 KiB
CSS

.selectContainer > label {
margin-left: var(--s-3);
}
.teamWithRoster {
display: flex;
width: 100%;
align-items: center;
}
.teamWithRosterName {
flex: 1;
min-width: 0;
font-weight: var(--weight-bold);
padding-inline-end: var(--s-4);
text-align: right;
}
.teamWithRosterMembers {
display: flex;
flex: 1;
min-width: 0;
flex-direction: column;
border-inline-start: var(--border-style-accent);
font-size: var(--font-xs);
font-weight: var(--weight-semi);
gap: var(--s-2);
padding-inline-start: var(--s-4);
padding-block: var(--s-3);
}
.teamWithRosterMember {
display: grid;
gap: var(--s-1-5);
grid-template-columns: max-content minmax(0, 1fr);
}
.teamWithRosterMemberInactive {
text-decoration: line-through;
color: var(--color-text-high);
text-decoration-thickness: 2px;
}
.teamWithRosterMemberAvatarInactive {
opacity: 0.4;
}
.teamWithRosterMapPool {
display: grid;
grid-template-columns: max-content max-content max-content max-content;
border-radius: var(--radius-box);
border: var(--border-style-accent);
width: max-content;
margin: 0 auto;
overflow: hidden;
}
.teamWithRosterMapPool3Columns {
grid-template-columns: max-content max-content max-content;
}
.teamWithRosterMapPoolModeInfo {
background-color: var(--color-bg-high);
display: flex;
font-size: var(--font-2xs);
justify-content: center;
align-items: center;
gap: var(--s-1);
font-weight: var(--weight-semi);
padding-block: var(--s-0-5);
}
.teamWithRosterSeed {
font-size: var(--font-2xs);
font-weight: var(--weight-semi);
color: var(--color-text-high);
}
.teamWithRosterTeamName {
word-break: break-word;
}
.teamMemberRow {
list-style: none;
position: relative;
}
.teamMemberName {
overflow: hidden;
color: var(--color-text);
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
.teamMemberNameRole {
position: absolute;
background-color: var(--color-text-accent);
color: var(--color-text-inverse);
width: 12px;
height: 12px;
border-radius: var(--radius-full);
font-size: var(--font-3xs);
font-weight: var(--weight-bold);
line-height: 1;
display: grid;
place-items: center;
top: 14px;
left: 14px;
z-index: 1;
}
.teamMemberNameRoleSub {
background-color: var(--color-info);
}
.logoContainer {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--s-4);
}
@container (width >= 480px) {
.logoContainer {
flex-direction: row;
}
}
.logo {
border-radius: var(--radius-avatar);
min-width: 124px;
}
.title {
font-size: var(--font-xl);
font-weight: var(--weight-bold);
}
.badge {
text-transform: uppercase;
font-size: var(--font-2xs);
font-weight: var(--weight-bold);
padding: 0 var(--s-2);
border-radius: var(--radius-selector);
height: var(--selector-size-sm);
place-items: center;
width: max-content;
display: flex;
gap: var(--s-2);
}
.badgeRanked {
background-color: var(--color-info-low);
color: var(--color-info-high);
}
.badgeUnranked {
background-color: var(--color-success-low);
color: var(--color-success-high);
}
.badgeModes {
background-color: var(--color-bg-high);
}
.infoIcon {
width: 18px;
padding: var(--s-1) 0;
}
.infoDescription {
white-space: pre-wrap;
}
.infoDescription > :is(h1, h2, h3, h4, h5, h6) {
margin-block-end: var(--s-6);
}
.infoDescription > :is(h2, h3, h4, h5, h6) {
margin-block-start: var(--s-6);
}
.infoDescription > h1 {
font-size: var(--font-xl);
}
.infoDescription > :is(h2, h3, h4, h5, h6) {
font-size: var(--font-lg);
}
.infoDescription > :is(h3, h4, h5, h6) {
font-size: var(--font-md);
}
.infoDescription > ul:has(+ p) {
margin-block-end: var(--s-6);
}
.by {
color: var(--color-text-high);
font-size: var(--font-sm);
font-weight: var(--weight-semi);
}
.sectionHeader {
font-size: var(--font-sm);
}
.section {
background-color: var(--color-bg-high);
margin-inline: -12px;
padding: var(--s-4) var(--s-3);
}
.sectionInputContainer {
width: 16rem;
}
.sectionWarning {
font-size: var(--font-xs);
font-weight: var(--weight-semi);
text-align: center;
color: var(--color-text-high);
}
.rosterGrid {
display: grid;
grid-template-columns: repeat(auto-fill, 110px);
gap: var(--s-4);
margin-block-start: var(--s-2);
width: 100%;
justify-content: center;
}
.rosterGridMemberName {
max-width: 110px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
.missingPlayer {
width: 62px;
height: 62px;
font-size: 32px;
border-radius: 100%;
border: var(--border-style-accent);
color: var(--color-text-accent);
display: grid;
place-items: center;
margin: 0 auto;
}
.missingPlayerOptional {
border: 2px dashed var(--color-text-accent);
color: var(--color-text-accent);
}
.inviteContainer {
display: flex;
flex-direction: column;
gap: var(--s-12);
align-items: center;
}
.streamUserContainer {
font-size: var(--font-xs);
display: flex;
gap: var(--s-2);
align-items: center;
font-weight: var(--weight-semi);
}
.streamViewerCount {
font-size: var(--font-xs);
display: flex;
gap: var(--s-2);
align-items: center;
margin-block-start: -5px;
color: var(--color-text-high);
}
.streamViewerCount > svg {
width: 0.75rem;
}
.teamStats {
border-radius: var(--radius-box);
padding: var(--s-4);
display: grid;
grid-template-columns: 1fr 1fr;
gap: var(--s-4);
margin: 0 auto;
}
.teamStat {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: 1fr 2fr 1fr;
place-items: center;
font-weight: var(--weight-bold);
text-align: center;
}
.teamStatTitle {
font-size: var(--font-sm);
color: var(--color-text-high);
}
.teamStatMain {
font-size: var(--font-xl);
font-weight: var(--weight-semi);
}
.teamStatMain sup {
font-size: var(--font-sm);
font-weight: var(--weight-semi);
}
.teamStatSub {
color: var(--color-text-high);
font-size: var(--font-sm);
}
@container (width >= 640px) {
.section {
margin: 0;
border-radius: var(--radius-box);
}
.teamStats {
grid-template-columns: 1fr 1fr 1fr 1fr;
}
}
.teamSets {
display: flex;
flex-direction: column;
max-width: 32rem;
margin: 0 auto;
gap: var(--s-8);
}
.teamSet {
display: flex;
flex-direction: column;
gap: var(--s-3);
background-color: var(--color-bg-high);
border-radius: var(--radius-box);
padding: var(--s-3) var(--s-6);
}
.teamSetTopContainer {
display: flex;
justify-content: center;
gap: var(--s-2);
flex-direction: column;
align-items: center;
text-align: center;
}
@container (width >= 480px) {
.teamSetTopContainer {
flex-direction: row;
align-items: flex-end;
}
}
.teamSetScore {
font-size: var(--font-xl);
font-weight: var(--weight-bold);
white-space: nowrap;
}
.teamSetRoundName {
font-size: var(--font-lg);
font-weight: var(--weight-semi);
color: var(--color-text-high);
margin-block-end: 2px;
}
.teamSetMode {
background-color: var(--color-bg-high);
border-radius: 100%;
padding: var(--s-2);
border: 2px solid var(--color-success);
}
.teamSetModeLoss {
border-color: var(--color-error);
}
.teamSetStageContainer {
display: flex;
flex-direction: column;
gap: var(--s-2);
align-items: center;
font-size: var(--font-xs);
font-weight: var(--weight-semi);
color: var(--color-text);
}
.teamSetOpponent {
display: grid;
grid-template-areas: "vs team" "vs members";
grid-template-columns: max-content 1fr;
column-gap: var(--s-4);
row-gap: var(--s-2);
}
.teamSetOpponentVs {
grid-area: vs;
font-size: var(--font-xl);
font-weight: var(--weight-bold);
color: var(--color-text-high);
align-self: center;
}
.teamSetOpponentTeam {
grid-area: team;
font-size: var(--font-lg);
font-weight: var(--weight-semi);
color: var(--color-text);
}
.teamSetOpponentMembers {
grid-area: members;
display: flex;
gap: var(--s-2);
flex-wrap: wrap;
}
.teamSetOpponentMember {
color: var(--color-text);
display: flex;
gap: var(--s-1);
font-size: var(--font-xs);
align-items: center;
}
.overlapDivider {
display: flex;
width: 100%;
align-items: center;
color: var(--color-accent);
font-size: var(--font-lg);
}
.overlapDivider::before,
.overlapDivider::after {
flex: 1;
border-bottom: 2px solid var(--color-bg-higher);
content: "";
}
.standingsMatchResultSquare {
width: 28px;
height: 28px;
display: grid;
place-items: center;
font-size: var(--font-xs);
font-weight: var(--weight-semi);
border: 3px solid var(--color-accent);
border-radius: var(--radius-field);
color: var(--color-text);
}
.standingsMatchResultSquareWin {
border-color: var(--color-success);
}
.standingsMatchResultSquareLoss {
border-color: var(--color-error);
}
.standingsTeamName {
min-width: 125px;
word-break: break-word;
display: flex;
gap: var(--s-1-5);
align-items: center;
color: var(--color-text);
}
.standingsDivider {
width: 5px;
background-color: var(--color-bg-high);
border-radius: var(--radius-box);
}