*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; } :root { --color-bg: #f5f5f5; --color-surface: #ffffff; --color-primary: #2d6a4f; --color-primary-light: #52b788; --color-text: #1a1a1a; --color-muted: #6b7280; --color-border: #e5e7eb; --color-danger: #dc2626; --radius: 8px; --nav-height: 60px; } html, body { height: 100%; font-family: system-ui, -apple-system, sans-serif; font-size: 16px; background: var(--color-bg); color: var(--color-text); } #app { height: 100%; display: flex; flex-direction: column; max-width: 480px; margin: 0 auto; background: var(--color-bg); } .page { flex: 1; overflow-y: auto; padding: 16px; padding-bottom: calc(var(--nav-height) + 16px); } .page-title { font-size: 1.25rem; font-weight: 700; margin-bottom: 16px; } button { font-size: 1rem; cursor: pointer; border: none; border-radius: var(--radius); min-height: 44px; padding: 0 16px; } input[type="text"], input[type="number"] { font-size: 1rem; border: 1px solid var(--color-border); border-radius: var(--radius); padding: 10px 12px; min-height: 44px; width: 100%; background: var(--color-surface); color: var(--color-text); } input:focus { outline: 2px solid var(--color-primary); outline-offset: 1px; }