/* ═══ esszehNET v2 · base.css — Reset und Grundtypografie ═══ */
*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}   /* iOS blaeht Text sonst eigenmaechtig auf */
/* Gemessen (iPhone 16 Pro, PWA): der Webview ist 812pt hoch, der Schirm 874. Eigene
   Scroll-Container oder feste Hoehen (inset:0, 100vh) liefern deshalb IMMER einen toten
   Streifen. Deshalb scrollt wieder das Dokument selbst — nur der Kopf steht fest. */
html{background:var(--head);-webkit-text-size-adjust:100%}   /* Statusleisten-Bereich = Kopf-Ton */
/* Seitwaerts wird NIE gescrollt: ein zu breites Element darf die ganze Seite nicht verschieben.
   (Haeufigste Ursache: width:100% auf einem Element, das schon seitliche Margen traegt.) */
html,body{overflow-x:hidden;max-width:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--f);font-size:var(--fs-body);
  line-height:1.4;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0}
button,input,select,textarea{font:inherit;color:inherit}
button{background:none;border:0;padding:0;cursor:pointer}
a{color:var(--hl-text);text-decoration:none}
a:hover{color:var(--ink)}
img,svg{display:block;max-width:100%}
[hidden]{display:none !important}
:focus-visible{outline:2px solid var(--hl);outline-offset:2px}
::selection{background:var(--hl);color:var(--hl-ink)}

/* Kein grauer Kasten beim Antippen (iOS-Vorgabe) — Rueckmeldung geben die Elemente selbst */
*{-webkit-tap-highlight-color:transparent}
button,a,[role="button"]{-webkit-touch-callout:none}

/* Die App ist Bedienflaeche, kein Dokument: Text laesst sich nicht markieren —
   ausser in Eingabefeldern. */
body{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
input,textarea,[contenteditable]{-webkit-user-select:text;user-select:text}
