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 Infobox tournament: auto-generate a lead paragraph from the same infobox parameters
m Let the championship box fill full width on mobile instead of a fixed 179px meant for the desktop two-column layout
 
(45 intermediate revisions by the same user not shown)
Line 1: Line 1:
.loka-tournament-columns {
.loka-infobox.loka-infobox--wide { width:400px; position:relative; }
display: grid;
grid-template-columns: 1fr 1fr;
/* No overlap trick here anymore -- the header photo's own scrim (see
  Template:Infobox/styles.css) now runs its full fade to nearly opaque
  before this block even starts, so there's no sharp edge left for it
  to sit against; it just continues straight into the plain
  .loka-infobox background underneath, already a near-match. */
}


.loka-tournament-details {
.loka-tournament-edit-hover-zone {
padding: .5em;
position:absolute;
top:0;
left:0;
right:0;
height:64px;
z-index:4;
}
}
 
.loka-infobox-header-photo ~ .loka-tournament-edit-hover-zone { height:140px; }
.loka-tournament-col-heading {
.loka-tournament-edit-pencil {
font-size: .7em;
display:none;
font-weight: 700;
position:absolute;
color: #f0cf8e;
top:.5em;
text-transform: uppercase;
right:.5em;
letter-spacing: .04em;
z-index:5;
border-radius:3px;
background:rgba(0,0,0,.3);
}
}


.loka-tournament-details .loka-tournament-col-heading {
.loka-tournament-edit-hover-zone:hover .loka-tournament-edit-pencil,
margin-bottom: .45em;
.loka-tournament-edit-hover-zone:hover .loka-tournament-view-image { display:flex; }
}


.loka-tournament-details-grid {
.loka-tournament-edit-pencil a.external {
display: grid;
display:flex;
grid-template-columns: 1fr 1fr;
align-items:center;
gap: .45em .5em;
padding:.22em .4em;
background:none;
color:#f0ece2;
text-decoration:none;
line-height:1;
opacity:.7;
}
}
.loka-tournament-edit-pencil a.external:hover { opacity:1; }


.loka-tournament-detail-label {
.loka-tournament-edit-pencil a.external::after { display:none; }
display: block;
.loka-tournament-edit-pencil-icon { font-size:.78em; }
font-size: .68em;
opacity: .65;
text-transform: uppercase;
letter-spacing: .03em;
margin-bottom: .1em;
}


.loka-tournament-detail-value {
.loka-tournament-edit-pencil-label {
display: block;
max-width:0;
font-size: .85em;
margin-left:0;
word-break: break-word;
overflow:hidden;
white-space:nowrap;
font-size:.56em;
opacity:0;
transition:max-width .2s ease,margin-left .2s ease,opacity .2s ease;
}
}
.loka-tournament-edit-pencil:hover .loka-tournament-edit-pencil-label { max-width:160px; margin-left:.3em; opacity:1; }


.loka-tournament-runners-tile {
.loka-tournament-view-image {
grid-column: 1 / -1;
display:none;
margin-top: .45em;
position:absolute;
top:2.1em;
right:.5em;
z-index:5;
border-radius:3px;
background:rgba(0,0,0,.3);
}
}
 
.loka-tournament-view-image a {
.loka-podium-row {
display:block;
display: flex;
padding:.22em .4em;
align-items: center;
color:#f0ece2;
gap: .5em;
text-decoration:none;
padding: .4em .5em;
font-size:.56em;
line-height:1;
opacity:.7;
}
}
.loka-tournament-view-image a:hover { opacity:1; }


.loka-podium-row img {
@media (prefers-color-scheme: light) {
image-rendering: pixelated;
.loka-tournament-edit-pencil { background:rgba(255,255,255,.4); }
.loka-tournament-edit-pencil a.external { color:#241f1a; }
.loka-tournament-view-image { background:rgba(255,255,255,.4); }
.loka-tournament-view-image a { color:#241f1a; }
}
}


.loka-podium-label {
.loka-infobox.loka-infobox--wide .loka-infobox-header-photo { height:140px; }
font-size: .7em;
.loka-infobox.loka-infobox--wide .loka-infobox-header-photo img {
font-weight: 700;
object-position:center 26%;
color: #f0cf8e;
-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 42%,rgba(0,0,0,.96) 52%,rgba(0,0,0,.84) 64%,rgba(0,0,0,.62) 76%,rgba(0,0,0,.35) 88%,transparent 100%);
text-transform: uppercase;
mask-image:linear-gradient(to bottom,#000 0%,#000 42%,rgba(0,0,0,.96) 52%,rgba(0,0,0,.84) 64%,rgba(0,0,0,.62) 76%,rgba(0,0,0,.35) 88%,transparent 100%);
letter-spacing: .04em;
}
}
.loka-infobox.loka-infobox--wide .loka-infobox-header-scrim { background:linear-gradient(to bottom,rgba(5,5,5,.75) 0,rgba(5,5,5,.32) 50px,transparent 92px); }


.loka-podium-team,
.loka-tournament-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.loka-podium-single {
.loka-tournament-details { padding:.52em; }
font-weight: 600;
}


.loka-podium-info .loka-hlist {
.loka-tournament-results { padding-top:2.56px; }
font-size: .82em;
.loka-tournament-col-heading,.loka-podium-label,.loka-championship-heading,.loka-chrono-header-title,.loka-chrono-header-side {
font-weight: normal;
color:#f0cf8e;
opacity: .72;
font-size:.7em;
font-weight:700;
letter-spacing:.04em;
text-transform:uppercase;
}
}


.loka-podium-disclaimer {
.loka-tournament-event-results-heading {
font-size: .7em;
color:#f0cf8e;
font-style: italic;
font-size:.7em;
opacity: .6;
font-weight:700;
text-align: center;
letter-spacing:.04em;
padding: .25em .6em .4em;
}
}
.loka-tournament-details .loka-tournament-col-heading { margin-bottom:.42em; }


/* Small centred flourish under the disclaimer -- deliberately full colour
.loka-tournament-inline-icon { display:inline-block; margin-right:.25em; vertical-align:middle; }
  (not muted like the disclaimer text itself) so it reads as a closing
.loka-tournament-inline-icon.loka-tournament-host-shield { margin-right:.4em; }
  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 {
content: "";
display: block;
width: 48px;
height: 1px;
margin: .35em auto 0;
background: #f0cf8e;
}


/* Plain row, not a solid coloured bar, no dividers above or below --
.loka-tournament-host-shield img { vertical-align: -1.72px; }
  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 {
position: relative;
display: grid;
grid-template-columns: 1fr 1fr 1fr;
align-items: center;
padding: .35em 0;
}


.loka-chrono-header-title,
.loka-tournament-mode-icon { display:inline-block; margin-right:.25em; vertical-align:1.5px; }
.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 {
.loka-tournament-event-summary { padding:.36em .42em; background:rgba(255,255,255,.035); border-radius:3px; }
grid-column: 1;
.loka-tournament-event-summary--secondary { margin-top:.35em; }
}
.loka-tournament-event-summary-heading { font-size:.86em; }
.loka-tournament-event-summary-date,.loka-tournament-event-summary-bracket { display:block; margin-top:.12em; font-size:.73em; opacity:.74; }
.loka-tournament-bracket-icon { display:inline-block; }


.loka-chrono-header-side--next {
.loka-tournament-bracket-icon img { vertical-align:-3.5px; }
grid-column: 3;
.loka-tournament-shared-details { display:grid; gap:.38em; margin-top:.45em; }
}
.loka-tournament-detail-label { display:block; margin-bottom:.08em; font-size:.66em; opacity:.64; text-transform:uppercase; letter-spacing:.03em; }
.loka-tournament-detail-value { display:block; font-size:.83em; overflow-wrap:anywhere; }


/* The side label's own column now runs edge-to-edge with the infobox (no
.loka-tournament-event-results--secondary { margin-top:.25em; padding-top:.25em; border-top:1px solid rgba(255,255,255,.07); }
  header padding, see .loka-chrono-header), so an arrow positioned off the
.loka-tournament-event-results-heading { padding:.35em .55em .05em; }
  *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 {
position: relative;
display: inline-block;
}


.loka-chrono-header-side--prev .loka-chrono-header-side-text::before {
.loka-podium-row { display:flex; align-items:center; gap:.45em; padding:.36em .5em; }
content: "\2190";
.loka-podium-row + .loka-podium-row { margin-top:.35em; }
position: absolute;
.loka-podium-info { flex:1; min-width:0; }
right: 100%;
.loka-podium-row img,.loka-championship > img { image-rendering:pixelated; }
margin-right: .35em;
.loka-podium-team { font-size:.9em; font-weight:600; }
}
.loka-podium-single { font-weight:normal; }
.loka-podium-info .loka-hlist { font-size:.8em; font-weight:normal; opacity:.72; }


.loka-chrono-header-side--next .loka-chrono-header-side-text::after {
.loka-championship { display:flex; align-items:center; gap:.45em; box-sizing:border-box; margin:.1em 0 0; max-width:179px; padding:.36em 2.3em .55em .5em; background:rgba(255,255,255,.035); border-radius:3px; }
content: "\2192";
.loka-championship-info { flex:1; min-width:0; }
position: absolute;
.loka-championship-name { display:block; font-size:.82em; font-weight:normal; overflow-wrap:anywhere; }
left: 100%;
.loka-championship-status { display:block; margin-top:.06em; font-size:.61em; opacity:.72; letter-spacing:.03em; text-transform:uppercase; }
margin-left: .35em;
.loka-championship-status--no-show { color:#e5b0a8; text-transform:none; }
}
.loka-championship-previous { display:block; margin-top:.14em; font-size:.61em; opacity:.68; }


/* Pulled out of the grid entirely and centred against the whole header's
.loka-championship-previous-link { white-space:nowrap; }
  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 {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
}


.loka-chrono-grid {
.loka-podium-disclaimer { padding:.65em .6em .4em; font-size:.7em; font-style:italic; font-weight:normal; opacity:.6; text-align:center; }
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}


.loka-chrono-pane {
.loka-chrono-box { padding-top:.45em; }
display: flex;
.loka-chrono-header { position:relative; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding:.48em .3em; background:rgba(255,255,255,.045); }
flex-direction: column;
.loka-chrono-header-side--prev { grid-column:1; }
justify-content: center;
.loka-chrono-header-side--next { grid-column:3; }
padding: .4em .35em;
text-align: center;
font-size: .78em;
}


.loka-chrono-title--current {
.loka-chrono-header-title { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); max-width:45%; text-align:center; line-height:1.25; }
font-weight: 700;
.loka-chrono-header-side { text-align:center; white-space:nowrap; }
}
.loka-chrono-grid { display:grid; grid-template-columns:1fr 1fr 1fr; }


.loka-chrono-year {
.loka-chrono-pane { display:flex; flex-direction:column; justify-content:flex-start; min-height:2.9em; padding:.4em .3em; text-align:center; font-size:.76em; }
font-weight: normal;
.loka-chrono-title--current { font-weight:700; }
opacity: .75;
.loka-chrono-year { margin-top:.12em; font-size:.88em; font-weight:normal; opacity:.72; }
font-size: .9em;
.loka-chrono-tba,.loka-chrono-pane--empty { color:rgba(255,255,255,.42); }
margin-top: .2em;
.loka-chrono-box:last-child { padding-bottom:.5em; }
}


.loka-chrono-tba {
@media (max-width:600px) {
color: rgba(255, 255, 255, .4);
.loka-infobox.loka-infobox--wide { width:100%; max-width:100%; }
.loka-tournament-event-summary { padding:.42em .48em; }
}
}


.loka-chrono-empty {
@media (prefers-color-scheme:light) {
color: rgba(255, 255, 255, .4);
.loka-tournament-col-heading,.loka-tournament-event-results-heading,.loka-podium-label,.loka-championship-heading,.loka-chrono-header-title,.loka-chrono-header-side { color:#9c6b2e; }
font-style: italic;
.loka-tournament-event-summary,.loka-championship { background:rgba(0,0,0,.035); }
}
.loka-chrono-header { background:rgba(0,0,0,.035); }
 
.loka-tournament-event-results--secondary { border-top-color:rgba(0,0,0,.08); }
/* Below this width the box itself has already gone full-width and
.loka-championship-status--no-show { color:#8f3028; }
  unfloated (see Template:Infobox/styles.css), but Details|Results side
.loka-chrono-tba,.loka-chrono-pane--empty { color:rgba(0,0,0,.38); }
  by side would still squeeze each into an unreadably narrow column, so
  they stack instead. */
@media (max-width: 600px) {
.loka-tournament-columns {
grid-template-columns: 1fr;
}
}
 
/* 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) {
.loka-tournament-col-heading,
.loka-podium-label,
.loka-chrono-header-title,
.loka-chrono-header-side {
color: #9c6b2e;
}
 
.loka-chrono-tba,
.loka-chrono-empty {
color: rgba(0, 0, 0, .35);
}
 
.loka-podium-disclaimer::after {
background: #9c6b2e;
}
}
}

Latest revision as of 20:26, 22 August 2026

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

.loka-tournament-edit-hover-zone {
	position:absolute;
	top:0;
	left:0;
	right:0;
	height:64px;
	z-index:4;
}
.loka-infobox-header-photo ~ .loka-tournament-edit-hover-zone { height:140px; }
.loka-tournament-edit-pencil {
	display:none;
	position:absolute;
	top:.5em;
	right:.5em;
	z-index:5;
	border-radius:3px;
	background:rgba(0,0,0,.3);
}

.loka-tournament-edit-hover-zone:hover .loka-tournament-edit-pencil,
.loka-tournament-edit-hover-zone:hover .loka-tournament-view-image { display:flex; }

.loka-tournament-edit-pencil a.external {
	display:flex;
	align-items:center;
	padding:.22em .4em;
	background:none;
	color:#f0ece2;
	text-decoration:none;
	line-height:1;
	opacity:.7;
}
.loka-tournament-edit-pencil a.external:hover { opacity:1; }

.loka-tournament-edit-pencil a.external::after { display:none; }
.loka-tournament-edit-pencil-icon { font-size:.78em; }

.loka-tournament-edit-pencil-label {
	max-width:0;
	margin-left:0;
	overflow:hidden;
	white-space:nowrap;
	font-size:.56em;
	opacity:0;
	transition:max-width .2s ease,margin-left .2s ease,opacity .2s ease;
}
.loka-tournament-edit-pencil:hover .loka-tournament-edit-pencil-label { max-width:160px; margin-left:.3em; opacity:1; }

.loka-tournament-view-image {
	display:none;
	position:absolute;
	top:2.1em;
	right:.5em;
	z-index:5;
	border-radius:3px;
	background:rgba(0,0,0,.3);
}
.loka-tournament-view-image a {
	display:block;
	padding:.22em .4em;
	color:#f0ece2;
	text-decoration:none;
	font-size:.56em;
	line-height:1;
	opacity:.7;
}
.loka-tournament-view-image a:hover { opacity:1; }

@media (prefers-color-scheme: light) {
	.loka-tournament-edit-pencil { background:rgba(255,255,255,.4); }
	.loka-tournament-edit-pencil a.external { color:#241f1a; }
	.loka-tournament-view-image { background:rgba(255,255,255,.4); }
	.loka-tournament-view-image a { color:#241f1a; }
}

.loka-infobox.loka-infobox--wide .loka-infobox-header-photo { height:140px; }
.loka-infobox.loka-infobox--wide .loka-infobox-header-photo img {
	object-position:center 26%;
	-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 42%,rgba(0,0,0,.96) 52%,rgba(0,0,0,.84) 64%,rgba(0,0,0,.62) 76%,rgba(0,0,0,.35) 88%,transparent 100%);
	mask-image:linear-gradient(to bottom,#000 0%,#000 42%,rgba(0,0,0,.96) 52%,rgba(0,0,0,.84) 64%,rgba(0,0,0,.62) 76%,rgba(0,0,0,.35) 88%,transparent 100%);
}
.loka-infobox.loka-infobox--wide .loka-infobox-header-scrim { background:linear-gradient(to bottom,rgba(5,5,5,.75) 0,rgba(5,5,5,.32) 50px,transparent 92px); }

.loka-tournament-columns { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.loka-tournament-details { padding:.52em; }

.loka-tournament-results { padding-top:2.56px; }
.loka-tournament-col-heading,.loka-podium-label,.loka-championship-heading,.loka-chrono-header-title,.loka-chrono-header-side {
	color:#f0cf8e;
	font-size:.7em;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
}

.loka-tournament-event-results-heading {
	color:#f0cf8e;
	font-size:.7em;
	font-weight:700;
	letter-spacing:.04em;
}
.loka-tournament-details .loka-tournament-col-heading { margin-bottom:.42em; }

.loka-tournament-inline-icon { display:inline-block; margin-right:.25em; vertical-align:middle; }
.loka-tournament-inline-icon.loka-tournament-host-shield { margin-right:.4em; }

.loka-tournament-host-shield img { vertical-align: -1.72px; }

.loka-tournament-mode-icon { display:inline-block; margin-right:.25em; vertical-align:1.5px; }

.loka-tournament-event-summary { padding:.36em .42em; background:rgba(255,255,255,.035); border-radius:3px; }
.loka-tournament-event-summary--secondary { margin-top:.35em; }
.loka-tournament-event-summary-heading { font-size:.86em; }
.loka-tournament-event-summary-date,.loka-tournament-event-summary-bracket { display:block; margin-top:.12em; font-size:.73em; opacity:.74; }
.loka-tournament-bracket-icon { display:inline-block; }

.loka-tournament-bracket-icon img { vertical-align:-3.5px; }
.loka-tournament-shared-details { display:grid; gap:.38em; margin-top:.45em; }
.loka-tournament-detail-label { display:block; margin-bottom:.08em; font-size:.66em; opacity:.64; text-transform:uppercase; letter-spacing:.03em; }
.loka-tournament-detail-value { display:block; font-size:.83em; overflow-wrap:anywhere; }

.loka-tournament-event-results--secondary { margin-top:.25em; padding-top:.25em; border-top:1px solid rgba(255,255,255,.07); }
.loka-tournament-event-results-heading { padding:.35em .55em .05em; }

.loka-podium-row { display:flex; align-items:center; gap:.45em; padding:.36em .5em; }
.loka-podium-row + .loka-podium-row { margin-top:.35em; }
.loka-podium-info { flex:1; min-width:0; }
.loka-podium-row img,.loka-championship > img { image-rendering:pixelated; }
.loka-podium-team { font-size:.9em; font-weight:600; }
.loka-podium-single { font-weight:normal; }
.loka-podium-info .loka-hlist { font-size:.8em; font-weight:normal; opacity:.72; }

.loka-championship { display:flex; align-items:center; gap:.45em; box-sizing:border-box; margin:.1em 0 0; max-width:179px; padding:.36em 2.3em .55em .5em; background:rgba(255,255,255,.035); border-radius:3px; }
.loka-championship-info { flex:1; min-width:0; }
.loka-championship-name { display:block; font-size:.82em; font-weight:normal; overflow-wrap:anywhere; }
.loka-championship-status { display:block; margin-top:.06em; font-size:.61em; opacity:.72; letter-spacing:.03em; text-transform:uppercase; }
.loka-championship-status--no-show { color:#e5b0a8; text-transform:none; }
.loka-championship-previous { display:block; margin-top:.14em; font-size:.61em; opacity:.68; }

.loka-championship-previous-link { white-space:nowrap; }

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

.loka-chrono-box { padding-top:.45em; }
.loka-chrono-header { position:relative; display:grid; grid-template-columns:1fr 1fr 1fr; align-items:center; padding:.48em .3em; background:rgba(255,255,255,.045); }
.loka-chrono-header-side--prev { grid-column:1; }
.loka-chrono-header-side--next { grid-column:3; }

.loka-chrono-header-title { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); max-width:45%; text-align:center; line-height:1.25; }
.loka-chrono-header-side { text-align:center; white-space:nowrap; }
.loka-chrono-grid { display:grid; grid-template-columns:1fr 1fr 1fr; }

.loka-chrono-pane { display:flex; flex-direction:column; justify-content:flex-start; min-height:2.9em; padding:.4em .3em; text-align:center; font-size:.76em; }
.loka-chrono-title--current { font-weight:700; }
.loka-chrono-year { margin-top:.12em; font-size:.88em; font-weight:normal; opacity:.72; }
.loka-chrono-tba,.loka-chrono-pane--empty { color:rgba(255,255,255,.42); }
.loka-chrono-box:last-child { padding-bottom:.5em; }

@media (max-width:600px) {
	
	.loka-infobox.loka-infobox--wide { width:100%; max-width:100%; }
	.loka-tournament-event-summary { padding:.42em .48em; }
}

@media (prefers-color-scheme:light) {
	.loka-tournament-col-heading,.loka-tournament-event-results-heading,.loka-podium-label,.loka-championship-heading,.loka-chrono-header-title,.loka-chrono-header-side { color:#9c6b2e; }
	.loka-tournament-event-summary,.loka-championship { background:rgba(0,0,0,.035); }
	.loka-chrono-header { background:rgba(0,0,0,.035); }
	.loka-tournament-event-results--secondary { border-top-color:rgba(0,0,0,.08); }
	.loka-championship-status--no-show { color:#8f3028; }
	.loka-chrono-tba,.loka-chrono-pane--empty { color:rgba(0,0,0,.38); }
}