, sobald sie
+ da ist; hier steht er, damit calc() auch ohne sie aufgeht. */
+ --honeybar-h: 0px;
}
+/* Die Leiste liegt fest am oberen Rand und schiebt den Seiteninhalt herunter.
+ Wer mit der vollen Fensterhöhe rechnet, muss sie abziehen — sonst ist die
+ Seite genau um die Leistenhöhe zu hoch und bekommt eine Bildlaufleiste.
+ Wer fest am oberen Rand klebt, muss unter ihr anfangen — sonst verdeckt sie
+ ihn (am Handy fällt das sofort auf, dort ist jede Zeile kostbar). */
+.aether-vh { height: calc(100vh - var(--honeybar-h)); }
+.aether-minvh { min-height: calc(100vh - var(--honeybar-h)); }
+.aether-full { position: fixed; inset: var(--honeybar-h) 0 0 0; }
+
@media (display-mode: standalone) {
:root {
--safe-top: env(safe-area-inset-top, 0px);
diff --git a/frontend/src/pages/LoginPage.tsx b/frontend/src/pages/LoginPage.tsx
index 4ee846d..4c7e1f2 100644
--- a/frontend/src/pages/LoginPage.tsx
+++ b/frontend/src/pages/LoginPage.tsx
@@ -34,7 +34,7 @@ export default function LoginPage({ onLogin }: Props) {
}
return (
-
+
{/* Logo / branding */}
diff --git a/frontend/src/pages/SharePage.tsx b/frontend/src/pages/SharePage.tsx
index 971e1bd..a191583 100644
--- a/frontend/src/pages/SharePage.tsx
+++ b/frontend/src/pages/SharePage.tsx
@@ -59,7 +59,7 @@ export default function SharePage({ token }: Props) {
return (