sendou.ink/app/components/match-page/MatchActionTab.module.css
2026-04-22 17:33:41 +03:00

280 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"
"points-alpha ko points-bravo"
"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"
"points"
"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);
}
.pointsRow {
display: contents;
@container (max-width: 599px) {
display: flex;
grid-area: points;
justify-content: center;
align-items: flex-end;
gap: var(--s-4);
}
}
.pointsAlpha {
grid-area: points-alpha;
justify-self: end;
}
.ko {
grid-area: ko;
display: flex;
flex-direction: column;
align-items: center;
gap: var(--s-1);
}
.pointsBravo {
grid-area: points-bravo;
justify-self: start;
}
.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);
}
.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;
}
.teamName {
font-weight: var(--weight-semi);
font-size: var(--font-sm);
}
.teamLabel {
font-size: var(--font-3xs);
font-weight: var(--weight-semi);
}
.myTeamLabel {
color: var(--color-success-high);
}
.opponentLabel {
color: var(--color-error-high);
}
.pointsInput {
width: 60px;
}
.koLabel {
display: flex;
align-items: center;
gap: var(--s-1-5);
font-weight: var(--weight-semi);
cursor: pointer;
}
.koHelp {
font-size: var(--font-3xs);
color: var(--color-text-high);
height: auto;
padding: 0;
font-weight: normal;
text-decoration: underline;
}
.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);
}