109 lines
2.7 KiB
Python
109 lines
2.7 KiB
Python
|
|
"""
|
||
|
|
Shared CSS for all OBS Browser Source HTML exports (matchup storyline,
|
||
|
|
the 8 ranking pages, rookie leaderboard). Fully responsive using
|
||
|
|
vw/vh/vmin units so the layout scales correctly regardless of what
|
||
|
|
resolution the OBS Browser Source is actually set to — no fixed pixel
|
||
|
|
width/height anywhere. vmin is used for anything text-sized so it scales
|
||
|
|
safely with whichever dimension (width or height) is the constraint,
|
||
|
|
avoiding overflow on unusual aspect ratios.
|
||
|
|
"""
|
||
|
|
|
||
|
|
SHARED_CSS = """
|
||
|
|
* { box-sizing: border-box; }
|
||
|
|
html, body {
|
||
|
|
margin: 0;
|
||
|
|
padding: 0;
|
||
|
|
width: 100vw;
|
||
|
|
height: 100vh;
|
||
|
|
background: rgba(8, 8, 12, 0.96);
|
||
|
|
color: #ffffff;
|
||
|
|
font-family: 'Segoe UI', Arial, sans-serif;
|
||
|
|
overflow: hidden;
|
||
|
|
}
|
||
|
|
.page {
|
||
|
|
width: 100%;
|
||
|
|
height: 100%;
|
||
|
|
padding: 3vh 3vw;
|
||
|
|
display: flex;
|
||
|
|
flex-direction: column;
|
||
|
|
}
|
||
|
|
h1.page-title {
|
||
|
|
text-align: center;
|
||
|
|
text-transform: uppercase;
|
||
|
|
letter-spacing: 0.4vw;
|
||
|
|
font-size: 3.6vmin;
|
||
|
|
margin: 0 0 0.5vh 0;
|
||
|
|
flex-shrink: 0;
|
||
|
|
}
|
||
|
|
.page-subtitle {
|
||
|
|
text-align: center;
|
||
|
|
color: #999999;
|
||
|
|
font-size: 1.7vmin;
|
||
|
|
margin-bottom: 2.5vh;
|
||
|
|
flex-shrink: 0;
|
||
|
|
}
|
||
|
|
.tier-badge {
|
||
|
|
font-size: 1.4vmin;
|
||
|
|
color: #bbbbbb;
|
||
|
|
border: 0.1vmin solid #555;
|
||
|
|
border-radius: 2vh;
|
||
|
|
padding: 0.4vh 1.2vw;
|
||
|
|
}
|
||
|
|
.comparison {
|
||
|
|
display: flex;
|
||
|
|
flex-direction: row;
|
||
|
|
gap: 1.6vw;
|
||
|
|
flex: 1;
|
||
|
|
min-height: 0;
|
||
|
|
}
|
||
|
|
.team-card {
|
||
|
|
flex: 1 1 0;
|
||
|
|
min-width: 0;
|
||
|
|
background: rgba(255, 255, 255, 0.03);
|
||
|
|
border: 0.25vmin solid #444;
|
||
|
|
border-radius: 1.4vmin;
|
||
|
|
padding: 2vh 1.6vw;
|
||
|
|
overflow: auto;
|
||
|
|
}
|
||
|
|
.team-card-header {
|
||
|
|
display: flex;
|
||
|
|
align-items: baseline;
|
||
|
|
justify-content: space-between;
|
||
|
|
margin-bottom: 0.4vh;
|
||
|
|
}
|
||
|
|
.team-name {
|
||
|
|
font-size: 2.6vmin;
|
||
|
|
font-weight: bold;
|
||
|
|
text-transform: uppercase;
|
||
|
|
letter-spacing: 0.15vw;
|
||
|
|
}
|
||
|
|
.section-label {
|
||
|
|
font-size: 1.4vmin;
|
||
|
|
text-transform: uppercase;
|
||
|
|
letter-spacing: 0.05vw;
|
||
|
|
color: #888888;
|
||
|
|
margin-top: 1.6vh;
|
||
|
|
margin-bottom: 0.6vh;
|
||
|
|
border-bottom: 0.1vmin solid #333;
|
||
|
|
padding-bottom: 0.4vh;
|
||
|
|
}
|
||
|
|
.stat-bar-track {
|
||
|
|
flex: 1;
|
||
|
|
height: 1.3vh;
|
||
|
|
background: #2a2a2e;
|
||
|
|
border-radius: 0.7vh;
|
||
|
|
overflow: hidden;
|
||
|
|
}
|
||
|
|
.stat-bar-fill {
|
||
|
|
height: 100%;
|
||
|
|
border-radius: 0.7vh;
|
||
|
|
}
|
||
|
|
.footer-note {
|
||
|
|
margin-top: 1.6vh;
|
||
|
|
font-size: 1.3vmin;
|
||
|
|
color: #777777;
|
||
|
|
text-align: center;
|
||
|
|
flex-shrink: 0;
|
||
|
|
}
|
||
|
|
"""
|