feat: politki.de — KI & Politik landing, linked to tante.cc

Minimal onepager:
- Hero "politKI." (KI accented)
- Subtitle "KI & Politik."
- Single claim + CTA to tante.cc (Jürgen Geuter, KI-Kritik)
- Serif (EB Garamond) for gravitas, amber accent on near-black
- Distinct from freaki-Magenta vibe — this is the critique side
This commit is contained in:
mAi
2026-05-22 14:00:29 +02:00
parent 754926050e
commit 9ba5fd1a23
3 changed files with 116 additions and 0 deletions

View File

@@ -279,6 +279,11 @@
root * /srv/patentonkel.de root * /srv/patentonkel.de
file_server file_server
} }
@politki_de host politki.de
handle @politki_de {
root * /srv/politki.de
file_server
}
@schulfrai_de host schulfrai.de @schulfrai_de host schulfrai.de
handle @schulfrai_de { handle @schulfrai_de {
root * /srv/schulfrai.de root * /srv/schulfrai.de

107
sites/politki.de/index.html Normal file
View File

@@ -0,0 +1,107 @@
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>politKI. — KI &amp; Politik.</title>
<meta name="description" content="KI ist nicht neutral. Eine Seite, die zur Kritik verlinkt.">
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>⚖️</text></svg>">
<style>
@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,600;1,400&family=Inter:wght@400;500;600&display=swap');
*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
:root {
--bg: #0a0a0c; --text: #ece6dc; --text-dim: #a8a094; --text-muted: #6f685e;
--accent: #c89545; --accent-glow: rgba(200, 149, 69, 0.18);
--border: rgba(200, 149, 69, 0.20);
}
body {
font-family: 'EB Garamond', Georgia, serif;
background: var(--bg); color: var(--text);
min-height: 100vh; display: flex; align-items: center; justify-content: center;
-webkit-font-smoothing: antialiased;
background-image:
radial-gradient(ellipse at 50% 0%, rgba(200, 149, 69, 0.08) 0%, transparent 60%);
}
body::before {
content: ''; position: fixed; inset: 0;
background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.035'/%3E%3C/svg%3E");
pointer-events: none; z-index: 9999;
}
.container { text-align: center; padding: 4rem 2rem; max-width: 640px; position: relative; z-index: 1; }
.icon { font-size: 3rem; margin-bottom: 28px; filter: drop-shadow(0 0 18px var(--accent-glow)); }
h1 {
font-size: clamp(2.6rem, 7vw, 4.2rem); font-weight: 600;
letter-spacing: -0.02em; line-height: 1.05; margin-bottom: 18px;
}
h1 .accent { color: var(--accent); }
.divider {
width: 48px; height: 1px; background: var(--accent);
margin: 0 auto 28px; opacity: 0.55;
}
.subtitle {
font-size: 1.35rem; color: var(--text-dim); font-weight: 400;
line-height: 1.5; font-style: italic; margin-bottom: 40px;
}
.claim {
font-family: 'Inter', -apple-system, sans-serif;
font-size: 1.05rem; color: var(--text); font-weight: 400;
line-height: 1.65; max-width: 520px; margin: 0 auto 36px;
}
.claim strong { color: var(--accent); font-weight: 600; }
.cta-row { margin-top: 8px; }
.cta-btn {
display: inline-block;
padding: 14px 30px;
font-family: 'Inter', -apple-system, sans-serif;
font-size: 0.92rem; font-weight: 500;
letter-spacing: 0.05em;
color: var(--bg);
background: var(--accent);
border-radius: 4px;
text-decoration: none;
box-shadow: 0 0 28px var(--accent-glow);
transition: transform 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}
.cta-btn:hover { transform: translateY(-1px); box-shadow: 0 0 40px rgba(200, 149, 69, 0.32); background: #d4a050; }
.cta-hint {
margin-top: 12px;
font-family: 'Inter', -apple-system, sans-serif;
font-size: 0.78rem; color: var(--text-muted); letter-spacing: 0.04em;
}
.footer {
margin-top: 80px;
font-family: 'Inter', -apple-system, sans-serif;
font-size: 0.72rem; color: var(--text-muted); letter-spacing: 0.06em;
}
@keyframes fadeIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: translateY(0); } }
.container > * { animation: fadeIn 0.8s ease forwards; opacity: 0; }
.container > *:nth-child(1) { animation-delay: 0.05s; }
.container > *:nth-child(2) { animation-delay: 0.25s; }
.container > *:nth-child(3) { animation-delay: 0.40s; }
.container > *:nth-child(4) { animation-delay: 0.55s; }
.container > *:nth-child(5) { animation-delay: 0.70s; }
.container > *:nth-child(6) { animation-delay: 0.85s; }
.container > *:nth-child(7) { animation-delay: 1.00s; }
</style>
</head>
<body>
<div class="container">
<div class="icon">⚖️</div>
<h1>polit<span class="accent">KI</span>.</h1>
<div class="divider"></div>
<p class="subtitle">KI &amp; Politik.</p>
<p class="claim">KI ist nicht neutral. Wer eine Sprache für die Kritik sucht — Modelle, Macht, Plattformen, Arbeit, Demokratie —, fängt hier an:</p>
<div class="cta-row">
<a class="cta-btn" href="https://tante.cc" target="_blank" rel="noopener">tante.cc lesen</a>
<p class="cta-hint">Jürgen Geuter · KI-Kritik in voller Länge</p>
</div>
<footer>
<p class="footer">politki.de</p>
</footer>
</div>
</body>
</html>

View File

@@ -0,0 +1,4 @@
domain: politki.de
template: custom
title: "politKI. — KI & Politik."
description: "KI ist nicht neutral. Eine Seite, die zur Kritik verlinkt."