feat: add Frank Schwenk billard season 2025/2026 onepager

Saisonanalyse mit BVBW-Statistiken, Disziplin- und Liga-Auswertung für Issue #6.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
cursor
2026-07-05 16:02:17 +00:00
parent 25fadb3d73
commit 13accd0d26
@@ -0,0 +1,533 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="Saisonanalyse Frank Schwenk — Billard BVBW 2025/2026">
<title>Frank Schwenk — Saison 2025/2026</title>
<style>
:root {
--bg: #0a120e;
--surface: #122018;
--surface2: #1a2e22;
--border: #2a4434;
--text: #e8f0ea;
--muted: #8fa898;
--felt: #1a6b42;
--felt-light: #2d9a5e;
--gold: #d4a843;
--win: #4ade80;
--loss: #f87171;
--draw: #94a3b8;
--max: 52rem;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
background: var(--bg);
color: var(--text);
line-height: 1.6;
font-size: 1.02rem;
}
.hero {
padding: 2.75rem 1.5rem 2rem;
text-align: center;
background:
radial-gradient(ellipse 80% 60% at 50% -10%, rgba(26, 107, 66, 0.35), transparent),
radial-gradient(ellipse 40% 30% at 90% 90%, rgba(212, 168, 67, 0.08), transparent),
var(--bg);
border-bottom: 1px solid var(--border);
}
.hero .badge {
display: inline-block;
font-size: 0.75rem;
text-transform: uppercase;
letter-spacing: 0.12em;
color: var(--gold);
border: 1px solid rgba(212, 168, 67, 0.35);
border-radius: 999px;
padding: 0.25rem 0.85rem;
margin-bottom: 1rem;
}
.hero h1 {
font-size: clamp(1.8rem, 5vw, 2.6rem);
font-weight: 800;
letter-spacing: -0.02em;
margin-bottom: 0.35rem;
}
.hero .sub {
color: var(--muted);
font-size: 1.05rem;
}
.hero .club {
margin-top: 0.75rem;
color: var(--felt-light);
font-weight: 600;
}
main {
max-width: var(--max);
margin: 0 auto;
padding: 2rem 1.5rem 3rem;
}
h2 {
font-size: 0.8rem;
text-transform: uppercase;
letter-spacing: 0.1em;
color: var(--felt-light);
margin-bottom: 0.85rem;
}
section { margin-bottom: 2.5rem; }
.kpi-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
gap: 0.75rem;
}
.kpi {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 0.75rem;
padding: 1rem;
text-align: center;
}
.kpi .val {
font-size: 1.85rem;
font-weight: 800;
line-height: 1.1;
}
.kpi .lbl {
font-size: 0.78rem;
color: var(--muted);
text-transform: uppercase;
letter-spacing: 0.06em;
margin-top: 0.3rem;
}
.kpi.win .val { color: var(--win); }
.kpi.loss .val { color: var(--loss); }
.kpi.quote .val { color: var(--gold); }
.bar-row {
display: grid;
grid-template-columns: 5.5rem 1fr 3.5rem;
align-items: center;
gap: 0.65rem;
margin-bottom: 0.55rem;
font-size: 0.92rem;
}
.bar-track {
height: 0.55rem;
background: var(--surface2);
border-radius: 999px;
overflow: hidden;
}
.bar-fill {
height: 100%;
border-radius: 999px;
background: linear-gradient(90deg, var(--felt), var(--felt-light));
}
.bar-pct {
text-align: right;
color: var(--muted);
font-size: 0.85rem;
font-variant-numeric: tabular-nums;
}
.two-col {
display: grid;
gap: 1.25rem;
}
@media (min-width: 640px) {
.two-col { grid-template-columns: 1fr 1fr; }
}
.card {
background: var(--surface);
border: 1px solid var(--border);
border-radius: 0.75rem;
padding: 1.15rem 1.25rem;
}
.month-bar {
display: flex;
align-items: center;
gap: 0.5rem;
margin-bottom: 0.4rem;
font-size: 0.82rem;
}
.month-bar .label {
width: 4.5rem;
color: var(--muted);
flex-shrink: 0;
}
.month-bar .blocks {
display: flex;
gap: 2px;
flex-wrap: wrap;
}
.month-bar .b {
width: 10px;
height: 10px;
border-radius: 2px;
}
.month-bar .b.w { background: var(--win); }
.month-bar .b.l { background: var(--loss); }
.month-bar .cnt {
margin-left: auto;
color: var(--muted);
font-variant-numeric: tabular-nums;
}
table {
width: 100%;
border-collapse: collapse;
font-size: 0.9rem;
}
th, td {
padding: 0.5rem 0.6rem;
text-align: left;
border-bottom: 1px solid var(--border);
}
th {
color: var(--muted);
font-size: 0.72rem;
text-transform: uppercase;
letter-spacing: 0.06em;
font-weight: 600;
}
tr:last-child td { border-bottom: none; }
.tag {
display: inline-block;
font-size: 0.72rem;
padding: 0.1rem 0.45rem;
border-radius: 0.3rem;
background: var(--surface2);
color: var(--muted);
}
.result-w { color: var(--win); font-weight: 700; }
.result-l { color: var(--loss); }
.insight {
background: linear-gradient(135deg, rgba(26, 107, 66, 0.15), rgba(212, 168, 67, 0.06));
border: 1px solid var(--border);
border-left: 3px solid var(--gold);
border-radius: 0.65rem;
padding: 1.1rem 1.25rem;
}
.insight p { margin-bottom: 0.65rem; }
.insight p:last-child { margin-bottom: 0; }
.liga-table td:nth-child(n+3),
.liga-table th:nth-child(n+3) { text-align: center; }
.liga-table tr.highlight td {
background: rgba(26, 107, 66, 0.18);
font-weight: 600;
}
.liga-table tr.highlight-sibling td {
background: rgba(45, 154, 94, 0.1);
}
footer {
max-width: var(--max);
margin: 0 auto;
padding: 1.5rem;
border-top: 1px solid var(--border);
color: var(--muted);
font-size: 0.82rem;
text-align: center;
}
footer a { color: var(--felt-light); }
</style>
</head>
<body>
<header class="hero">
<div class="badge">Saison 2025/2026 · abgeschlossen</div>
<h1>Frank Schwenk</h1>
<p class="sub">Pass-Nr. 242796 · DBU-Nr. 242796</p>
<p class="club">BSC Göppingen 1 · Pool Kombi-Mannschaft · Landesliga Ost</p>
</header>
<main>
<section>
<h2>Saison auf einen Blick</h2>
<div class="kpi-grid">
<div class="kpi">
<div class="val">38</div>
<div class="lbl">Begegnungen</div>
</div>
<div class="kpi win">
<div class="val">12</div>
<div class="lbl">Siege</div>
</div>
<div class="kpi loss">
<div class="val">26</div>
<div class="lbl">Niederlagen</div>
</div>
<div class="kpi quote">
<div class="val">31,6%</div>
<div class="lbl">Siegquote</div>
</div>
<div class="kpi">
<div class="val">28</div>
<div class="lbl">Gegner</div>
</div>
<div class="kpi">
<div class="val">4</div>
<div class="lbl">Disziplinen</div>
</div>
</div>
</section>
<section>
<h2>Nach Disziplin</h2>
<div class="card">
<div class="bar-row">
<span>8-Ball</span>
<div class="bar-track"><div class="bar-fill" style="width:42.1%"></div></div>
<span class="bar-pct">811 · 42%</span>
</div>
<div class="bar-row">
<span>14/1 endl.</span>
<div class="bar-track"><div class="bar-fill" style="width:25%"></div></div>
<span class="bar-pct">13 · 25%</span>
</div>
<div class="bar-row">
<span>10-Ball</span>
<div class="bar-track"><div class="bar-fill" style="width:23.1%"></div></div>
<span class="bar-pct">310 · 23%</span>
</div>
<div class="bar-row">
<span>9-Ball</span>
<div class="bar-track"><div class="bar-fill" style="width:0%"></div></div>
<span class="bar-pct">02 · 0%</span>
</div>
<p style="margin-top:0.85rem;color:var(--muted);font-size:0.88rem">
Stärkste Disziplin: <strong style="color:var(--text)">8-Ball</strong> mit 19 Partien und der besten Quote.
9-Ball blieb ohne Sieg (2 Partien).
</p>
</div>
</section>
<section>
<div class="two-col">
<div>
<h2>Nach Wettbewerb</h2>
<div class="card">
<table>
<thead>
<tr><th>Wettbewerb</th><th>Bilanz</th><th>Quote</th></tr>
</thead>
<tbody>
<tr>
<td>Kreismeisterschaft</td>
<td>44</td>
<td class="result-w">50%</td>
</tr>
<tr>
<td>Bezirksmeisterschaft</td>
<td>24</td>
<td>33%</td>
</tr>
<tr>
<td>Landesliga Ost</td>
<td>618</td>
<td class="result-l">25%</td>
</tr>
</tbody>
</table>
<p style="margin-top:0.75rem;color:var(--muted);font-size:0.85rem">
In Einzelturnieren deutlich erfolgreicher als in der Liga — besonders die Kreismeisterschaft 8-Ball im Oktober 2025 (3 Siege an einem Tag).
</p>
</div>
</div>
<div>
<h2>Monatsverlauf</h2>
<div class="card">
<div class="month-bar">
<span class="label">Sep 25</span>
<div class="blocks"><span class="b l"></span><span class="b l"></span></div>
<span class="cnt">02</span>
</div>
<div class="month-bar">
<span class="label">Okt 25</span>
<div class="blocks">
<span class="b w"></span><span class="b w"></span><span class="b w"></span>
<span class="b w"></span><span class="b w"></span><span class="b w"></span>
<span class="b l"></span><span class="b l"></span><span class="b l"></span>
<span class="b l"></span><span class="b l"></span>
</div>
<span class="cnt">65</span>
</div>
<div class="month-bar">
<span class="label">Nov 25</span>
<div class="blocks"><span class="b w"></span><span class="b l"></span><span class="b l"></span></div>
<span class="cnt">12</span>
</div>
<div class="month-bar">
<span class="label">Jan 26</span>
<div class="blocks"><span class="b l"></span><span class="b l"></span><span class="b l"></span><span class="b l"></span></div>
<span class="cnt">04</span>
</div>
<div class="month-bar">
<span class="label">Feb 26</span>
<div class="blocks">
<span class="b w"></span><span class="b w"></span><span class="b w"></span><span class="b w"></span>
<span class="b l"></span><span class="b l"></span><span class="b l"></span><span class="b l"></span>
</div>
<span class="cnt">44</span>
</div>
<div class="month-bar">
<span class="label">MärMai</span>
<div class="blocks">
<span class="b l"></span><span class="b l"></span><span class="b l"></span><span class="b l"></span>
<span class="b l"></span><span class="b l"></span><span class="b l"></span><span class="b l"></span>
</div>
<span class="cnt">08</span>
</div>
<div class="month-bar">
<span class="label">Jun 26</span>
<div class="blocks"><span class="b w"></span><span class="b l"></span></div>
<span class="cnt">11</span>
</div>
</div>
</div>
</div>
</section>
<section>
<h2>Mannschaft · Landesliga Ost</h2>
<div class="card">
<table class="liga-table">
<thead>
<tr><th>Pl.</th><th>Mannschaft</th><th>Sp</th><th>S</th><th>U</th><th>N</th><th>Pkt</th><th>Partien</th></tr>
</thead>
<tbody>
<tr><td>1</td><td>BV Markdorf 1</td><td>12</td><td>10</td><td>0</td><td>2</td><td>20</td><td>67:29</td></tr>
<tr class="highlight-sibling"><td>2</td><td>BSC Göppingen 2</td><td>12</td><td>9</td><td>1</td><td>2</td><td>19</td><td>56:40</td></tr>
<tr><td>3</td><td>BC Blaustein 1</td><td>12</td><td>7</td><td>2</td><td>3</td><td>16</td><td>51:45</td></tr>
<tr><td>4</td><td>BC Bad Schussenried 2</td><td>12</td><td>3</td><td>4</td><td>5</td><td>10</td><td>49:47</td></tr>
<tr class="highlight"><td>5</td><td>BSC Göppingen 1</td><td>12</td><td>3</td><td>2</td><td>7</td><td>8</td><td>41:55</td></tr>
<tr><td>6</td><td>PBC Ochsenhausen 1</td><td>12</td><td>2</td><td>2</td><td>8</td><td>6</td><td>38:58</td></tr>
<tr><td>7</td><td>BC Weingarten 1</td><td>12</td><td>2</td><td>1</td><td>9</td><td>5</td><td>34:62</td></tr>
</tbody>
</table>
<p style="margin-top:0.85rem;color:var(--muted);font-size:0.88rem">
Göppingen 1 landete auf Platz 5 — Göppingen 2 wurde Vizemeister. Mannschaftsbilanz: 41:55 Partien (14).
</p>
</div>
</section>
<section>
<div class="two-col">
<div>
<h2>Alle 12 Siege</h2>
<div class="card" style="padding:0;overflow:hidden">
<table>
<thead>
<tr><th>Datum</th><th>Disz.</th><th>Ergebnis</th><th>Gegner</th></tr>
</thead>
<tbody>
<tr><td>05.10.25</td><td><span class="tag">8-Ball</span></td><td class="result-w">6:2</td><td>Lothar Enzenhöfer</td></tr>
<tr><td>12.10.25</td><td><span class="tag">8-Ball</span></td><td class="result-w">6:4</td><td>Harald Reutter</td></tr>
<tr><td>19.10.25</td><td><span class="tag">8-Ball</span></td><td class="result-w">4:0</td><td>Sebastian Müller</td></tr>
<tr><td>19.10.25</td><td><span class="tag">8-Ball</span></td><td class="result-w">4:1</td><td>Dietmar Karoli</td></tr>
<tr><td>19.10.25</td><td><span class="tag">8-Ball</span></td><td class="result-w">4:0</td><td>Thorsten Kappus</td></tr>
<tr><td>26.10.25</td><td><span class="tag">8-Ball</span></td><td class="result-w">6:3</td><td>Patrick Bolduan</td></tr>
<tr><td>23.11.25</td><td><span class="tag">10-Ball</span></td><td class="result-w">4:3</td><td>Dietmar Helfrich</td></tr>
<tr><td>01.02.26</td><td><span class="tag">14/1e</span></td><td class="result-w">80:71</td><td>Eugen Spähn</td></tr>
<tr><td>08.02.26</td><td><span class="tag">8-Ball</span></td><td class="result-w">6:4</td><td>Rainer Hermann</td></tr>
<tr><td>15.02.26</td><td><span class="tag">10-Ball</span></td><td class="result-w">5:0</td><td>Philip Kammnick</td></tr>
<tr><td>15.02.26</td><td><span class="tag">10-Ball</span></td><td class="result-w">5:3</td><td>M. Grigore-Martini</td></tr>
<tr><td>07.06.26</td><td><span class="tag">8-Ball</span></td><td class="result-w">6:1</td><td>Boris Golic</td></tr>
</tbody>
</table>
</div>
</div>
<div>
<h2>Head-to-Head (2+ Partien)</h2>
<div class="card" style="padding:0;overflow:hidden">
<table>
<thead>
<tr><th>Gegner</th><th>Bilanz</th><th>Quote</th></tr>
</thead>
<tbody>
<tr><td>Rainer Hermann</td><td>12</td><td>33%</td></tr>
<tr><td>Boris Golic</td><td>11</td><td class="result-w">50%</td></tr>
<tr><td>Eugen Spähn</td><td>11</td><td class="result-w">50%</td></tr>
<tr><td>Harald Reutter</td><td>11</td><td class="result-w">50%</td></tr>
<tr><td>Lothar Enzenhöfer</td><td>11</td><td class="result-w">50%</td></tr>
<tr><td>Thomas Rehmann</td><td>02</td><td class="result-l">0%</td></tr>
<tr><td>Marc Wegenast</td><td>02</td><td class="result-l">0%</td></tr>
<tr><td>Frank Gebert</td><td>02</td><td class="result-l">0%</td></tr>
</tbody>
</table>
</div>
<p style="margin-top:0.65rem;color:var(--muted);font-size:0.85rem">
Knapp verloren u.a. gegen Marc Wegenast (5:6), Dieter Seitz (5:6) und Simon Schaal (6:7).
</p>
</div>
</div>
</section>
<section>
<h2>Fazit</h2>
<div class="insight">
<p>
Die Saison 2025/2026 war geprägt von einem starken <strong>Oktober</strong> (6 Siege, darunter ein perfekter Kreismeisterschafts-Tag im 8-Ball)
und einem zweiten Hoch im <strong>Februar</strong> mit Bezirksmeisterschafts-Erfolgen — inklusive eines klaren 5:0 gegen Philip Kammnick.
</p>
<p>
In der Liga blieb die Bilanz mit 6:18 herausfordernd; die Mannschaft Göppingen 1 sicherte sich Platz 5,
während Göppingen 2 als Vizemeister glänzte. Persönlich liefert der <strong>8-Ball</strong> die stabilste Quote.
</p>
<p>
Saisonabschluss am 07.06.2026: ein überzeugender 6:1-Sieg gegen Boris Golic — ein gutes Ausrufezeichen
für die neue Saison 2026/2027.
</p>
</div>
</section>
</main>
<footer>
Datenquelle:
<a href="https://billard-bvbw.de/suche.php?p=999--schwenk--242796-2025/2026-1">BVBW Spielerprofil</a>
· Stand: 05.07.2026 · Erstellt von @cursor ·
<a href="https://gitea.schwenk.online/froxxxy/playground/issues/6">Gitea Issue #6</a>
</footer>
</body>
</html>