:root { --bg: #f6f7f9; --card: #ffffff; --line: #e2e6eb; --text: #1c2430; --muted: #5b6572; } * { box-sizing: border-box; } body { margin: 0; font-family: system-ui, sans-serif; background: var(--bg); color: var(--text); } header { position: sticky; top: 0; background: var(--card); border-bottom: 1px solid var(--line); padding: 1rem 1.5rem; display: flex; align-items: center; gap: 1.5rem; } header h1 { font-size: 1.25rem; margin: 0; } #search { flex: 1; max-width: 24rem; padding: 0.5rem 0.75rem; border: 1px solid #cdd3db; border-radius: 0.5rem; font-size: 1rem; } #people { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; padding: 1.5rem; max-width: 72rem; margin: 0 auto; } .card { background: var(--card); border: 1px solid var(--line); border-radius: 0.75rem; padding: 1rem; display: flex; gap: 0.75rem; } .avatar { width: 3rem; height: 3rem; border-radius: 50%; color: white; display: flex; align-items: center; justify-content: center; font-weight: 600; flex-shrink: 0; } .name { font-weight: 600; } .pronunciation { color: var(--muted); font-style: italic; font-size: 0.875rem; } .detail { color: var(--muted); font-size: 0.875rem; margin-top: 0.25rem; } .empty { color: var(--muted); padding: 3rem; text-align: center; grid-column: 1 / -1; }