DL-Broadcast-Tool/analysis/html_style.py

108 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;
}
"""