sendou.ink/app/components/match-page/MatchBanner.module.css
Kalle 2b5b1b1948
Some checks are pending
E2E Tests / e2e (push) Waiting to run
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
New match page (#3032)
2026-05-04 18:15:10 +03:00

158 lines
2.7 KiB
CSS

.root {
--banner-height: 175px;
display: flex;
flex-direction: column;
gap: var(--s-1-5);
container-type: inline-size;
}
.banner {
position: relative;
display: grid;
grid-template-columns: max-content 1fr;
grid-template-areas: "map info";
background-size: cover;
background-position: center;
background-repeat: no-repeat;
width: 100%;
height: var(--banner-height);
border-radius: var(--radius-box);
padding: var(--s-2);
background-image:
linear-gradient(
to top,
rgba(255, 255, 255, 0),
rgba(255, 255, 255, 0),
rgba(0, 0, 0, 0.6)
),
var(--stage-img);
color: var(--color-text);
:global(html.light) & {
color: var(--color-text-inverse);
}
}
.info {
grid-area: info;
justify-self: flex-end;
}
.map {
grid-area: map;
display: flex;
gap: var(--s-1);
}
.notice {
position: absolute;
bottom: var(--s-2);
left: 50%;
transform: translateX(-50%);
display: flex;
gap: var(--s-0-5);
align-items: center;
color: var(--color-text-high);
background-color: var(--color-bg-high);
padding: var(--s-0-5) var(--s-1-5);
border-radius: var(--radius-field);
font-size: var(--font-3xs);
font-weight: normal;
height: auto;
}
.infoBadge {
display: flex;
gap: var(--s-1-5);
align-items: center;
height: auto;
color: inherit;
font-size: inherit;
font-weight: inherit;
}
.thickText {
font-size: var(--font-md);
font-weight: var(--weight-semi);
}
.legalIcon {
color: var(--color-success);
}
.illegalIcon {
color: var(--color-error);
}
.multiBanner {
display: flex;
padding: 0;
overflow: hidden;
background-image: none;
}
.segment {
--slant: 13px;
flex: 1 1 0;
min-width: 0;
height: 100%;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
background-image:
linear-gradient(
to top,
rgba(255, 255, 255, 0),
rgba(255, 255, 255, 0),
rgba(0, 0, 0, 0.6)
),
var(--stage-img);
clip-path: polygon(
var(--slant) 0,
100% 0,
calc(100% - var(--slant)) 100%,
0 100%
);
margin-inline-start: calc(var(--slant) * -1);
&:first-child {
clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%);
margin-inline-start: 0;
}
&:last-child {
clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%);
}
}
.iconBanner {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
gap: var(--s-1);
width: 100%;
height: var(--banner-height);
border-radius: var(--radius-box);
background-color: var(--color-bg-higher);
}
.iconBannerHeader {
font-size: var(--font-md);
font-weight: var(--weight-bold);
}
.iconBannerSubtitle {
font-size: var(--font-xs);
color: var(--color-text-low);
}
.iconBannerBottomRight {
position: absolute;
top: var(--s-2);
right: var(--s-2);
}