mirror of
https://github.com/Sendouc/sendou.ink.git
synced 2026-05-05 20:56:13 -05:00
771 lines
13 KiB
CSS
771 lines
13 KiB
CSS
.actionSection {
|
|
padding: var(--s-0-5) var(--s-6) var(--s-6) var(--s-6);
|
|
border-radius: var(--rounded);
|
|
background-color: var(--color-bg-high);
|
|
}
|
|
|
|
.actionSectionTopPadded {
|
|
padding: var(--s-3) var(--s-6) var(--s-6) var(--s-6);
|
|
}
|
|
|
|
.actionSectionTitle {
|
|
font-size: var(--fonts-lg);
|
|
font-weight: var(--bold);
|
|
}
|
|
|
|
.actionSideNote {
|
|
color: var(--color-text-high);
|
|
font-size: var(--fonts-xs);
|
|
font-weight: var(--semi-bold);
|
|
}
|
|
|
|
.chatContainer {
|
|
top: var(--sticky-top);
|
|
position: sticky;
|
|
width: 100%;
|
|
}
|
|
|
|
.chatMessagesContainer {
|
|
height: 350px;
|
|
}
|
|
|
|
.mapPoolCounts {
|
|
display: grid;
|
|
width: 250px;
|
|
margin: 0 auto;
|
|
color: var(--color-text-high);
|
|
font-size: var(--fonts-xs);
|
|
grid-template-columns: repeat(4, 1fr);
|
|
place-items: center;
|
|
row-gap: var(--s-2);
|
|
}
|
|
|
|
.summaryContent {
|
|
display: inline-flex;
|
|
gap: var(--s-3);
|
|
}
|
|
|
|
.summaryContent > svg {
|
|
width: 1rem;
|
|
}
|
|
|
|
.roundContainer {
|
|
width: 250px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.selectContainer > label {
|
|
margin-left: var(--s-2-5);
|
|
}
|
|
|
|
.teamsContainer {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: var(--s-4);
|
|
}
|
|
|
|
.teamSelect {
|
|
width: 150px;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.boRadiosContainer {
|
|
display: flex;
|
|
justify-content: center;
|
|
gap: var(--s-4);
|
|
}
|
|
|
|
.mapList {
|
|
display: grid;
|
|
justify-content: center;
|
|
column-gap: var(--s-4);
|
|
font-size: var(--fonts-sm);
|
|
font-weight: var(--semi-bold);
|
|
grid-template-columns: max-content max-content;
|
|
}
|
|
|
|
.pickInfo {
|
|
align-self: center;
|
|
font-size: var(--fonts-xxxs);
|
|
}
|
|
|
|
.pickInfoTeam1 {
|
|
color: var(--color-info);
|
|
}
|
|
|
|
.pickInfoTeam2 {
|
|
color: var(--color-error-high);
|
|
}
|
|
|
|
.pickInfoTiebreaker {
|
|
color: var(--color-warning-high);
|
|
}
|
|
|
|
.pickInfoBoth {
|
|
color: var(--color-success-high);
|
|
}
|
|
|
|
.stageListed {
|
|
justify-self: flex-start;
|
|
}
|
|
|
|
.teamWithRoster {
|
|
display: flex;
|
|
width: 100%;
|
|
align-items: center;
|
|
}
|
|
|
|
.teamWithRosterName {
|
|
flex: 1;
|
|
font-weight: var(--bold);
|
|
padding-inline-end: var(--s-4);
|
|
text-align: right;
|
|
}
|
|
|
|
.teamWithRosterMembers {
|
|
display: flex;
|
|
flex: 1;
|
|
flex-direction: column;
|
|
border-inline-start: 2px solid var(--color-text-accent);
|
|
font-size: var(--fonts-xs);
|
|
font-weight: var(--semi-bold);
|
|
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 max-content 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(--rounded);
|
|
border: 2px solid var(--color-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);
|
|
display: flex;
|
|
font-size: var(--fonts-xxs);
|
|
justify-content: center;
|
|
align-items: center;
|
|
gap: var(--s-1);
|
|
font-weight: var(--semi-bold);
|
|
padding-block: var(--s-0-5);
|
|
}
|
|
|
|
.teamWithRosterSeed {
|
|
font-size: var(--fonts-xxs);
|
|
font-weight: var(--semi-bold);
|
|
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;
|
|
max-width: 150px;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.teamMemberNameRole {
|
|
position: absolute;
|
|
background-color: var(--color-text-accent);
|
|
color: var(--color-text-inverse);
|
|
font-weight: var(--semi-bold);
|
|
width: 12px;
|
|
height: 12px;
|
|
border-radius: var(--rounded);
|
|
font-size: var(--fonts-xxxxs);
|
|
display: grid;
|
|
place-items: center;
|
|
top: 14px;
|
|
left: 15px;
|
|
}
|
|
|
|
.teamMemberNameRoleSub {
|
|
background-color: var(--color-info);
|
|
}
|
|
|
|
.logoContainer {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--s-4);
|
|
}
|
|
|
|
.logo {
|
|
border-radius: 100%;
|
|
min-width: 124px;
|
|
}
|
|
|
|
.title {
|
|
font-size: var(--fonts-xl);
|
|
font-weight: var(--bold);
|
|
}
|
|
|
|
.badge {
|
|
text-transform: uppercase;
|
|
font-size: var(--fonts-xxs);
|
|
font-weight: var(--bold);
|
|
padding: var(--s-0-5) var(--s-2);
|
|
border-radius: var(--rounded);
|
|
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);
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.infoDescription > :is(h2, h3, h4, h5, h6) {
|
|
margin-block-start: var(--s-6);
|
|
}
|
|
|
|
.infoDescription > h1 {
|
|
font-size: var(--fonts-xl);
|
|
}
|
|
|
|
.infoDescription > :is(h2, h3, h4, h5, h6) {
|
|
font-size: var(--fonts-lg);
|
|
}
|
|
|
|
.infoDescription > :is(h3, h4, h5, h6) {
|
|
font-size: var(--fonts-md);
|
|
}
|
|
|
|
.infoDescription > ul:has(+ p) {
|
|
margin-block-end: var(--s-6);
|
|
}
|
|
|
|
.by {
|
|
color: var(--color-text-high);
|
|
font-size: var(--fonts-sm);
|
|
font-weight: var(--semi-bold);
|
|
}
|
|
|
|
.sectionHeader {
|
|
font-size: var(--fonts-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(--fonts-xs);
|
|
font-weight: var(--semi-bold);
|
|
text-align: center;
|
|
color: var(--color-text-high);
|
|
}
|
|
|
|
.sectionMapSelectRow {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: var(--s-4);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.sectionIcon {
|
|
width: 2rem;
|
|
}
|
|
|
|
.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: 2px solid var(--color-accent-low);
|
|
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;
|
|
}
|
|
|
|
.seedsForm {
|
|
width: 100%;
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.seedsOrderButton {
|
|
margin-block-start: var(--s-2);
|
|
margin-inline-end: auto;
|
|
}
|
|
|
|
/* TODO: overflow-x scroll */
|
|
.seedsTeamsListRow {
|
|
display: grid;
|
|
width: 100%;
|
|
align-items: center;
|
|
padding: var(--s-1-5) var(--s-3);
|
|
border-radius: var(--rounded);
|
|
column-gap: var(--s-1);
|
|
font-size: var(--fonts-xs);
|
|
grid-template-columns: 1.5rem 2rem 8rem 3rem 1fr;
|
|
list-style: none;
|
|
row-gap: var(--s-1-5);
|
|
}
|
|
|
|
.seedsTeamsListRow.sortable:not(.disabled) {
|
|
cursor: grab;
|
|
}
|
|
|
|
.seedsTeamsListRow.active {
|
|
cursor: grabbing;
|
|
}
|
|
|
|
.seedsTeamsListRow.sortable:active:not(.disabled) {
|
|
cursor: grabbing !important;
|
|
}
|
|
|
|
.seedsTeamsContainerHeader {
|
|
font-weight: var(--bold);
|
|
}
|
|
|
|
.seedsTeamName {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.seedsTeamMember {
|
|
display: grid;
|
|
grid-template-columns: max-content max-content;
|
|
grid-column-gap: var(--s-2-5);
|
|
background-color: var(--color-bg-high);
|
|
border-radius: var(--rounded);
|
|
padding: var(--s-1) var(--s-3);
|
|
place-items: center;
|
|
}
|
|
|
|
.seedsTeamsListRow.active .seedsTeamMember {
|
|
background-color: var(--color-bg-higher);
|
|
}
|
|
|
|
.seedsTeamMemberName {
|
|
grid-column: 1 / span 2;
|
|
font-weight: var(--semi-bold);
|
|
}
|
|
|
|
.seedsLonelyStat {
|
|
grid-column: 1 / span 2;
|
|
}
|
|
|
|
.seedsPlusInfo {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
margin-inline-end: var(--s-4);
|
|
min-width: 2rem;
|
|
}
|
|
|
|
.streamUserContainer {
|
|
font-size: var(--fonts-xs);
|
|
display: flex;
|
|
gap: var(--s-2);
|
|
align-items: center;
|
|
font-weight: var(--semi-bold);
|
|
}
|
|
|
|
.streamViewerCount {
|
|
font-size: var(--fonts-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(--rounded);
|
|
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(--bold);
|
|
text-align: center;
|
|
}
|
|
|
|
.teamStatTitle {
|
|
font-size: var(--fonts-sm);
|
|
color: var(--color-text-high);
|
|
}
|
|
|
|
.teamStatMain {
|
|
font-size: var(--fonts-xl);
|
|
font-weight: var(--semi-bold);
|
|
}
|
|
|
|
.teamStatMain sup {
|
|
font-size: var(--fonts-sm);
|
|
font-weight: var(--semi-bold);
|
|
}
|
|
|
|
.teamStatSub {
|
|
color: var(--color-text-high);
|
|
font-size: var(--fonts-sm);
|
|
}
|
|
|
|
@media screen and (min-width: 640px) {
|
|
.section {
|
|
margin: 0;
|
|
border-radius: var(--rounded);
|
|
}
|
|
|
|
.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-2-5);
|
|
background-color: var(--color-bg-high);
|
|
border-radius: var(--rounded);
|
|
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;
|
|
}
|
|
|
|
@media screen and (min-width: 480px) {
|
|
.teamSetTopContainer {
|
|
flex-direction: row;
|
|
align-items: flex-end;
|
|
}
|
|
}
|
|
|
|
.teamSetScore {
|
|
font-size: var(--fonts-xl);
|
|
font-weight: var(--bold);
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.teamSetRoundName {
|
|
font-size: var(--fonts-lg);
|
|
font-weight: var(--semi-bold);
|
|
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-bg-higher);
|
|
}
|
|
|
|
.teamSetStageContainer {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: var(--s-2);
|
|
align-items: center;
|
|
font-size: var(--fonts-xs);
|
|
font-weight: var(--semi-bold);
|
|
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(--fonts-xl);
|
|
font-weight: var(--bold);
|
|
color: var(--color-text-high);
|
|
align-self: center;
|
|
}
|
|
|
|
.teamSetOpponentTeam {
|
|
grid-area: team;
|
|
font-size: var(--fonts-lg);
|
|
font-weight: var(--semi-bold);
|
|
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(--fonts-xs);
|
|
align-items: center;
|
|
}
|
|
|
|
.overlapDivider {
|
|
display: flex;
|
|
width: 100%;
|
|
align-items: center;
|
|
color: var(--color-accent);
|
|
font-size: var(--fonts-lg);
|
|
}
|
|
|
|
.overlapDivider::before,
|
|
.overlapDivider::after {
|
|
flex: 1;
|
|
border-bottom: 2px solid var(--color-accent-low);
|
|
content: "";
|
|
}
|
|
|
|
.standingsMatchResultSquare {
|
|
width: 28px;
|
|
height: 28px;
|
|
display: grid;
|
|
place-items: center;
|
|
font-size: var(--fonts-xs);
|
|
font-weight: var(--semi-bold);
|
|
border: 3px solid var(--color-accent);
|
|
border-radius: var(--rounded-sm);
|
|
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-accent-low);
|
|
border-radius: var(--rounded);
|
|
}
|
|
|
|
.divGrid {
|
|
display: grid;
|
|
grid-template-columns: repeat(auto-fill, minmax(225px, 1fr));
|
|
gap: var(--s-4);
|
|
}
|
|
|
|
.divLink {
|
|
background-color: var(--color-bg-high);
|
|
padding: var(--s-2) var(--s-4);
|
|
border-radius: var(--rounded);
|
|
font-size: var(--fonts-lg);
|
|
width: 100%;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.divLink:focus-visible {
|
|
outline: 3px solid var(--color-accent);
|
|
outline-offset: 3px;
|
|
}
|
|
|
|
.divLinkParticipant {
|
|
outline: 3px solid var(--color-bg-higher);
|
|
outline-offset: 3px;
|
|
}
|
|
|
|
.divLinkParticipant svg {
|
|
fill: var(--color-accent);
|
|
}
|
|
|
|
.divParticipantCounts {
|
|
display: flex;
|
|
align-items: center;
|
|
color: var(--color-text-high);
|
|
font-size: var(--fonts-sm);
|
|
gap: var(--s-2);
|
|
margin-block-end: var(--s-1);
|
|
}
|
|
|
|
.divParticipantCounts > svg {
|
|
width: 1rem;
|
|
margin-block-end: 1px;
|
|
}
|
|
|
|
.standingsDividerRow {
|
|
background: transparent !important;
|
|
height: auto;
|
|
}
|
|
|
|
.standingsDividerPadding {
|
|
padding-block: var(--s-2);
|
|
background: transparent;
|
|
}
|
|
|
|
.standingsDividerContent {
|
|
display: flex;
|
|
align-items: center;
|
|
width: 100%;
|
|
gap: var(--s-2);
|
|
}
|
|
|
|
.standingsDividerLine {
|
|
flex: 1;
|
|
height: 4px;
|
|
border-radius: var(--rounded);
|
|
}
|
|
|
|
.standingsDividerText {
|
|
font-size: var(--fonts-xs);
|
|
font-weight: var(--bold);
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.5px;
|
|
white-space: nowrap;
|
|
padding: var(--s-0-5) var(--s-1-5);
|
|
border-radius: var(--rounded);
|
|
}
|
|
|
|
.standingsDividerQualifiedLine {
|
|
background-color: var(--color-success);
|
|
}
|
|
|
|
.standingsDividerQualifiedText {
|
|
color: var(--color-success);
|
|
background-color: transparent;
|
|
}
|
|
|
|
.standingsDividerEliminatedLine {
|
|
background-color: var(--color-error);
|
|
}
|
|
|
|
.standingsDividerEliminatedText {
|
|
color: var(--color-error);
|
|
background-color: transparent;
|
|
}
|