.layout { height: var(--app-height); overflow: hidden; background-color: var(--color-background); color: var(--color-text); display: flex; flex-direction: column; } .content { flex: 1; max-width: 1100px; margin: 0 auto; padding: var(--space-md); padding-bottom: calc(var(--space-md) + var(--safe-area-bottom)); width: 100%; display: flex; flex-direction: column; overflow: hidden; min-height: 0; } .screen { width: 100%; height: 100%; display: flex; flex-direction: column; overflow: hidden; min-height: 0; animation: screenFadeIn var(--transition-slow) ease-out; } @keyframes screenFadeIn { from { opacity: 0; } to { opacity: 1; } } @media (prefers-reduced-motion: reduce) { .screen { animation: none; } } @media (min-width: 768px) { .content { padding: var(--space-lg) var(--space-xl); padding-bottom: calc(var(--space-lg) + var(--safe-area-bottom)); } } @media (max-width: 767px) { .content { padding: var(--space-sm) var(--space-md); padding-bottom: calc(var(--space-sm) + var(--safe-area-bottom)); } }