/* App landing and legal pages share the portfolio typography and navigation. */
.app-content { max-width: 800px; margin: 0 auto; padding: 32px 0; overflow-wrap: anywhere; }
.app-content h1 { font-size: 2rem; }
.app-content h2 { font-size: 1.25rem; margin-top: 28px; }
.app-content p, .app-content li, .app-content dd { line-height: 1.7; }
.app-content ul { list-style: disc; padding-left: 24px; margin-bottom: 16px; }
.app-content a { text-decoration: underline; text-underline-offset: 3px; }
.app-content a:hover { color: #7ec9ab; }
.app-content .updated, .app-content .tagline { color: #666; }
.app-content .footer, .app-nav { margin-top: 32px; padding-top: 16px; border-top: 1px solid #ddd; }
.app-content .btn { display: inline-block; padding: 12px 20px; background: #1d1d1f; color: #fff; border-radius: 8px; margin: 12px 0; }
.app-content form { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.app-content label { font-weight: 500; }
.app-content input, .app-content textarea { width: 100%; padding: 10px 12px; border: 1px solid #aaa; border-radius: 8px; font: inherit; background: #fafafa; }
.app-content input:focus, .app-content textarea:focus { outline: 2px solid #35735d; outline-offset: 2px; }
.app-content textarea { min-height: 140px; resize: vertical; }
.app-content button { padding: 12px; border: 0; border-radius: 8px; background: #1d1d1f; color: #fff; font: inherit; cursor: pointer; }
