chore: vollständiger Workspace-Snapshot 03.07.2026

- publish_gatekeeper.py (neues Gatekeeper-System)
- 4 Premium-Artikel: Veggie Match, Berlin 1960, Wild Tiled West, Scream Park
- Alle kumulierten Artikel, Scripts, Medien und Caches
This commit is contained in:
Hermes Agent
2026-07-03 11:35:39 +02:00
parent 0bc68ecd25
commit b3b6b702d1
354 changed files with 180125 additions and 9391 deletions
-59
View File
@@ -7,66 +7,7 @@
<meta name="description" content="BGG-Rating-Check: Dune Imperium, Carnegie &amp; Lacrimosa — die bestbewerteten Brettspiel-Deals bei Spiele-Offensive und Milan-Spiele. Mit BGG-Durchschnittsrating, Rang, Rabatt und Kauf-Link.">
<meta name="keywords" content="Brettspiel-Deals, BGG-Rating, Dune Imperium, Carnegie, Lacrimosa, Spiele-Offensive, Milan-Spiele, Brettspiel-Angebote, Rabatt, BoardGameGeek">
<title>BGG-Rating-Check: Die bestbewerteten Brettspiel-Deals bei Spiele-Offensive und Milan-Spiele</title>
<style>
body { background: #fff; color: #3B3B3C; font-family: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; line-height: 1.7; margin: 0; padding: 0; }
article { max-width: 760px; margin: 2rem auto; padding: 0 1.5rem; }
h1 { font-size: 1.8rem; line-height: 1.3; margin-bottom: 0.5rem; color: #171D4F; font-family: Arial, Helvetica, sans-serif; font-weight: 600; }
h2 { font-size: 1.35rem; margin: 2.5rem 0 1rem; color: #171D4F; font-family: Arial, Helvetica, sans-serif; font-weight: 600; }
h3 { font-size: 1.1rem; margin: 1.5rem 0 0.5rem; color: #20228A; }
p { margin: 0 0 1rem; }
a { color: #20228A; text-decoration: none; }
a:hover { color: #0075FF; text-decoration: underline; }
a:visited { color: #171D4F; }
blockquote { border-left: 3px solid #20228A; margin: 1.2rem 0; padding: 0.5rem 1rem; background: #f5f5fa; font-style: italic; }
strong { font-weight: 600; }
.meta { font-size: 0.85rem; color: #999; margin-bottom: 1.5rem; }
.infobox { background: #f5f5fa; border: 1px solid #dcdce8; padding: 0.8rem 1.2rem; margin: 0.8rem 0; font-size: 0.88rem; border-radius: 4px; }
.infobox p { margin: 0.2rem 0; }
table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 1.5rem 0; font-size: 0.88rem; border: 1px solid #dcdce8; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 4px rgba(0,0,0,0.04); }
th { background: linear-gradient(180deg, #20228A 0%, #171D4F 100%); color: #f0f0f5; padding: 10px 12px; text-align: left; font-weight: 600; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; }
th:first-child { padding-left: 16px; }
td { padding: 10px 12px; border-bottom: 1px solid #e8e8f0; vertical-align: middle; }
td:first-child { padding-left: 16px; }
tr:last-child td { border-bottom: none; }
tr:nth-child(even) td { background: #fafafd; }
tr:hover td { background: #f0f0fa; transition: background 0.15s ease; }
td.num { text-align: right; font-variant-numeric: tabular-nums; }
td.price { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; color: #e63946; }
td.rating { text-align: center; font-weight: 600; }
td.rank { text-align: right; }
td.buy { text-align: center; }
.buy-link { display: inline-block; background: #20228A; color: #fff !important; padding: 4px 12px; border-radius: 4px; text-decoration: none; font-size: 0.8rem; font-weight: 600; white-space: nowrap; }
.buy-link:hover { background: #0075FF; color: #fff !important; }
.deal-highlight { background: #f0eefa !important; }
.deal-highlight:hover { background: #e6e2f5 !important; }
.shop-so { color: #e63946; font-weight: 600; }
.shop-milan { color: #20228A; font-weight: 600; }
.bgg-top10 { background: #fff9e6 !important; }
.bgg-top10:hover { background: #fff3cc !important; }
/* ── Table scroll wrapper ── */
.table-wrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 1.5rem 0; }
.table-wrap table { margin: 0; }
@media (max-width: 768px) {
article { padding: 0 0.5rem; }
h1 { font-size: 1.3rem; }
h2 { font-size: 1.1rem; }
.infobox { font-size: 0.82rem; padding: 0.6rem 0.8rem; }
}
@media (max-width: 480px) {
article { padding: 0 0.3rem; }
table { font-size: 0.68rem; }
th { font-size: 0.6rem; padding: 6px 4px; letter-spacing: 0; white-space: normal; }
td { padding: 6px 4px; }
.buy-link { padding: 2px 6px; font-size: 0.65rem; }
.rank { font-size: 0.65rem; }
/* Hide BGG rank column on tiny screens */
th:nth-child(5), td:nth-child(5) { display: none; }
/* Hide # column too (rank redundant) */
th:nth-child(1), td:nth-child(1) { display: none; }
}
</style>
</head>
<body>