diff --git a/public/gate.html b/public/gate.html index 638fbc9..8bf3449 100644 --- a/public/gate.html +++ b/public/gate.html @@ -40,10 +40,17 @@ min-height: 100vh; display: flex; align-items: center; + /* "safe center": zentriert normal, springt aber auf Start-Ausrichtung um, sobald der Inhalt + höher als der sichtbare Bereich ist — verhindert, dass bei kleineren Fenstern/Handys der + obere Teil (Badge/Überschrift) abgeschnitten wird, ohne dass man hochscrollen könnte (genau + das war der gemeldete Bug: 04.08.2026, zweite Runde). Browser ohne "safe center"-Unterstützung + nutzen einfach die Zeile darüber weiter — kein Fallback-Bruch. */ + align-items: safe center; justify-content: center; - padding: 1.5rem; + padding: 2.5rem 1.5rem; position: relative; - overflow: hidden; + overflow-x: hidden; + overflow-y: auto; background: var(--c-black); background-image: radial-gradient(60% 50% at 15% 10%, color-mix(in srgb, var(--c-purple-glow) 22%, transparent), transparent 70%), radial-gradient(50% 45% at 85% 90%, color-mix(in srgb, var(--c-accent) 16%, transparent), transparent 70%); @@ -55,9 +62,13 @@ dreht das schwarze Logo auf weißem Grund um (weiß -> schwarz, schwarz -> weiß), danach macht mix-blend-mode:screen den (jetzt schwarzen) ehemals-weißen Kreis komplett unsichtbar und lässt nur die (jetzt weißen) Linien leicht aufleuchten — kein Bildbearbeitungsprogramm nötig, - rein CSS. Langsame Drehung sorgt für einen dezenten "lebendigen" Glanz-Effekt. */ + rein CSS. Langsame Drehung sorgt für einen dezenten "lebendigen" Glanz-Effekt. + position:fixed (04.08.2026 geändert, war vorher absolute): bleibt IMMER exakt in der Mitte + des sichtbaren Fensters, unabhängig davon, wie hoch der Inhalt gerade ist bzw. ob gescrollt + wird — vorher konnte das Logo bei einem hohen Inhalt (z.B. schmales Handy-Fenster) neben der + Bildschirmmitte statt in ihr landen, weil "top:50%" sich auf die GESAMTE Seitenhöhe bezog. */ .gate-logo-bg { - position: absolute; + position: fixed; top: 50%; left: 50%; width: min(1400px, 200vw); @@ -91,7 +102,39 @@ width: 100%; text-align: center; } - .gate-header { margin-bottom: 1.6rem; } + /* Kopf-Kiste (04.08.2026, auf ausdrücklichen Wunsch "auch in speziellen Kisten"): dieselbe + "besondere" Formsprache wie die beiden Personen-Fenster darunter (wandernder Verlaufsrand + + Glanz-Sweep) — nur mit allen drei Markenfarben zugleich im Rand, statt der Einzelfarbe je + Person, damit sie sich sichtbar als "Dach" über beiden Fenstern liest. */ + .gate-header { + position: relative; + overflow: hidden; + margin-bottom: 1.3rem; + padding: 1.7rem 2rem; + border-radius: var(--radius-l); + border: 1.5px solid transparent; + background: + linear-gradient(165deg, var(--c-anthracite-light), var(--c-anthracite)) padding-box, + linear-gradient(120deg, var(--c-accent), var(--c-purple-glow), var(--c-gold), var(--c-accent)) border-box; + background-size: 100% 100%, 300% 100%; + animation: gate-border-shift 9s ease-in-out infinite; + box-shadow: 0 20px 50px -20px rgba(0, 0, 0, 0.7); + } + .gate-header::after { + content: ""; + position: absolute; + top: 0; + left: -60%; + width: 35%; + height: 100%; + background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.12), transparent); + transform: skewX(-18deg); + animation: gate-shine 6s ease-in-out infinite; + pointer-events: none; + border-radius: inherit; + } + .gate-header > * { position: relative; z-index: 1; } + @media (prefers-reduced-motion: reduce) { .gate-header, .gate-header::after { animation: none; } } .gate-eyebrow { display: inline-block; font-size: 0.78rem;