* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  background: var(--bg);
  color: var(--text);
  font-family: 'Segoe UI', system-ui, sans-serif;
  display: flex;
  /* iOS Safari fix: 100dvh = dynamic viewport, prawidłowe gdy ukrywa się browser bar.
     100vh fallback dla starszych. */
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  /* iOS notch: safe area insets żeby content nie ucieka pod kamerę/home indicator */
  padding-top: env(safe-area-inset-top);
  padding-bottom: env(safe-area-inset-bottom);
  padding-left: env(safe-area-inset-left);
  padding-right: env(safe-area-inset-right);
}

.app { display: flex; width: 100%; height: 100%; }
main { flex: 1; overflow-y: auto; padding: 24px; }
