sendou.ink/app/components/match-page/MatchActionTab.module.css
2026-05-01 07:02:52 +03:00

274 lines
4.4 KiB
CSS

.root {
display: grid;
grid-template-columns: 1fr auto 1fr;
grid-template-areas:
"header header header"
"actions actions actions"
"selection selection selection"
"submit submit submit";
justify-items: center;
align-items: center;
gap: var(--s-5);
container-type: inline-size;
@container (max-width: 599px) {
grid-template-columns: 1fr;
grid-template-areas:
"header"
"actions"
"selection"
"submit";
}
}
.withPoints {
grid-template-areas:
"header header header"
"actions actions actions"
"selection selection selection"
"ko ko ko"
"submit submit submit";
@container (max-width: 599px) {
grid-template-areas:
"header"
"actions"
"selection"
"ko"
"submit";
}
}
.title {
grid-area: header;
font-size: var(--font-md);
font-weight: var(--weight-semi);
text-align: center;
text-box: trim-start cap alphabetic;
}
.actionButtons {
grid-area: actions;
display: flex;
gap: var(--s-6);
margin-block-start: calc(-1 * var(--s-4));
}
.selectionRow {
grid-area: selection;
display: grid;
grid-template-columns: 1fr auto 1fr;
grid-template-areas:
"alpha stage bravo"
". text .";
column-gap: var(--s-4);
row-gap: var(--s-1);
justify-items: center;
align-items: center;
width: 100%;
@container (max-width: 599px) {
column-gap: var(--s-2);
grid-template-columns: auto 1fr;
grid-template-areas:
"stage alpha"
"stage bravo"
"text .";
}
}
.teamRadioContainer {
--label-margin: 0;
width: 100%;
height: 100%;
max-width: 250px;
@container (max-width: 599px) {
max-width: unset;
}
}
.alpha {
grid-area: alpha;
justify-self: end;
@container (max-width: 599px) {
justify-self: stretch;
align-self: end;
}
}
.bravo {
grid-area: bravo;
justify-self: start;
@container (max-width: 599px) {
justify-self: stretch;
align-self: start;
}
}
.stageImageWrapper {
grid-area: stage;
@container (max-width: 599px) {
align-self: stretch;
width: 90px;
}
}
.stageImage {
border-radius: var(--radius-box);
display: block;
@container (max-width: 599px) {
width: 100%;
height: 100%;
object-fit: cover;
}
}
.stageLabel {
grid-area: text;
display: flex;
align-items: center;
gap: var(--s-1);
font-size: var(--font-3xs);
font-weight: var(--weight-semi);
color: var(--color-text-high);
}
.ko {
grid-area: ko;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--s-1);
}
.submit {
grid-area: submit;
}
.checkCircle {
width: 24px;
height: 24px;
border-radius: 100%;
border: 2px solid var(--color-border-high);
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.teamRadio {
display: flex;
align-items: center;
gap: var(--s-3);
padding: var(--s-1-5) var(--s-3);
border-radius: var(--radius-field);
border: 2px solid var(--color-border);
cursor: pointer;
background-color: var(--color-bg-high);
min-width: 160px;
transition: background-color 0.15s;
height: 100%;
&:hover .checkCircle {
border-color: var(--color-accent-high);
}
@container (max-width: 599px) {
min-width: unset;
}
}
.selected {
background-color: var(--color-bg-higher);
}
.focusVisible {
outline: var(--focus-ring);
}
.teamAvatarInfo {
display: flex;
align-items: center;
gap: var(--s-1-5);
min-width: 0;
}
.checkCircleSelected {
background-color: var(--color-accent-high);
border-color: var(--color-accent-high);
color: var(--color-text-inverse);
& svg {
stroke-width: 3px;
}
}
.teamInfo {
display: flex;
flex-direction: column;
line-height: 1.3;
min-width: 0;
}
.teamName {
font-weight: var(--weight-semi);
font-size: var(--font-sm);
display: -webkit-box;
-webkit-line-clamp: 2;
line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.teamNameLong {
font-size: var(--font-2xs);
}
.teamLabel {
font-size: var(--font-3xs);
font-weight: var(--weight-semi);
}
.myTeamLabel {
color: var(--color-success-high);
}
.opponentLabel {
color: var(--color-error-high);
}
.koLabel {
display: flex;
align-items: center;
gap: var(--s-1-5);
font-weight: var(--weight-semi);
cursor: pointer;
}
.confirmationRoot {
display: flex;
flex-direction: column;
align-items: center;
gap: var(--s-4);
}
.confirmationMessage {
font-weight: var(--weight-semi);
text-align: center;
color: var(--color-warning);
margin-block-end: var(--s-4);
}
.confirmationButtons {
display: flex;
gap: var(--s-3);
margin-block-start: var(--s-4);
}