13accd0d26
Saisonanalyse mit BVBW-Statistiken, Disziplin- und Liga-Auswertung für Issue #6. Co-authored-by: Cursor <cursoragent@cursor.com>
534 lines
18 KiB
HTML
534 lines
18 KiB
HTML
<!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">8–11 · 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">1–3 · 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">3–10 · 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">0–2 · 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>4–4</td>
|
||
<td class="result-w">50%</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Bezirksmeisterschaft</td>
|
||
<td>2–4</td>
|
||
<td>33%</td>
|
||
</tr>
|
||
<tr>
|
||
<td>Landesliga Ost</td>
|
||
<td>6–18</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">0–2</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">6–5</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">1–2</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">0–4</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">4–4</span>
|
||
</div>
|
||
<div class="month-bar">
|
||
<span class="label">Mär–Mai</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">0–8</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">1–1</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>1–2</td><td>33%</td></tr>
|
||
<tr><td>Boris Golic</td><td>1–1</td><td class="result-w">50%</td></tr>
|
||
<tr><td>Eugen Spähn</td><td>1–1</td><td class="result-w">50%</td></tr>
|
||
<tr><td>Harald Reutter</td><td>1–1</td><td class="result-w">50%</td></tr>
|
||
<tr><td>Lothar Enzenhöfer</td><td>1–1</td><td class="result-w">50%</td></tr>
|
||
<tr><td>Thomas Rehmann</td><td>0–2</td><td class="result-l">0%</td></tr>
|
||
<tr><td>Marc Wegenast</td><td>0–2</td><td class="result-l">0%</td></tr>
|
||
<tr><td>Frank Gebert</td><td>0–2</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>
|