Jump to content
Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Template:Infobox tournament/styles.css: Difference between revisions

Template page
m Build reusable tournament data and rendering system
m Build reusable tournament data and rendering system
Line 1: Line 1:
.loka-infobox.loka-infobox--wide {
.loka-infobox.loka-infobox--wide {
width: 400px;
width: 400px;
}
.loka-infobox.loka-infobox--wide .loka-infobox-header-photo {
height: 142px;
}
.loka-infobox.loka-infobox--wide .loka-infobox-header-photo img {
object-position: center 30%;
-webkit-mask-image: linear-gradient(to bottom,
#000 0%, #000 44%,
rgba(0, 0, 0, .92) 54%,
rgba(0, 0, 0, .74) 66%,
rgba(0, 0, 0, .48) 78%,
rgba(0, 0, 0, .24) 89%,
transparent 100%);
mask-image: linear-gradient(to bottom,
#000 0%, #000 44%,
rgba(0, 0, 0, .92) 54%,
rgba(0, 0, 0, .74) 66%,
rgba(0, 0, 0, .48) 78%,
rgba(0, 0, 0, .24) 89%,
transparent 100%);
}
.loka-infobox.loka-infobox--wide .loka-infobox-header-scrim {
background: linear-gradient(to bottom,
rgba(6, 6, 6, .72) 0,
rgba(6, 6, 6, .3) 48px,
transparent 88px);
}
}


Line 24: Line 53:
}
}


/* Single column, not 2 -- side by side each tile only got ~half the
  Details column's own width (itself already half the box), so anything
  longer than a short word (a full town name, a full written-out date)
  wrapped awkwardly. Stacked, each tile gets the Details column's full
  width instead. */
.loka-tournament-details-grid {
.loka-tournament-details-grid {
display: grid;
display: grid;
Line 62: Line 86:
}
}


/* Without this the text block only ever shrink-wraps to its own content,
  leaving the rest of the row's width as visible dead space on the right
  (worse the shorter the team/player name) -- stretching it to fill the
  row means that space goes to normal left-aligned text instead. */
.loka-podium-info {
.loka-podium-info {
flex: 1;
flex: 1;
Line 162: Line 182:
}
}


/* Small centred flourish under the disclaimer -- deliberately full colour
  (not muted like the disclaimer text itself) so it reads as a closing
  accent rather than more faded text. Inset from the sides rather than a
  full-width rule, since the box no longer uses full dividers anywhere
  else. Deliberately NOT repeated under the chronology header bar --
  there, it sat visually between the heading and the current tournament's
  own name in the pane below, reading as an odd divider between two
  things that belong together rather than a closing accent. */
.loka-podium-disclaimer::after {
.loka-podium-disclaimer::after {
content: "";
content: "";
Line 179: Line 191:
}
}


/* Plain row, not a solid coloured bar, no dividers above or below --
  fully matches the same "eyebrow" label used for Tournament Details,
  Winning Team, and Winner/2nd Place/3rd Place (loka-tournament-col-heading
  / loka-podium-label): identical font-size, weight, case, letter-spacing
  and colour on all three (title and both side labels alike), so the
  whole set reads as one consistent family instead of some being bold
  and gold while others are smaller and muted. */
.loka-chrono-header {
.loka-chrono-header {
position: relative;
position: relative;
Line 213: Line 218:
}
}


/* The side label's own column now runs edge-to-edge with the infobox (no
  header padding, see .loka-chrono-header), so an arrow positioned off the
  *column's* edge would land outside .loka-infobox's overflow:hidden and
  get clipped invisible. Instead the arrow anchors to this inner,
  shrink-wrapped text span -- it sits just outside the actual glyphs,
  safely inside the box, and (being outside the centred string itself)
  never shifts where "Previous"/"Next" centres. */
.loka-chrono-header-side-text {
.loka-chrono-header-side-text {
position: relative;
position: relative;
Line 239: Line 237:
}
}


/* Pulled out of the grid entirely and centred against the whole header's
  width instead of being confined to column 2's share of it -- lets a
  wide, non-wrapping title extend past where column 2 alone would end
  without affecting the side labels' position (they're independently
  pinned to columns 1/3 above) or the grid's own track sizing. */
.loka-chrono-header-title {
.loka-chrono-header-title {
position: absolute;
position: absolute;
Line 285: Line 278:
}
}


/* Below this width the box itself has already gone full-width and
  unfloated (see Template:Infobox/styles.css), but Details|Results side
  by side would still squeeze each into an unreadably narrow column, so
  they stack instead -- the extra top margin (on top of Details' own
  bottom padding and Results' own top padding) keeps the two from reading
  as one continuous block once stacked. */
@media (max-width: 600px) {
@media (max-width: 600px) {
.loka-infobox.loka-infobox--wide {
.loka-infobox.loka-infobox--wide {
Line 306: Line 293:
}
}


/* The light gold accent (#f0cf8e) and the semi-transparent white "TBA"/
  "--" text both assume a dark box background to show up against -- now
  that .loka-infobox switches to a light card in light mode (see
  Template:Infobox/styles.css), these need darker equivalents of their
  own or they'd wash out to near-invisible pastel/white-on-cream. Reuses
  the same darker amber (#9c6b2e) Template:Biome already uses for its own
  light-card label variant, for a consistent look. Doesn't touch the
  header photo's own overlay text (name/type, "Winning Team" etc. sitting
  directly on the photo) -- that has its own permanent dark scrim/shadow
  independent of page theme, so it's already fine in both modes. */
@media (prefers-color-scheme: light) {
@media (prefers-color-scheme: light) {
.loka-tournament-col-heading,
.loka-tournament-col-heading,

Revision as of 00:47, 19 August 2026

.loka-infobox.loka-infobox--wide {
	width: 400px;
}

.loka-infobox.loka-infobox--wide .loka-infobox-header-photo {
	height: 142px;
}

.loka-infobox.loka-infobox--wide .loka-infobox-header-photo img {
	object-position: center 30%;
	-webkit-mask-image: linear-gradient(to bottom,
		#000 0%, #000 44%,
		rgba(0, 0, 0, .92) 54%,
		rgba(0, 0, 0, .74) 66%,
		rgba(0, 0, 0, .48) 78%,
		rgba(0, 0, 0, .24) 89%,
		transparent 100%);
	mask-image: linear-gradient(to bottom,
		#000 0%, #000 44%,
		rgba(0, 0, 0, .92) 54%,
		rgba(0, 0, 0, .74) 66%,
		rgba(0, 0, 0, .48) 78%,
		rgba(0, 0, 0, .24) 89%,
		transparent 100%);
}

.loka-infobox.loka-infobox--wide .loka-infobox-header-scrim {
	background: linear-gradient(to bottom,
		rgba(6, 6, 6, .72) 0,
		rgba(6, 6, 6, .3) 48px,
		transparent 88px);
}

.loka-tournament-columns {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.loka-tournament-details {
	padding: .5em;
}

.loka-tournament-col-heading {
	font-size: .7em;
	font-weight: 700;
	color: #f0cf8e;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.loka-tournament-details .loka-tournament-col-heading {
	margin-bottom: .45em;
}

.loka-tournament-details-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: .45em;
}

.loka-tournament-detail-label {
	display: block;
	font-size: .68em;
	opacity: .65;
	text-transform: uppercase;
	letter-spacing: .03em;
	margin-bottom: .1em;
}

.loka-tournament-detail-value {
	display: block;
	font-size: .85em;
	word-break: break-word;
}

.loka-tournament-runners-tile {
	grid-column: 1 / -1;
	margin-top: .45em;
}

.loka-podium-row {
	display: flex;
	align-items: center;
	gap: .5em;
	padding: .4em .5em;
}

.loka-podium-info {
	flex: 1;
	min-width: 0;
}

.loka-podium-row img {
	image-rendering: pixelated;
}

.loka-podium-label {
	font-size: .7em;
	font-weight: 700;
	color: #f0cf8e;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.loka-podium-team {
	font-weight: 600;
}

.loka-podium-single {
	font-weight: normal;
}

.loka-podium-info .loka-hlist {
	font-size: .82em;
	font-weight: normal;
	opacity: .72;
}

.loka-championship {
	display: flex;
	align-items: center;
	gap: .5em;
	margin: 0;
	padding: .35em .5em;
	text-align: left;
}

.loka-championship-info {
	flex: 1;
	min-width: 0;
}

.loka-championship > img {
	image-rendering: pixelated;
}

.loka-championship-heading {
	display: block;
	color: #f0cf8e;
	font-size: .7em;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.loka-championship-name {
	display: block;
	font-size: .84em;
	font-weight: normal;
	overflow-wrap: anywhere;
}

.loka-championship-status {
	display: block;
	min-width: 0;
	margin-top: .08em;
	font-size: .64em;
	letter-spacing: .03em;
	opacity: .72;
	text-transform: uppercase;
	white-space: normal;
}

.loka-championship-status--no-show {
	color: #e5b0a8;
	white-space: normal;
}

.loka-championship-previous {
	display: block;
	margin-top: .16em;
	font-size: .64em;
	opacity: .68;
}

.loka-podium-disclaimer {
	font-size: .7em;
	font-style: italic;
	opacity: .6;
	text-align: center;
	padding: .25em .6em .4em;
}

.loka-podium-disclaimer::after {
	content: "";
	display: block;
	width: 48px;
	height: 1px;
	margin: .35em auto 0;
	background: #f0cf8e;
}

.loka-chrono-header {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	align-items: center;
	padding: .35em 0;
}

.loka-chrono-header-title,
.loka-chrono-header-side {
	font-size: .7em;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: #f0cf8e;
	text-align: center;
	white-space: nowrap;
}

.loka-chrono-header-side--prev {
	grid-column: 1;
}

.loka-chrono-header-side--next {
	grid-column: 3;
}

.loka-chrono-header-side-text {
	position: relative;
	display: inline-block;
}

.loka-chrono-header-side--prev .loka-chrono-header-side-text::before {
	content: "\2190";
	position: absolute;
	right: 100%;
	margin-right: .35em;
}

.loka-chrono-header-side--next .loka-chrono-header-side-text::after {
	content: "\2192";
	position: absolute;
	left: 100%;
	margin-left: .35em;
}

.loka-chrono-header-title {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
}

.loka-chrono-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
}

.loka-chrono-pane {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: .4em .35em;
	text-align: center;
	font-size: .78em;
}

.loka-chrono-title--current {
	font-weight: 700;
}

.loka-chrono-year {
	font-weight: normal;
	opacity: .75;
	font-size: .9em;
	margin-top: .2em;
}

.loka-chrono-tba {
	color: rgba(255, 255, 255, .4);
}

.loka-chrono-empty {
	color: rgba(255, 255, 255, .4);
	font-style: italic;
}

@media (max-width: 600px) {
	.loka-infobox.loka-infobox--wide {
		width: 100%;
		max-width: 100%;
	}

	.loka-tournament-columns {
		grid-template-columns: 1fr;
	}

	.loka-tournament-results {
		margin-top: .3em;
	}
}

@media (prefers-color-scheme: light) {
	.loka-tournament-col-heading,
	.loka-podium-label,
	.loka-championship-heading,
	.loka-chrono-header-title,
	.loka-chrono-header-side {
		color: #9c6b2e;
	}

	.loka-championship-status--no-show {
		color: #8f3028;
	}

	.loka-chrono-tba,
	.loka-chrono-empty {
		color: rgba(0, 0, 0, .35);
	}

	.loka-podium-disclaimer::after {
		background: #9c6b2e;
	}
}